diff -r 05224402145d -r cc3871bdd83c emul/mini/src/main/java/java/lang/Float.java --- a/emul/mini/src/main/java/java/lang/Float.java Wed Jan 23 20:39:23 2013 +0100 +++ b/emul/mini/src/main/java/java/lang/Float.java Tue Feb 19 15:33:32 2013 +0100 @@ -819,11 +819,15 @@ */ @JavaScriptBody(args = "bits", body = - "if (bits === 0x7f800000) return Number.POSITIVE_INFINITY;\n" - + "if (bits === 0xff800000) return Number.NEGATIVE_INFINITY;\n" - + "if (bits >= 0x7f800001 && bits <= 0xffffffff) return Number.NaN;\n" - + "var s = ((bits >> 31) == 0) ? 1 : -1;\n" + "var s = ((bits >> 31) == 0) ? 1 : -1;\n" + "var e = ((bits >> 23) & 0xff);\n" + + "if (e === 0xff) {\n" + + " if ((bits & 0x7fffff) === 0) {\n" + + " return (s > 0) ? Number.POSITIVE_INFINITY" + + " : Number.NEGATIVE_INFINITY;\n" + + " }\n" + + " return Number.NaN;\n" + + "}\n" + "var m = (e == 0) ?\n" + " (bits & 0x7fffff) << 1 :\n" + " (bits & 0x7fffff) | 0x800000;\n"