1.1 --- a/emul/src/main/java/java/lang/Float.java Tue Oct 23 16:50:27 2012 +0200
1.2 +++ b/emul/src/main/java/java/lang/Float.java Sun Nov 18 10:00:23 2012 +0100
1.3 @@ -819,6 +819,18 @@
1.4 * @return the {@code float} floating-point value with the same bit
1.5 * pattern.
1.6 */
1.7 + @JavaScriptBody(args = "bits",
1.8 + body =
1.9 + "if (bits === 0x7f800000) return Number.POSITIVE_INFINITY;\n"
1.10 + + "if (bits === 0xff800000) return Number.NEGATIVE_INFINITY;\n"
1.11 + + "if (bits >= 0x7f800001 && bits <= 0xffffffff) return Number.NaN;\n"
1.12 + + "var s = ((bits >> 31) == 0) ? 1 : -1;\n"
1.13 + + "var e = ((bits >> 23) & 0xff);\n"
1.14 + + "var m = (e == 0) ?\n"
1.15 + + " (bits & 0x7fffff) << 1 :\n"
1.16 + + " (bits & 0x7fffff) | 0x800000;\n"
1.17 + + "return s * m * Math.pow(2.0, e - 150);\n"
1.18 + )
1.19 public static native float intBitsToFloat(int bits);
1.20
1.21 /**