| ... | @@ -1513,6 +1513,8 @@ const FLOAT128_POW5_INV_ERRORS: [154]u64 = .{ | ... | @@ -1513,6 +1513,8 @@ const FLOAT128_POW5_INV_ERRORS: [154]u64 = .{ |
| 1513 | | 1513 | |
| 1514 | // zig fmt: on | 1514 | // zig fmt: on |
| 1515 | | 1515 | |
| | 1516 | const builtin = @import("builtin"); |
| | 1517 | |
| 1516 | fn check(comptime T: type, value: T, comptime expected: []const u8) !void { | 1518 | fn check(comptime T: type, value: T, comptime expected: []const u8) !void { |
| 1517 | const I = @Type(.{ .Int = .{ .signedness = .unsigned, .bits = @bitSizeOf(T) } }); | 1519 | const I = @Type(.{ .Int = .{ .signedness = .unsigned, .bits = @bitSizeOf(T) } }); |
| 1518 | | 1520 | |
| ... | @@ -1521,6 +1523,8 @@ fn check(comptime T: type, value: T, comptime expected: []const u8) !void { | ... | @@ -1521,6 +1523,8 @@ fn check(comptime T: type, value: T, comptime expected: []const u8) !void { |
| 1521 | const s = try formatFloat(&buf, value, .{}); | 1523 | const s = try formatFloat(&buf, value, .{}); |
| 1522 | try std.testing.expectEqualStrings(expected, s); | 1524 | try std.testing.expectEqualStrings(expected, s); |
| 1523 | | 1525 | |
| | 1526 | if (T == f80 and builtin.target.os.tag == .windows and builtin.target.cpu.arch == .x86_64) return; |
| | 1527 | |
| 1524 | const o = try std.fmt.parseFloat(T, s); | 1528 | const o = try std.fmt.parseFloat(T, s); |
| 1525 | const o_bits: I = @bitCast(o); | 1529 | const o_bits: I = @bitCast(o); |
| 1526 | | 1530 | |