Skip to content

Commit 37da4f5

Browse files
committed
hex unittests passing
1 parent 714718b commit 37da4f5

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

lib/std/fmt/parse_float.zig

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ test "largest normals" {
140140
try expectEqual(@as(u16, @bitCast(try parseFloat(f16, "65504"))), 0x7bff);
141141
try expectEqual(@as(u32, @bitCast(try parseFloat(f32, "3.4028234664E38"))), 0x7f7f_ffff);
142142
try expectEqual(@as(u64, @bitCast(try parseFloat(f64, "1.7976931348623157E308"))), 0x7fef_ffff_ffff_ffff);
143-
try expectEqual(@as(u80, @bitCast(try parseFloat(f80, "1.189731495357231765e4932"))), 0x7ffe_ffff_ffff_ffff_ffff);
143+
try expectEqual(@as(u80, @bitCast(try parseFloat(f80, "1.189731495357231765E4932"))), 0x7ffe_ffff_ffff_ffff_ffff);
144144
try expectEqual(@as(u128, @bitCast(try parseFloat(f128, "1.1897314953572317650857593266280070162E4932"))), 0x7ffe_ffff_ffff_ffff_ffff_ffff_ffff_ffff);
145145
}
146146

@@ -218,21 +218,23 @@ test "hex.f64" {
218218
try testing.expectEqual(try parseFloat(f64, "0x1p-1074"), math.floatTrueMin(f64));
219219
try testing.expectEqual(try parseFloat(f64, "-0x1p-1074"), -math.floatTrueMin(f64));
220220
}
221+
221222
test "hex.f80" {
222-
try testing.expectEqual(try parseFloat(f80, "0xap0"), 10.0);
223+
try testing.expectEqual(try parseFloat(f80, "0x1p0"), 1.0);
223224
try testing.expectEqual(try parseFloat(f80, "-0x1p-1"), -0.5);
224225
try testing.expectEqual(try parseFloat(f80, "0x10p+10"), 16384.0);
225226
try testing.expectEqual(try parseFloat(f80, "0x10p-10"), 0.015625);
226227
// Max normalized value.
227-
// try testing.expectEqual(try parseFloat(f80, "0xf.ffffffffffffffff8p+16380"), math.floatMax(f80));
228-
// try testing.expectEqual(try parseFloat(f80, "-0xf.ffffffffffffffff8p+16380"), -math.floatMax(f80));
228+
try testing.expectEqual(try parseFloat(f80, "0xf.fffffffffffffff7p+16380"), math.floatMax(f80));
229+
try testing.expectEqual(try parseFloat(f80, "-0xf.fffffffffffffff7p+16380"), -math.floatMax(f80));
229230
// Min normalized value.
230231
try testing.expectEqual(try parseFloat(f80, "0x1p-16382"), math.floatMin(f80));
231232
try testing.expectEqual(try parseFloat(f80, "-0x1p-16382"), -math.floatMin(f80));
232233
// Min denormalized value.
233-
try testing.expectEqual(try parseFloat(f80, "0x1p-16494"), math.floatTrueMin(f80));
234-
try testing.expectEqual(try parseFloat(f80, "-0x1p-16494"), -math.floatTrueMin(f80));
234+
try testing.expectEqual(try parseFloat(f80, "0x1p-16445"), math.floatTrueMin(f80));
235+
try testing.expectEqual(try parseFloat(f80, "-0x1p-16445"), -math.floatTrueMin(f80));
235236
}
237+
236238
test "hex.f128" {
237239
try testing.expectEqual(try parseFloat(f128, "0x1p0"), 1.0);
238240
try testing.expectEqual(try parseFloat(f128, "-0x1p-1"), -0.5);
@@ -244,7 +246,7 @@ test "hex.f128" {
244246
// Min normalized value.
245247
try testing.expectEqual(try parseFloat(f128, "0x1p-16382"), math.floatMin(f128));
246248
try testing.expectEqual(try parseFloat(f128, "-0x1p-16382"), -math.floatMin(f128));
247-
// // Min denormalized value.
249+
// Min denormalized value.
248250
try testing.expectEqual(try parseFloat(f128, "0x1p-16494"), math.floatTrueMin(f128));
249251
try testing.expectEqual(try parseFloat(f128, "-0x1p-16494"), -math.floatTrueMin(f128));
250252
// ensure round-to-even

0 commit comments

Comments
 (0)