diff options
| author | Marc Tiehuis <marc@tiehu.is> | 2022-05-03 17:14:01 +1200 |
|---|---|---|
| committer | Marc Tiehuis <marc@tiehu.is> | 2022-05-03 17:14:01 +1200 |
| commit | 5fbda2c579f584c770eadc0e236ed0933be739a8 (patch) | |
| tree | edc80d3ee04c316063c9627a448007b210f58046 /test/behavior/math.zig | |
| parent | bbfe2234c87ee67012e0117248ba2c4f3781a1c5 (diff) | |
| download | zig-5fbda2c579f584c770eadc0e236ed0933be739a8.tar.gz zig-5fbda2c579f584c770eadc0e236ed0933be739a8.zip | |
temporary fix for stage2/stage1 f128 rounding discrepency
This is only to get tests running again. The root issue should be fixed
in stage1 so rounding is consistent between stages.
Diffstat (limited to 'test/behavior/math.zig')
| -rw-r--r-- | test/behavior/math.zig | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/test/behavior/math.zig b/test/behavior/math.zig index 0479015eee..3997f2db04 100644 --- a/test/behavior/math.zig +++ b/test/behavior/math.zig @@ -778,8 +778,14 @@ test "quad hex float literal parsing accurate" { try expect(@bitCast(u128, f) == 0x40042eab345678439abcdefea5678234); } { - var f: f128 = 0x1.edcb34a235253948765432134674fp-1; - try expect(@bitCast(u128, f) == 0x3ffeedcb34a235253948765432134674); + // TODO: modify stage1/parse_f128.c to use round-to-even + if (builtin.zig_backend == .stage1) { + var f: f128 = 0x1.edcb34a235253948765432134674fp-1; + try expect(@bitCast(u128, f) == 0x3ffeedcb34a235253948765432134674); // round-down + } else { + var f: f128 = 0x1.edcb34a235253948765432134674fp-1; + try expect(@bitCast(u128, f) == 0x3ffeedcb34a235253948765432134675); // round-to-even + } } { var f: f128 = 0x1.353e45674d89abacc3a2ebf3ff4ffp-50; |
