| ... | ... | @@ -778,8 +778,14 @@ test "quad hex float literal parsing accurate" { |
| 778 | 778 | try expect(@bitCast(u128, f) == 0x40042eab345678439abcdefea5678234); |
| 779 | 779 | } |
| 780 | 780 | { |
| 781 | | var f: f128 = 0x1.edcb34a235253948765432134674fp-1; |
| 782 | | try expect(@bitCast(u128, f) == 0x3ffeedcb34a235253948765432134674); |
| 781 | // TODO: modify stage1/parse_f128.c to use round-to-even |
| 782 | if (builtin.zig_backend == .stage1) { |
| 783 | var f: f128 = 0x1.edcb34a235253948765432134674fp-1; |
| 784 | try expect(@bitCast(u128, f) == 0x3ffeedcb34a235253948765432134674); // round-down |
| 785 | } else { |
| 786 | var f: f128 = 0x1.edcb34a235253948765432134674fp-1; |
| 787 | try expect(@bitCast(u128, f) == 0x3ffeedcb34a235253948765432134675); // round-to-even |
| 788 | } |
| 783 | 789 | } |
| 784 | 790 | { |
| 785 | 791 | var f: f128 = 0x1.353e45674d89abacc3a2ebf3ff4ffp-50; |