File tree Expand file tree Collapse file tree 2 files changed +14
-4
lines changed
Expand file tree Collapse file tree 2 files changed +14
-4
lines changed Original file line number Diff line number Diff line change @@ -21,6 +21,19 @@ assert e == 2.718281828459045d
2121let fromNumber = fromNumber
2222assert fromNumber(5) == 5.0d
2323assert fromNumber(0) == 0.0d
24+ assert fromNumber(0.5) == 0.5d
25+ assert fromNumber(1/2) == 0.5d
26+ assert fromNumber(-1/2) == -0.5d
27+ // Not exact because of ieee754 rounding error
28+ assert fromNumber(18_446_744_073_709_551_615) == 18_446_744_073_709_552_000.0d
29+ assert fromNumber(18_446_744_073_709_551_616) == 18_446_744_073_709_552_000.0d
30+ assert fromNumber(18_446_744_073_709_551_616) == 18_446_744_073_709_551_616.0d
31+ assert fromNumber(-18_446_744_073_709_551_615) == -18446744073709552000.0d
32+ assert fromNumber(-18_446_744_073_709_551_616) == -18446744073709552000.0d
33+ assert fromNumber(-18_446_744_073_709_551_616) == -18_446_744_073_709_551_616.0d
34+ // overflow
35+ assert fromNumber(1.7976931348623157e+309) == Infinityd
36+ assert fromNumber(-1.7976931348623157e+309) == -Infinityd
2437
2538assert toNumber(555.0d) == 555
2639assert toNumber(0.0d) == 0
Original file line number Diff line number Diff line change @@ -521,11 +521,8 @@ provide let toFloat64 = (num: WasmI32) => {
521521 let mut result = 0.0W
522522 use WasmI32.{ (+) }
523523 for (let mut i = 0n; WasmI32.ltU(i, numLimbs); i += 1n) {
524- if (!WasmI32.eqz(i)) {
525- result *= factor
526- }
527524 use WasmF64.{ (+) }
528- result += WasmF64.convertI64U(getLimb(num, i))
525+ result += WasmF64.convertI64U(getLimb(num, i)) * factor
529526 }
530527 result
531528 }
You can’t perform that action at this time.
0 commit comments