Skip to content

Commit 3e012f1

Browse files
committed
fixup! Fix static evaluation of caml_int64_float_of_bits
1 parent 928c9f0 commit 3e012f1

File tree

2 files changed

+2
-3
lines changed

2 files changed

+2
-3
lines changed

compiler/tests-jsoo/test_nan.ml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,5 @@ let is_none t = Int64.equal (Int64.bits_of_float t) (Int64.bits_of_float none)
1111

1212
let () =
1313
assert (is_none none);
14-
let l =
15-
[ nan; -.nan; 1.; -7.; infinity; neg_infinity; 0.; none; Float.signaling_nan ]
16-
in
14+
let l = [ nan; -.nan; 1.; -7.; infinity; neg_infinity; 0.; none ] in
1715
List.iter (fun f -> assert (not (is_none (some f)))) l

runtime/js/ieee_754.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ function caml_int64_float_of_bits(x) {
108108
var lo = x.lo;
109109
var mi = x.mi;
110110
var hi = x.hi;
111+
if ((hi & 0x7ff8) === 0x7ff0) hi |= 8;
111112
jsoo_dataview.setUint32(0, lo | (mi << 24), true);
112113
jsoo_dataview.setUint32(4, (mi >>> 8) | (hi << 16), true);
113114
return jsoo_dataview.getFloat64(0, true);

0 commit comments

Comments
 (0)