KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > micronova > util > codec > CodecNumber


1 /*
2
3 Copyright 2003-2007 MicroNova (R)
4 All rights reserved.
5
6 Redistribution and use in source and binary forms, with or
7 without modification, are permitted provided that the following
8 conditions are met:
9
10     * Redistributions of source code must retain the above copyright
11     notice, this list of conditions and the following disclaimer.
12
13     * Redistributions in binary form must reproduce the above copyright
14     notice, this list of conditions and the following disclaimer in the
15     documentation and/or other materials provided with the distribution.
16
17     * Neither the name of MicroNova nor the names of its contributors
18     may be used to endorse or promote products derived from this
19     software without specific prior written permission.
20
21 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
25 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 POSSIBILITY OF SUCH DAMAGE.
32
33 */

34
35
36 package com.micronova.util.codec;
37
38 import com.micronova.util.*;
39
40 /** numeric conversions */
41
42 public class CodecNumber extends Codec
43 {
44     public static Object JavaDoc toBinaryString(Object JavaDoc object, Object JavaDoc filler)
45     {
46         if (object != null)
47         {
48             Long JavaDoc longNumber = TypeUtil.isLong(object);
49
50             if (longNumber != null)
51             {
52                 object = NumberUtil.toBinaryString(longNumber.longValue(), (String JavaDoc)filler);
53             }
54             else
55             {
56                 object = null;
57             }
58         }
59
60         return object;
61     }
62
63     public static Object JavaDoc toBinaryString(Object JavaDoc object)
64     {
65         return toBinaryString(object, null);
66     }
67
68     public static Object JavaDoc toHexString(Object JavaDoc object, Object JavaDoc filler)
69     {
70         if (object != null)
71         {
72             Long JavaDoc longNumber = TypeUtil.isLong(object);
73
74             if (longNumber != null)
75             {
76                 object = NumberUtil.toHexString(longNumber.longValue(), (String JavaDoc)filler);
77             }
78             else
79             {
80                 object = null;
81             }
82         }
83
84         return object;
85     }
86
87     public static Object JavaDoc toHexString(Object JavaDoc object)
88     {
89         return toHexString(object, null);
90     }
91
92     public static Object JavaDoc toOctalString(Object JavaDoc object, Object JavaDoc filler)
93     {
94         if (object != null)
95         {
96             Long JavaDoc longNumber = TypeUtil.isLong(object);
97
98             if (longNumber != null)
99             {
100                 object = NumberUtil.toOctalString(longNumber.longValue(), (String JavaDoc)filler);
101             }
102             else
103             {
104                 object = null;
105             }
106         }
107
108         return object;
109     }
110
111     public static Object JavaDoc toOctalString(Object JavaDoc object)
112     {
113         return toOctalString(object, null);
114     }
115
116     public static Object JavaDoc fromBinaryString(Object JavaDoc object)
117     {
118         if (object != null)
119         {
120             object = new Long JavaDoc(NumberUtil.fromBinaryString(object.toString()));
121         }
122
123         return object;
124     }
125
126     public static Object JavaDoc fromHexString(Object JavaDoc object)
127     {
128         if (object != null)
129         {
130             object = new Long JavaDoc(NumberUtil.fromHexString(object.toString()));
131         }
132
133         return object;
134     }
135
136     public static Object JavaDoc fromOctalString(Object JavaDoc object)
137     {
138         if (object != null)
139         {
140             object = new Long JavaDoc(NumberUtil.fromOctalString(object.toString()));
141         }
142
143         return object;
144     }
145
146     private static Object JavaDoc asDouble(double d)
147     {
148         return new Double JavaDoc(d);
149     }
150
151     private static Object JavaDoc asLong(double d)
152     {
153         return new Long JavaDoc((long)d);
154     }
155
156     public static Object JavaDoc e()
157     {
158         return asDouble(Math.E);
159     }
160
161     public static Object JavaDoc pi()
162     {
163         return asDouble(Math.PI);
164     }
165
166     public static Object JavaDoc abs(Object JavaDoc object)
167     {
168         Double JavaDoc d = TypeUtil.isDouble(object);
169         
170         if (d != null)
171         {
172             return asDouble(Math.abs(d.doubleValue()));
173         }
174         
175         return null;
176     }
177
178
179     public static Object JavaDoc max(Object JavaDoc object1, Object JavaDoc object2 )
180     {
181         Double JavaDoc d1 = TypeUtil.isDouble(object1);
182         Double JavaDoc d2 = TypeUtil.isDouble(object2);
183         
184         if ((d1 != null) && (d2 != null))
185         {
186             return asDouble(Math.max(d1.doubleValue(), d2.doubleValue()));
187         }
188         
189         return null;
190     }
191
192     public static Object JavaDoc min(Object JavaDoc object1, Object JavaDoc object2 )
193     {
194         Double JavaDoc d1 = TypeUtil.isDouble(object1);
195         Double JavaDoc d2 = TypeUtil.isDouble(object2);
196         
197         if ((d1 != null) && (d2 != null))
198         {
199             return asDouble(Math.min(d1.doubleValue(), d2.doubleValue()));
200         }
201         
202         return null;
203     }
204
205     public static Object JavaDoc ceil(Object JavaDoc object)
206     {
207         Double JavaDoc d = TypeUtil.isDouble(object);
208
209         if (d != null)
210         {
211             return asLong(Math.ceil(d.doubleValue()));
212         }
213         
214         return null;
215     }
216
217     public static Object JavaDoc floor(Object JavaDoc object)
218     {
219         Double JavaDoc d = TypeUtil.isDouble(object);
220
221         if (d != null)
222         {
223             return asLong(Math.floor(d.doubleValue()));
224         }
225         
226         return null;
227     }
228
229     public static Object JavaDoc round(Object JavaDoc object)
230     {
231         Double JavaDoc d = TypeUtil.isDouble(object);
232
233         if (d != null)
234         {
235             return asLong(Math.round(d.doubleValue()));
236         }
237         
238         return null;
239     }
240
241     public static Object JavaDoc exp(Object JavaDoc object)
242     {
243         Double JavaDoc d = TypeUtil.isDouble(object);
244
245         if (d != null)
246         {
247             return asDouble(Math.exp(d.doubleValue()));
248         }
249         
250         return null;
251     }
252
253     public static Object JavaDoc log(Object JavaDoc object)
254     {
255         Double JavaDoc d = TypeUtil.isDouble(object);
256
257         if (d != null)
258         {
259             return asDouble(Math.log(d.doubleValue()));
260         }
261         
262         return null;
263     }
264
265     public static Object JavaDoc sqrt(Object JavaDoc object)
266     {
267         Double JavaDoc d = TypeUtil.isDouble(object);
268
269         if (d != null)
270         {
271             return asDouble(Math.sqrt(d.doubleValue()));
272         }
273         
274         return null;
275     }
276
277     public static Object JavaDoc pow(Object JavaDoc object1, Object JavaDoc object2 )
278     {
279         Double JavaDoc d1 = TypeUtil.isDouble(object1);
280         Double JavaDoc d2 = TypeUtil.isDouble(object2);
281         
282         if ((d1 != null) && (d2 != null))
283         {
284             return asDouble(Math.pow(d1.doubleValue(), d2.doubleValue()));
285         }
286         
287         return null;
288     }
289
290     public static Object JavaDoc sin(Object JavaDoc object)
291     {
292         Double JavaDoc d = TypeUtil.isDouble(object);
293
294         if (d != null)
295         {
296             return asDouble(Math.sin(d.doubleValue()));
297         }
298         
299         return null;
300     }
301
302     public static Object JavaDoc cos(Object JavaDoc object)
303     {
304         Double JavaDoc d = TypeUtil.isDouble(object);
305
306         if (d != null)
307         {
308             return asDouble(Math.cos(d.doubleValue()));
309         }
310         
311         return null;
312     }
313
314     public static Object JavaDoc tan(Object JavaDoc object)
315     {
316         Double JavaDoc d = TypeUtil.isDouble(object);
317
318         if (d != null)
319         {
320             return asDouble(Math.tan(d.doubleValue()));
321         }
322         
323         return null;
324     }
325
326
327     public static Object JavaDoc asin(Object JavaDoc object)
328     {
329         Double JavaDoc d = TypeUtil.isDouble(object);
330
331         if (d != null)
332         {
333             return asDouble(Math.asin(d.doubleValue()));
334         }
335         
336         return null;
337     }
338
339     public static Object JavaDoc acos(Object JavaDoc object)
340     {
341         Double JavaDoc d = TypeUtil.isDouble(object);
342         
343         if (d != null)
344         {
345             return asDouble(Math.acos(d.doubleValue()));
346         }
347         
348         return null;
349     }
350
351     public static Object JavaDoc atan(Object JavaDoc object)
352     {
353         Double JavaDoc d = TypeUtil.isDouble(object);
354
355         if (d != null)
356         {
357             return asDouble(Math.atan(d.doubleValue()));
358         }
359
360         return null;
361     }
362
363     public static Object JavaDoc toDegrees(Object JavaDoc object)
364     {
365         Double JavaDoc d = TypeUtil.isDouble(object);
366
367         if (d != null)
368         {
369             return asDouble(Math.toDegrees(d.doubleValue()));
370         }
371         
372         return null;
373     }
374
375     public static Object JavaDoc toRadians(Object JavaDoc object)
376     {
377         Double JavaDoc d = TypeUtil.isDouble(object);
378
379         if (d != null)
380         {
381             return asDouble(Math.toRadians(d.doubleValue()));
382         }
383         
384         return null;
385     }
386 }
387
388
Popular Tags