1 module java.lang.Float;
2 
3 import java.lang.util;
4 import java.lang.exceptions;
5 import java.lang.Number;
6 import java.lang.Class;
7 import java.lang.String;
8 
9 version(Tango){
10     static import tango.text.convert.Float;
11 } else { // Phobos
12     static import std.conv;
13 }
14 
15 class Float : Number {
16 
17     public static float POSITIVE_INFINITY = float.infinity;
18     public static float NEGATIVE_INFINITY = -float.infinity;
19     public static float NaN = float.nan;
20     public static float MAX_VALUE = 3.4028235e+38f;
21     public static float MIN_VALUE = float.min_normal; //1.4e-45f
22     public static int SIZE = 32;
23     private float value = 0;
24 
25     this( float value ){
26         super();
27         this.value = value;
28     }
29     this( String str ){
30         super();
31         this.value = parseFloat(str);
32     }
33     public static String toString( float value ){
34         return String_valueOf(value);
35     }
36     public static float parseFloat( String s ){
37         version(Tango){
38             try{
39                 return tango.text.convert.Float.toFloat( s );
40             }
41             catch( IllegalArgumentException e ){
42                 throw new NumberFormatException( e );
43             }
44         } else { // Phobos
45             try{
46                 return std.conv.to!(float)(s);
47             }
48             catch( std.conv.ConvException e ){
49                 throw new NumberFormatException( e );
50             }
51         }
52     }
53 
54     private static Class TYPE_;
55     public static Class TYPE(){
56         if( TYPE_ is null ){
57             TYPE_ = Class.fromType!(float);
58         }
59         return TYPE_;
60     }
61 
62     override
63     public byte byteValue(){
64         return cast(byte)value;
65     }
66 
67     override
68     public short shortValue(){
69         return cast(short)value;
70     }
71 
72     override
73     public int intValue(){
74         return cast(int)value;
75     }
76 
77     override
78     public long longValue(){
79         return cast(long)value;
80     }
81 
82     override
83     public float floatValue(){
84         return cast(float)value;
85     }
86 
87     override
88     public double doubleValue(){
89         return cast(double)value;
90     }
91 }
92 
93