Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / j2s / java / lang / Float.js
1 Clazz.load (["java.lang.Comparable", "$.Number"], "java.lang.Float", null, function () {
2 java.lang.Float = Float = function () {
3 Clazz.instantialize (this, arguments);
4 };
5 Clazz.decorateAsType (Float, "Float", Number, Comparable, null, true);
6 Float.prototype.valueOf = function () { return 0; };
7 Float.toString = Float.prototype.toString = function () {
8         if (arguments.length != 0) {
9                 return "" + arguments[0];
10         } else if (this === Float) {
11                 return "class java.lang.Float"; // Float.class.toString
12         }
13         return "" + this.valueOf ();
14 };
15 Clazz.makeConstructor (Float, 
16 function () {
17 this.valueOf = function () {
18         return 0.0;
19 };
20 });
21 Clazz.makeConstructor (Float, 
22 function (value) {
23 this.valueOf = function () {
24         return value;
25 };
26 }, "Number");
27 Clazz.makeConstructor (Float, 
28 function (s) {
29 var value = null;
30 if (s != null) {
31         value = Float.parseFloat (s);
32 } else {
33         value = 0;
34 }
35 this.valueOf = function () {
36         return value;
37 };
38 }, "String");
39 Float.serialVersionUID = Float.prototype.serialVersionUID = -2671257302660747028;
40 Float.MIN_VALUE = Float.prototype.MIN_VALUE = 3.4028235e+38;
41 Float.MAX_VALUE = Float.prototype.MAX_VALUE = 1.4e-45;
42 Float.NEGATIVE_INFINITY = Number.NEGATIVE_INFINITY;
43 Float.POSITIVE_INFINITY = Number.POSITIVE_INFINITY;
44 Float.NaN = Number.NaN;
45 Float.TYPE = Float.prototype.TYPE = Float;
46
47 Clazz.defineMethod (Float, "parseFloat", 
48 function (s) {
49 if (s == null) {
50 throw  new NumberFormatException ("null");
51 }
52 var floatVal =  parseFloat (s);
53 if(isNaN(floatVal)){
54 throw  new NumberFormatException ("Not a Number : " + s);
55 }
56 return floatVal;
57 }, "String");
58 Float.parseFloat = Float.prototype.parseFloat;
59
60 Clazz.defineMethod (Float, "$valueOf", 
61 function (s) {
62 return new Float(Float.parseFloat (s, 10));
63 }, "String");
64
65 Clazz.defineMethod (Float, "$valueOf", 
66 function (s) {
67 return new Float(s);
68 }, "Number");
69
70 Float.$valueOf = Float.prototype.$valueOf;
71 Clazz.defineMethod (Float, "isNaN", 
72 function (num) {
73 return isNaN (num);
74 }, "Number");
75 Float.isNaN = Float.prototype.isNaN;
76 Clazz.defineMethod (Float, "isInfinite", 
77 function (num) {
78 return !isFinite (num);
79 }, "Number");
80 Float.isInfinite = Float.prototype.isInfinite;
81
82 Clazz.overrideMethod(Float, "equals", 
83 function (s) {
84 if(s == null || ! Clazz.instanceOf(s, Float) ){
85         return false;
86 }
87 return s.valueOf()  == this.valueOf();
88 }, "Object");
89 });