diff --git a/lib/std/special/c.zig b/lib/std/special/c.zig index 49d679210b..db0e107def 100644 --- a/lib/std/special/c.zig +++ b/lib/std/special/c.zig @@ -66,7 +66,7 @@ test "strcpy" { s1[0] = 0; _ = strcpy(&s1, "foobarbaz"); - std.testing.expectEqualSlices(u8, "foobarbaz", std.mem.spanZ(&s1)); + try std.testing.expectEqualSlices(u8, "foobarbaz", std.mem.spanZ(&s1)); } fn strncpy(dest: [*:0]u8, src: [*:0]const u8, n: usize) callconv(.C) [*:0]u8 { @@ -86,7 +86,7 @@ test "strncpy" { s1[0] = 0; _ = strncpy(&s1, "foobarbaz", @sizeOf(@TypeOf(s1))); - std.testing.expectEqualSlices(u8, "foobarbaz", std.mem.spanZ(&s1)); + try std.testing.expectEqualSlices(u8, "foobarbaz", std.mem.spanZ(&s1)); } fn strcat(dest: [*:0]u8, src: [*:0]const u8) callconv(.C) [*:0]u8 { @@ -109,7 +109,7 @@ test "strcat" { _ = strcat(&s1, "foo"); _ = strcat(&s1, "bar"); _ = strcat(&s1, "baz"); - std.testing.expectEqualSlices(u8, "foobarbaz", std.mem.spanZ(&s1)); + try std.testing.expectEqualSlices(u8, "foobarbaz", std.mem.spanZ(&s1)); } fn strncat(dest: [*:0]u8, src: [*:0]const u8, avail: usize) callconv(.C) [*:0]u8 { @@ -132,7 +132,7 @@ test "strncat" { _ = strncat(&s1, "foo1111", 3); _ = strncat(&s1, "bar1111", 3); _ = strncat(&s1, "baz1111", 3); - std.testing.expectEqualSlices(u8, "foobarbaz", std.mem.spanZ(&s1)); + try std.testing.expectEqualSlices(u8, "foobarbaz", std.mem.spanZ(&s1)); } fn strcmp(s1: [*:0]const u8, s2: [*:0]const u8) callconv(.C) c_int { @@ -871,13 +871,13 @@ test "fmod, fmodf" { try std.testing.expect(isNan(generic_fmod(T, 0.0, 0.0))); try std.testing.expect(isNan(generic_fmod(T, 1.0, 0.0))); - std.testing.expectEqual(@as(T, 0.0), generic_fmod(T, 0.0, 2.0)); - std.testing.expectEqual(@as(T, -0.0), generic_fmod(T, -0.0, 2.0)); + try std.testing.expectEqual(@as(T, 0.0), generic_fmod(T, 0.0, 2.0)); + try std.testing.expectEqual(@as(T, -0.0), generic_fmod(T, -0.0, 2.0)); - std.testing.expectEqual(@as(T, -2.0), generic_fmod(T, -32.0, 10.0)); - std.testing.expectEqual(@as(T, -2.0), generic_fmod(T, -32.0, -10.0)); - std.testing.expectEqual(@as(T, 2.0), generic_fmod(T, 32.0, 10.0)); - std.testing.expectEqual(@as(T, 2.0), generic_fmod(T, 32.0, -10.0)); + try std.testing.expectEqual(@as(T, -2.0), generic_fmod(T, -32.0, 10.0)); + try std.testing.expectEqual(@as(T, -2.0), generic_fmod(T, -32.0, -10.0)); + try std.testing.expectEqual(@as(T, 2.0), generic_fmod(T, 32.0, 10.0)); + try std.testing.expectEqual(@as(T, 2.0), generic_fmod(T, 32.0, -10.0)); } } @@ -902,11 +902,11 @@ test "fmin, fminf" { const nan_val = math.nan(T); try std.testing.expect(isNan(generic_fmin(T, nan_val, nan_val))); - std.testing.expectEqual(@as(T, 1.0), generic_fmin(T, nan_val, 1.0)); - std.testing.expectEqual(@as(T, 1.0), generic_fmin(T, 1.0, nan_val)); + try std.testing.expectEqual(@as(T, 1.0), generic_fmin(T, nan_val, 1.0)); + try std.testing.expectEqual(@as(T, 1.0), generic_fmin(T, 1.0, nan_val)); - std.testing.expectEqual(@as(T, 1.0), generic_fmin(T, 1.0, 10.0)); - std.testing.expectEqual(@as(T, -1.0), generic_fmin(T, 1.0, -1.0)); + try std.testing.expectEqual(@as(T, 1.0), generic_fmin(T, 1.0, 10.0)); + try std.testing.expectEqual(@as(T, -1.0), generic_fmin(T, 1.0, -1.0)); } } @@ -931,11 +931,11 @@ test "fmax, fmaxf" { const nan_val = math.nan(T); try std.testing.expect(isNan(generic_fmax(T, nan_val, nan_val))); - std.testing.expectEqual(@as(T, 1.0), generic_fmax(T, nan_val, 1.0)); - std.testing.expectEqual(@as(T, 1.0), generic_fmax(T, 1.0, nan_val)); + try std.testing.expectEqual(@as(T, 1.0), generic_fmax(T, nan_val, 1.0)); + try std.testing.expectEqual(@as(T, 1.0), generic_fmax(T, 1.0, nan_val)); - std.testing.expectEqual(@as(T, 10.0), generic_fmax(T, 1.0, 10.0)); - std.testing.expectEqual(@as(T, 1.0), generic_fmax(T, 1.0, -1.0)); + try std.testing.expectEqual(@as(T, 10.0), generic_fmax(T, 1.0, 10.0)); + try std.testing.expectEqual(@as(T, 1.0), generic_fmax(T, 1.0, -1.0)); } } @@ -1090,7 +1090,7 @@ test "sqrt" { // Note that @sqrt will either generate the sqrt opcode (if supported by the // target ISA) or a call to `sqrtf` otherwise. for (V) |val| - std.testing.expectEqual(@sqrt(val), sqrt(val)); + try std.testing.expectEqual(@sqrt(val), sqrt(val)); } test "sqrt special" { @@ -1195,7 +1195,7 @@ test "sqrtf" { // Note that @sqrt will either generate the sqrt opcode (if supported by the // target ISA) or a call to `sqrtf` otherwise. for (V) |val| - std.testing.expectEqual(@sqrt(val), sqrtf(val)); + try std.testing.expectEqual(@sqrt(val), sqrtf(val)); } test "sqrtf special" { diff --git a/lib/std/special/compiler_rt/addXf3_test.zig b/lib/std/special/compiler_rt/addXf3_test.zig index a8f454384c..33051ed970 100644 --- a/lib/std/special/compiler_rt/addXf3_test.zig +++ b/lib/std/special/compiler_rt/addXf3_test.zig @@ -13,7 +13,7 @@ const inf128 = @bitCast(f128, @as(u128, 0x7fff000000000000) << 64); const __addtf3 = @import("addXf3.zig").__addtf3; -fn test__addtf3(a: f128, b: f128, expected_hi: u64, expected_lo: u64) void { +fn test__addtf3(a: f128, b: f128, expected_hi: u64, expected_lo: u64) !void { const x = __addtf3(a, b); const rep = @bitCast(u128, x); @@ -32,28 +32,28 @@ fn test__addtf3(a: f128, b: f128, expected_hi: u64, expected_lo: u64) void { } } - @panic("__addtf3 test failure"); + return error.TestFailed; } test "addtf3" { - test__addtf3(qnan128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0); + try test__addtf3(qnan128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0); // NaN + any = NaN - test__addtf3(@bitCast(f128, (@as(u128, 0x7fff000000000000) << 64) | @as(u128, 0x800030000000)), 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0); + try test__addtf3(@bitCast(f128, (@as(u128, 0x7fff000000000000) << 64) | @as(u128, 0x800030000000)), 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0); // inf + inf = inf - test__addtf3(inf128, inf128, 0x7fff000000000000, 0x0); + try test__addtf3(inf128, inf128, 0x7fff000000000000, 0x0); // inf + any = inf - test__addtf3(inf128, 0x1.2335653452436234723489432abcdefp+5, 0x7fff000000000000, 0x0); + try test__addtf3(inf128, 0x1.2335653452436234723489432abcdefp+5, 0x7fff000000000000, 0x0); // any + any - test__addtf3(0x1.23456734245345543849abcdefp+5, 0x1.edcba52449872455634654321fp-1, 0x40042afc95c8b579, 0x61e58dd6c51eb77c); + try test__addtf3(0x1.23456734245345543849abcdefp+5, 0x1.edcba52449872455634654321fp-1, 0x40042afc95c8b579, 0x61e58dd6c51eb77c); } const __subtf3 = @import("addXf3.zig").__subtf3; -fn test__subtf3(a: f128, b: f128, expected_hi: u64, expected_lo: u64) void { +fn test__subtf3(a: f128, b: f128, expected_hi: u64, expected_lo: u64) !void { const x = __subtf3(a, b); const rep = @bitCast(u128, x); @@ -72,19 +72,19 @@ fn test__subtf3(a: f128, b: f128, expected_hi: u64, expected_lo: u64) void { } } - @panic("__subtf3 test failure"); + return error.TestFailed; } test "subtf3" { // qNaN - any = qNaN - test__subtf3(qnan128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0); + try test__subtf3(qnan128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0); // NaN + any = NaN - test__subtf3(@bitCast(f128, (@as(u128, 0x7fff000000000000) << 64) | @as(u128, 0x800030000000)), 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0); + try test__subtf3(@bitCast(f128, (@as(u128, 0x7fff000000000000) << 64) | @as(u128, 0x800030000000)), 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0); // inf - any = inf - test__subtf3(inf128, 0x1.23456789abcdefp+5, 0x7fff000000000000, 0x0); + try test__subtf3(inf128, 0x1.23456789abcdefp+5, 0x7fff000000000000, 0x0); // any + any - test__subtf3(0x1.234567829a3bcdef5678ade36734p+5, 0x1.ee9d7c52354a6936ab8d7654321fp-1, 0x40041b8af1915166, 0xa44a7bca780a166c); + try test__subtf3(0x1.234567829a3bcdef5678ade36734p+5, 0x1.ee9d7c52354a6936ab8d7654321fp-1, 0x40041b8af1915166, 0xa44a7bca780a166c); } diff --git a/lib/std/special/compiler_rt/ashldi3_test.zig b/lib/std/special/compiler_rt/ashldi3_test.zig index dfc3712e39..4b1eb1f9e4 100644 --- a/lib/std/special/compiler_rt/ashldi3_test.zig +++ b/lib/std/special/compiler_rt/ashldi3_test.zig @@ -6,32 +6,32 @@ const __ashldi3 = @import("shift.zig").__ashldi3; const testing = @import("std").testing; -fn test__ashldi3(a: i64, b: i32, expected: u64) void { +fn test__ashldi3(a: i64, b: i32, expected: u64) !void { const x = __ashldi3(a, b); - testing.expectEqual(@bitCast(i64, expected), x); + try testing.expectEqual(@bitCast(i64, expected), x); } test "ashldi3" { - test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 0, 0x123456789ABCDEF); - test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 1, 0x2468ACF13579BDE); - test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 2, 0x48D159E26AF37BC); - test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 3, 0x91A2B3C4D5E6F78); - test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 4, 0x123456789ABCDEF0); + try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 0, 0x123456789ABCDEF); + try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 1, 0x2468ACF13579BDE); + try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 2, 0x48D159E26AF37BC); + try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 3, 0x91A2B3C4D5E6F78); + try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 4, 0x123456789ABCDEF0); - test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 28, 0x789ABCDEF0000000); - test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 29, 0xF13579BDE0000000); - test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 30, 0xE26AF37BC0000000); - test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 31, 0xC4D5E6F780000000); + try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 28, 0x789ABCDEF0000000); + try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 29, 0xF13579BDE0000000); + try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 30, 0xE26AF37BC0000000); + try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 31, 0xC4D5E6F780000000); - test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 32, 0x89ABCDEF00000000); + try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 32, 0x89ABCDEF00000000); - test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 33, 0x13579BDE00000000); - test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 34, 0x26AF37BC00000000); - test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 35, 0x4D5E6F7800000000); - test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 36, 0x9ABCDEF000000000); + try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 33, 0x13579BDE00000000); + try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 34, 0x26AF37BC00000000); + try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 35, 0x4D5E6F7800000000); + try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 36, 0x9ABCDEF000000000); - test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 60, 0xF000000000000000); - test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 61, 0xE000000000000000); - test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 62, 0xC000000000000000); - test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 63, 0x8000000000000000); + try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 60, 0xF000000000000000); + try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 61, 0xE000000000000000); + try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 62, 0xC000000000000000); + try test__ashldi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 63, 0x8000000000000000); } diff --git a/lib/std/special/compiler_rt/ashlti3_test.zig b/lib/std/special/compiler_rt/ashlti3_test.zig index 453fa9e77b..1187120457 100644 --- a/lib/std/special/compiler_rt/ashlti3_test.zig +++ b/lib/std/special/compiler_rt/ashlti3_test.zig @@ -6,46 +6,46 @@ const __ashlti3 = @import("shift.zig").__ashlti3; const testing = @import("std").testing; -fn test__ashlti3(a: i128, b: i32, expected: i128) void { +fn test__ashlti3(a: i128, b: i32, expected: i128) !void { const x = __ashlti3(a, b); - testing.expectEqual(expected, x); + try testing.expectEqual(expected, x); } test "ashlti3" { - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 0, @bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 1, @bitCast(i128, @intCast(u128, 0xFDB97530ECA8642BFDB97530ECA8642A))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 2, @bitCast(i128, @intCast(u128, 0xFB72EA61D950C857FB72EA61D950C854))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 3, @bitCast(i128, @intCast(u128, 0xF6E5D4C3B2A190AFF6E5D4C3B2A190A8))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 4, @bitCast(i128, @intCast(u128, 0xEDCBA9876543215FEDCBA98765432150))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 28, @bitCast(i128, @intCast(u128, 0x876543215FEDCBA98765432150000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 29, @bitCast(i128, @intCast(u128, 0x0ECA8642BFDB97530ECA8642A0000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 30, @bitCast(i128, @intCast(u128, 0x1D950C857FB72EA61D950C8540000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 31, @bitCast(i128, @intCast(u128, 0x3B2A190AFF6E5D4C3B2A190A80000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 32, @bitCast(i128, @intCast(u128, 0x76543215FEDCBA987654321500000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 33, @bitCast(i128, @intCast(u128, 0xECA8642BFDB97530ECA8642A00000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 34, @bitCast(i128, @intCast(u128, 0xD950C857FB72EA61D950C85400000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 35, @bitCast(i128, @intCast(u128, 0xB2A190AFF6E5D4C3B2A190A800000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 36, @bitCast(i128, @intCast(u128, 0x6543215FEDCBA9876543215000000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 60, @bitCast(i128, @intCast(u128, 0x5FEDCBA9876543215000000000000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 61, @bitCast(i128, @intCast(u128, 0xBFDB97530ECA8642A000000000000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 62, @bitCast(i128, @intCast(u128, 0x7FB72EA61D950C854000000000000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 63, @bitCast(i128, @intCast(u128, 0xFF6E5D4C3B2A190A8000000000000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 64, @bitCast(i128, @intCast(u128, 0xFEDCBA98765432150000000000000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 65, @bitCast(i128, @intCast(u128, 0xFDB97530ECA8642A0000000000000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 66, @bitCast(i128, @intCast(u128, 0xFB72EA61D950C8540000000000000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 67, @bitCast(i128, @intCast(u128, 0xF6E5D4C3B2A190A80000000000000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 68, @bitCast(i128, @intCast(u128, 0xEDCBA987654321500000000000000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 92, @bitCast(i128, @intCast(u128, 0x87654321500000000000000000000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 93, @bitCast(i128, @intCast(u128, 0x0ECA8642A00000000000000000000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 94, @bitCast(i128, @intCast(u128, 0x1D950C85400000000000000000000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 95, @bitCast(i128, @intCast(u128, 0x3B2A190A800000000000000000000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 96, @bitCast(i128, @intCast(u128, 0x76543215000000000000000000000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 97, @bitCast(i128, @intCast(u128, 0xECA8642A000000000000000000000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 98, @bitCast(i128, @intCast(u128, 0xD950C854000000000000000000000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 99, @bitCast(i128, @intCast(u128, 0xB2A190A8000000000000000000000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 100, @bitCast(i128, @intCast(u128, 0x65432150000000000000000000000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 124, @bitCast(i128, @intCast(u128, 0x50000000000000000000000000000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 125, @bitCast(i128, @intCast(u128, 0xA0000000000000000000000000000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 126, @bitCast(i128, @intCast(u128, 0x40000000000000000000000000000000))); - test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 127, @bitCast(i128, @intCast(u128, 0x80000000000000000000000000000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 0, @bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 1, @bitCast(i128, @intCast(u128, 0xFDB97530ECA8642BFDB97530ECA8642A))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 2, @bitCast(i128, @intCast(u128, 0xFB72EA61D950C857FB72EA61D950C854))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 3, @bitCast(i128, @intCast(u128, 0xF6E5D4C3B2A190AFF6E5D4C3B2A190A8))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 4, @bitCast(i128, @intCast(u128, 0xEDCBA9876543215FEDCBA98765432150))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 28, @bitCast(i128, @intCast(u128, 0x876543215FEDCBA98765432150000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 29, @bitCast(i128, @intCast(u128, 0x0ECA8642BFDB97530ECA8642A0000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 30, @bitCast(i128, @intCast(u128, 0x1D950C857FB72EA61D950C8540000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 31, @bitCast(i128, @intCast(u128, 0x3B2A190AFF6E5D4C3B2A190A80000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 32, @bitCast(i128, @intCast(u128, 0x76543215FEDCBA987654321500000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 33, @bitCast(i128, @intCast(u128, 0xECA8642BFDB97530ECA8642A00000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 34, @bitCast(i128, @intCast(u128, 0xD950C857FB72EA61D950C85400000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 35, @bitCast(i128, @intCast(u128, 0xB2A190AFF6E5D4C3B2A190A800000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 36, @bitCast(i128, @intCast(u128, 0x6543215FEDCBA9876543215000000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 60, @bitCast(i128, @intCast(u128, 0x5FEDCBA9876543215000000000000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 61, @bitCast(i128, @intCast(u128, 0xBFDB97530ECA8642A000000000000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 62, @bitCast(i128, @intCast(u128, 0x7FB72EA61D950C854000000000000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 63, @bitCast(i128, @intCast(u128, 0xFF6E5D4C3B2A190A8000000000000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 64, @bitCast(i128, @intCast(u128, 0xFEDCBA98765432150000000000000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 65, @bitCast(i128, @intCast(u128, 0xFDB97530ECA8642A0000000000000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 66, @bitCast(i128, @intCast(u128, 0xFB72EA61D950C8540000000000000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 67, @bitCast(i128, @intCast(u128, 0xF6E5D4C3B2A190A80000000000000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 68, @bitCast(i128, @intCast(u128, 0xEDCBA987654321500000000000000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 92, @bitCast(i128, @intCast(u128, 0x87654321500000000000000000000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 93, @bitCast(i128, @intCast(u128, 0x0ECA8642A00000000000000000000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 94, @bitCast(i128, @intCast(u128, 0x1D950C85400000000000000000000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 95, @bitCast(i128, @intCast(u128, 0x3B2A190A800000000000000000000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 96, @bitCast(i128, @intCast(u128, 0x76543215000000000000000000000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 97, @bitCast(i128, @intCast(u128, 0xECA8642A000000000000000000000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 98, @bitCast(i128, @intCast(u128, 0xD950C854000000000000000000000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 99, @bitCast(i128, @intCast(u128, 0xB2A190A8000000000000000000000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 100, @bitCast(i128, @intCast(u128, 0x65432150000000000000000000000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 124, @bitCast(i128, @intCast(u128, 0x50000000000000000000000000000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 125, @bitCast(i128, @intCast(u128, 0xA0000000000000000000000000000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 126, @bitCast(i128, @intCast(u128, 0x40000000000000000000000000000000))); + try test__ashlti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 127, @bitCast(i128, @intCast(u128, 0x80000000000000000000000000000000))); } diff --git a/lib/std/special/compiler_rt/ashrdi3_test.zig b/lib/std/special/compiler_rt/ashrdi3_test.zig index 77fe286185..423c22fc12 100644 --- a/lib/std/special/compiler_rt/ashrdi3_test.zig +++ b/lib/std/special/compiler_rt/ashrdi3_test.zig @@ -6,55 +6,55 @@ const __ashrdi3 = @import("shift.zig").__ashrdi3; const testing = @import("std").testing; -fn test__ashrdi3(a: i64, b: i32, expected: u64) void { +fn test__ashrdi3(a: i64, b: i32, expected: u64) !void { const x = __ashrdi3(a, b); - testing.expectEqual(@bitCast(i64, expected), x); + try testing.expectEqual(@bitCast(i64, expected), x); } test "ashrdi3" { - test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 0, 0x123456789ABCDEF); - test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 1, 0x91A2B3C4D5E6F7); - test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 2, 0x48D159E26AF37B); - test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 3, 0x2468ACF13579BD); - test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 4, 0x123456789ABCDE); + try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 0, 0x123456789ABCDEF); + try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 1, 0x91A2B3C4D5E6F7); + try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 2, 0x48D159E26AF37B); + try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 3, 0x2468ACF13579BD); + try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 4, 0x123456789ABCDE); - test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 28, 0x12345678); - test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 29, 0x91A2B3C); - test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 30, 0x48D159E); - test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 31, 0x2468ACF); + try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 28, 0x12345678); + try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 29, 0x91A2B3C); + try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 30, 0x48D159E); + try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 31, 0x2468ACF); - test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 32, 0x1234567); + try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 32, 0x1234567); - test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 33, 0x91A2B3); - test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 34, 0x48D159); - test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 35, 0x2468AC); - test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 36, 0x123456); + try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 33, 0x91A2B3); + try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 34, 0x48D159); + try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 35, 0x2468AC); + try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 36, 0x123456); - test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 60, 0); - test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 61, 0); - test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 62, 0); - test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 63, 0); + try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 60, 0); + try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 61, 0); + try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 62, 0); + try test__ashrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 63, 0); - test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 0, 0xFEDCBA9876543210); - test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 1, 0xFF6E5D4C3B2A1908); - test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 2, 0xFFB72EA61D950C84); - test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 3, 0xFFDB97530ECA8642); - test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 4, 0xFFEDCBA987654321); + try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 0, 0xFEDCBA9876543210); + try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 1, 0xFF6E5D4C3B2A1908); + try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 2, 0xFFB72EA61D950C84); + try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 3, 0xFFDB97530ECA8642); + try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 4, 0xFFEDCBA987654321); - test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 28, 0xFFFFFFFFEDCBA987); - test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 29, 0xFFFFFFFFF6E5D4C3); - test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 30, 0xFFFFFFFFFB72EA61); - test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 31, 0xFFFFFFFFFDB97530); + try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 28, 0xFFFFFFFFEDCBA987); + try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 29, 0xFFFFFFFFF6E5D4C3); + try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 30, 0xFFFFFFFFFB72EA61); + try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 31, 0xFFFFFFFFFDB97530); - test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 32, 0xFFFFFFFFFEDCBA98); + try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 32, 0xFFFFFFFFFEDCBA98); - test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 33, 0xFFFFFFFFFF6E5D4C); - test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 34, 0xFFFFFFFFFFB72EA6); - test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 35, 0xFFFFFFFFFFDB9753); - test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 36, 0xFFFFFFFFFFEDCBA9); + try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 33, 0xFFFFFFFFFF6E5D4C); + try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 34, 0xFFFFFFFFFFB72EA6); + try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 35, 0xFFFFFFFFFFDB9753); + try test__ashrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 36, 0xFFFFFFFFFFEDCBA9); - test__ashrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 60, 0xFFFFFFFFFFFFFFFA); - test__ashrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 61, 0xFFFFFFFFFFFFFFFD); - test__ashrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 62, 0xFFFFFFFFFFFFFFFE); - test__ashrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 63, 0xFFFFFFFFFFFFFFFF); + try test__ashrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 60, 0xFFFFFFFFFFFFFFFA); + try test__ashrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 61, 0xFFFFFFFFFFFFFFFD); + try test__ashrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 62, 0xFFFFFFFFFFFFFFFE); + try test__ashrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 63, 0xFFFFFFFFFFFFFFFF); } diff --git a/lib/std/special/compiler_rt/ashrti3_test.zig b/lib/std/special/compiler_rt/ashrti3_test.zig index 5f4e166001..e6d1d7ddba 100644 --- a/lib/std/special/compiler_rt/ashrti3_test.zig +++ b/lib/std/special/compiler_rt/ashrti3_test.zig @@ -6,56 +6,56 @@ const __ashrti3 = @import("shift.zig").__ashrti3; const testing = @import("std").testing; -fn test__ashrti3(a: i128, b: i32, expected: i128) void { +fn test__ashrti3(a: i128, b: i32, expected: i128) !void { const x = __ashrti3(a, b); - testing.expectEqual(expected, x); + try testing.expectEqual(expected, x); } test "ashrti3" { - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 0, @bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 1, @bitCast(i128, @intCast(u128, 0xFF6E5D4C3B2A190AFF6E5D4C3B2A190A))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 2, @bitCast(i128, @intCast(u128, 0xFFB72EA61D950C857FB72EA61D950C85))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 3, @bitCast(i128, @intCast(u128, 0xFFDB97530ECA8642BFDB97530ECA8642))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 4, @bitCast(i128, @intCast(u128, 0xFFEDCBA9876543215FEDCBA987654321))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 0, @bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 1, @bitCast(i128, @intCast(u128, 0xFF6E5D4C3B2A190AFF6E5D4C3B2A190A))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 2, @bitCast(i128, @intCast(u128, 0xFFB72EA61D950C857FB72EA61D950C85))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 3, @bitCast(i128, @intCast(u128, 0xFFDB97530ECA8642BFDB97530ECA8642))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 4, @bitCast(i128, @intCast(u128, 0xFFEDCBA9876543215FEDCBA987654321))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 28, @bitCast(i128, @intCast(u128, 0xFFFFFFFFEDCBA9876543215FEDCBA987))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 29, @bitCast(i128, @intCast(u128, 0xFFFFFFFFF6E5D4C3B2A190AFF6E5D4C3))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 30, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFB72EA61D950C857FB72EA61))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 31, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFDB97530ECA8642BFDB97530))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 28, @bitCast(i128, @intCast(u128, 0xFFFFFFFFEDCBA9876543215FEDCBA987))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 29, @bitCast(i128, @intCast(u128, 0xFFFFFFFFF6E5D4C3B2A190AFF6E5D4C3))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 30, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFB72EA61D950C857FB72EA61))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 31, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFDB97530ECA8642BFDB97530))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 32, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFEDCBA9876543215FEDCBA98))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 32, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFEDCBA9876543215FEDCBA98))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 33, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFF6E5D4C3B2A190AFF6E5D4C))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 34, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFB72EA61D950C857FB72EA6))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 35, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFDB97530ECA8642BFDB9753))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 36, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFEDCBA9876543215FEDCBA9))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 33, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFF6E5D4C3B2A190AFF6E5D4C))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 34, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFB72EA61D950C857FB72EA6))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 35, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFDB97530ECA8642BFDB9753))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 36, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFEDCBA9876543215FEDCBA9))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 60, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFEDCBA9876543215F))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 61, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFF6E5D4C3B2A190AF))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 62, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFB72EA61D950C857))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 63, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFDB97530ECA8642B))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 60, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFEDCBA9876543215F))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 61, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFF6E5D4C3B2A190AF))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 62, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFB72EA61D950C857))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 63, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFDB97530ECA8642B))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 64, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFEDCBA9876543215))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 64, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFEDCBA9876543215))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 65, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFF6E5D4C3B2A190A))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 66, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFB72EA61D950C85))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 67, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFDB97530ECA8642))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 68, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFEDCBA987654321))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 65, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFF6E5D4C3B2A190A))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 66, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFB72EA61D950C85))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 67, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFDB97530ECA8642))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 68, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFEDCBA987654321))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 92, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFEDCBA987))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 93, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFF6E5D4C3))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 94, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFB72EA61))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 95, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFDB97530))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 92, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFEDCBA987))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 93, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFF6E5D4C3))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 94, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFB72EA61))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 95, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFDB97530))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 96, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFEDCBA98))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 96, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFEDCBA98))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 97, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFF6E5D4C))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 98, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFB72EA6))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 99, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFDB9753))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 100, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFEDCBA9))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 97, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFF6E5D4C))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 98, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFB72EA6))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 99, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFDB9753))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 100, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFEDCBA9))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 124, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 125, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 126, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF))); - test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 127, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 124, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 125, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 126, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF))); + try test__ashrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 127, @bitCast(i128, @intCast(u128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF))); } diff --git a/lib/std/special/compiler_rt/clzsi2_test.zig b/lib/std/special/compiler_rt/clzsi2_test.zig index c74a1c3ec2..b7828cf632 100644 --- a/lib/std/special/compiler_rt/clzsi2_test.zig +++ b/lib/std/special/compiler_rt/clzsi2_test.zig @@ -6,294 +6,294 @@ const clzsi2 = @import("clzsi2.zig"); const testing = @import("std").testing; -fn test__clzsi2(a: u32, expected: i32) void { +fn test__clzsi2(a: u32, expected: i32) !void { // XXX At high optimization levels this test may be horribly miscompiled if // one of the naked implementations is selected. var nakedClzsi2 = clzsi2.__clzsi2; var actualClzsi2 = @ptrCast(fn (a: i32) callconv(.C) i32, nakedClzsi2); var x = @bitCast(i32, a); var result = actualClzsi2(x); - testing.expectEqual(expected, result); + try testing.expectEqual(expected, result); } test "clzsi2" { - test__clzsi2(0x00800000, 8); - test__clzsi2(0x01000000, 7); - test__clzsi2(0x02000000, 6); - test__clzsi2(0x03000000, 6); - test__clzsi2(0x04000000, 5); - test__clzsi2(0x05000000, 5); - test__clzsi2(0x06000000, 5); - test__clzsi2(0x07000000, 5); - test__clzsi2(0x08000000, 4); - test__clzsi2(0x09000000, 4); - test__clzsi2(0x0A000000, 4); - test__clzsi2(0x0B000000, 4); - test__clzsi2(0x0C000000, 4); - test__clzsi2(0x0D000000, 4); - test__clzsi2(0x0E000000, 4); - test__clzsi2(0x0F000000, 4); - test__clzsi2(0x10000000, 3); - test__clzsi2(0x11000000, 3); - test__clzsi2(0x12000000, 3); - test__clzsi2(0x13000000, 3); - test__clzsi2(0x14000000, 3); - test__clzsi2(0x15000000, 3); - test__clzsi2(0x16000000, 3); - test__clzsi2(0x17000000, 3); - test__clzsi2(0x18000000, 3); - test__clzsi2(0x19000000, 3); - test__clzsi2(0x1A000000, 3); - test__clzsi2(0x1B000000, 3); - test__clzsi2(0x1C000000, 3); - test__clzsi2(0x1D000000, 3); - test__clzsi2(0x1E000000, 3); - test__clzsi2(0x1F000000, 3); - test__clzsi2(0x20000000, 2); - test__clzsi2(0x21000000, 2); - test__clzsi2(0x22000000, 2); - test__clzsi2(0x23000000, 2); - test__clzsi2(0x24000000, 2); - test__clzsi2(0x25000000, 2); - test__clzsi2(0x26000000, 2); - test__clzsi2(0x27000000, 2); - test__clzsi2(0x28000000, 2); - test__clzsi2(0x29000000, 2); - test__clzsi2(0x2A000000, 2); - test__clzsi2(0x2B000000, 2); - test__clzsi2(0x2C000000, 2); - test__clzsi2(0x2D000000, 2); - test__clzsi2(0x2E000000, 2); - test__clzsi2(0x2F000000, 2); - test__clzsi2(0x30000000, 2); - test__clzsi2(0x31000000, 2); - test__clzsi2(0x32000000, 2); - test__clzsi2(0x33000000, 2); - test__clzsi2(0x34000000, 2); - test__clzsi2(0x35000000, 2); - test__clzsi2(0x36000000, 2); - test__clzsi2(0x37000000, 2); - test__clzsi2(0x38000000, 2); - test__clzsi2(0x39000000, 2); - test__clzsi2(0x3A000000, 2); - test__clzsi2(0x3B000000, 2); - test__clzsi2(0x3C000000, 2); - test__clzsi2(0x3D000000, 2); - test__clzsi2(0x3E000000, 2); - test__clzsi2(0x3F000000, 2); - test__clzsi2(0x40000000, 1); - test__clzsi2(0x41000000, 1); - test__clzsi2(0x42000000, 1); - test__clzsi2(0x43000000, 1); - test__clzsi2(0x44000000, 1); - test__clzsi2(0x45000000, 1); - test__clzsi2(0x46000000, 1); - test__clzsi2(0x47000000, 1); - test__clzsi2(0x48000000, 1); - test__clzsi2(0x49000000, 1); - test__clzsi2(0x4A000000, 1); - test__clzsi2(0x4B000000, 1); - test__clzsi2(0x4C000000, 1); - test__clzsi2(0x4D000000, 1); - test__clzsi2(0x4E000000, 1); - test__clzsi2(0x4F000000, 1); - test__clzsi2(0x50000000, 1); - test__clzsi2(0x51000000, 1); - test__clzsi2(0x52000000, 1); - test__clzsi2(0x53000000, 1); - test__clzsi2(0x54000000, 1); - test__clzsi2(0x55000000, 1); - test__clzsi2(0x56000000, 1); - test__clzsi2(0x57000000, 1); - test__clzsi2(0x58000000, 1); - test__clzsi2(0x59000000, 1); - test__clzsi2(0x5A000000, 1); - test__clzsi2(0x5B000000, 1); - test__clzsi2(0x5C000000, 1); - test__clzsi2(0x5D000000, 1); - test__clzsi2(0x5E000000, 1); - test__clzsi2(0x5F000000, 1); - test__clzsi2(0x60000000, 1); - test__clzsi2(0x61000000, 1); - test__clzsi2(0x62000000, 1); - test__clzsi2(0x63000000, 1); - test__clzsi2(0x64000000, 1); - test__clzsi2(0x65000000, 1); - test__clzsi2(0x66000000, 1); - test__clzsi2(0x67000000, 1); - test__clzsi2(0x68000000, 1); - test__clzsi2(0x69000000, 1); - test__clzsi2(0x6A000000, 1); - test__clzsi2(0x6B000000, 1); - test__clzsi2(0x6C000000, 1); - test__clzsi2(0x6D000000, 1); - test__clzsi2(0x6E000000, 1); - test__clzsi2(0x6F000000, 1); - test__clzsi2(0x70000000, 1); - test__clzsi2(0x71000000, 1); - test__clzsi2(0x72000000, 1); - test__clzsi2(0x73000000, 1); - test__clzsi2(0x74000000, 1); - test__clzsi2(0x75000000, 1); - test__clzsi2(0x76000000, 1); - test__clzsi2(0x77000000, 1); - test__clzsi2(0x78000000, 1); - test__clzsi2(0x79000000, 1); - test__clzsi2(0x7A000000, 1); - test__clzsi2(0x7B000000, 1); - test__clzsi2(0x7C000000, 1); - test__clzsi2(0x7D000000, 1); - test__clzsi2(0x7E000000, 1); - test__clzsi2(0x7F000000, 1); - test__clzsi2(0x80000000, 0); - test__clzsi2(0x81000000, 0); - test__clzsi2(0x82000000, 0); - test__clzsi2(0x83000000, 0); - test__clzsi2(0x84000000, 0); - test__clzsi2(0x85000000, 0); - test__clzsi2(0x86000000, 0); - test__clzsi2(0x87000000, 0); - test__clzsi2(0x88000000, 0); - test__clzsi2(0x89000000, 0); - test__clzsi2(0x8A000000, 0); - test__clzsi2(0x8B000000, 0); - test__clzsi2(0x8C000000, 0); - test__clzsi2(0x8D000000, 0); - test__clzsi2(0x8E000000, 0); - test__clzsi2(0x8F000000, 0); - test__clzsi2(0x90000000, 0); - test__clzsi2(0x91000000, 0); - test__clzsi2(0x92000000, 0); - test__clzsi2(0x93000000, 0); - test__clzsi2(0x94000000, 0); - test__clzsi2(0x95000000, 0); - test__clzsi2(0x96000000, 0); - test__clzsi2(0x97000000, 0); - test__clzsi2(0x98000000, 0); - test__clzsi2(0x99000000, 0); - test__clzsi2(0x9A000000, 0); - test__clzsi2(0x9B000000, 0); - test__clzsi2(0x9C000000, 0); - test__clzsi2(0x9D000000, 0); - test__clzsi2(0x9E000000, 0); - test__clzsi2(0x9F000000, 0); - test__clzsi2(0xA0000000, 0); - test__clzsi2(0xA1000000, 0); - test__clzsi2(0xA2000000, 0); - test__clzsi2(0xA3000000, 0); - test__clzsi2(0xA4000000, 0); - test__clzsi2(0xA5000000, 0); - test__clzsi2(0xA6000000, 0); - test__clzsi2(0xA7000000, 0); - test__clzsi2(0xA8000000, 0); - test__clzsi2(0xA9000000, 0); - test__clzsi2(0xAA000000, 0); - test__clzsi2(0xAB000000, 0); - test__clzsi2(0xAC000000, 0); - test__clzsi2(0xAD000000, 0); - test__clzsi2(0xAE000000, 0); - test__clzsi2(0xAF000000, 0); - test__clzsi2(0xB0000000, 0); - test__clzsi2(0xB1000000, 0); - test__clzsi2(0xB2000000, 0); - test__clzsi2(0xB3000000, 0); - test__clzsi2(0xB4000000, 0); - test__clzsi2(0xB5000000, 0); - test__clzsi2(0xB6000000, 0); - test__clzsi2(0xB7000000, 0); - test__clzsi2(0xB8000000, 0); - test__clzsi2(0xB9000000, 0); - test__clzsi2(0xBA000000, 0); - test__clzsi2(0xBB000000, 0); - test__clzsi2(0xBC000000, 0); - test__clzsi2(0xBD000000, 0); - test__clzsi2(0xBE000000, 0); - test__clzsi2(0xBF000000, 0); - test__clzsi2(0xC0000000, 0); - test__clzsi2(0xC1000000, 0); - test__clzsi2(0xC2000000, 0); - test__clzsi2(0xC3000000, 0); - test__clzsi2(0xC4000000, 0); - test__clzsi2(0xC5000000, 0); - test__clzsi2(0xC6000000, 0); - test__clzsi2(0xC7000000, 0); - test__clzsi2(0xC8000000, 0); - test__clzsi2(0xC9000000, 0); - test__clzsi2(0xCA000000, 0); - test__clzsi2(0xCB000000, 0); - test__clzsi2(0xCC000000, 0); - test__clzsi2(0xCD000000, 0); - test__clzsi2(0xCE000000, 0); - test__clzsi2(0xCF000000, 0); - test__clzsi2(0xD0000000, 0); - test__clzsi2(0xD1000000, 0); - test__clzsi2(0xD2000000, 0); - test__clzsi2(0xD3000000, 0); - test__clzsi2(0xD4000000, 0); - test__clzsi2(0xD5000000, 0); - test__clzsi2(0xD6000000, 0); - test__clzsi2(0xD7000000, 0); - test__clzsi2(0xD8000000, 0); - test__clzsi2(0xD9000000, 0); - test__clzsi2(0xDA000000, 0); - test__clzsi2(0xDB000000, 0); - test__clzsi2(0xDC000000, 0); - test__clzsi2(0xDD000000, 0); - test__clzsi2(0xDE000000, 0); - test__clzsi2(0xDF000000, 0); - test__clzsi2(0xE0000000, 0); - test__clzsi2(0xE1000000, 0); - test__clzsi2(0xE2000000, 0); - test__clzsi2(0xE3000000, 0); - test__clzsi2(0xE4000000, 0); - test__clzsi2(0xE5000000, 0); - test__clzsi2(0xE6000000, 0); - test__clzsi2(0xE7000000, 0); - test__clzsi2(0xE8000000, 0); - test__clzsi2(0xE9000000, 0); - test__clzsi2(0xEA000000, 0); - test__clzsi2(0xEB000000, 0); - test__clzsi2(0xEC000000, 0); - test__clzsi2(0xED000000, 0); - test__clzsi2(0xEE000000, 0); - test__clzsi2(0xEF000000, 0); - test__clzsi2(0xF0000000, 0); - test__clzsi2(0xF1000000, 0); - test__clzsi2(0xF2000000, 0); - test__clzsi2(0xF3000000, 0); - test__clzsi2(0xF4000000, 0); - test__clzsi2(0xF5000000, 0); - test__clzsi2(0xF6000000, 0); - test__clzsi2(0xF7000000, 0); - test__clzsi2(0xF8000000, 0); - test__clzsi2(0xF9000000, 0); - test__clzsi2(0xFA000000, 0); - test__clzsi2(0xFB000000, 0); - test__clzsi2(0xFC000000, 0); - test__clzsi2(0xFD000000, 0); - test__clzsi2(0xFE000000, 0); - test__clzsi2(0xFF000000, 0); - test__clzsi2(0x00000001, 31); - test__clzsi2(0x00000002, 30); - test__clzsi2(0x00000004, 29); - test__clzsi2(0x00000008, 28); - test__clzsi2(0x00000010, 27); - test__clzsi2(0x00000020, 26); - test__clzsi2(0x00000040, 25); - test__clzsi2(0x00000080, 24); - test__clzsi2(0x00000100, 23); - test__clzsi2(0x00000200, 22); - test__clzsi2(0x00000400, 21); - test__clzsi2(0x00000800, 20); - test__clzsi2(0x00001000, 19); - test__clzsi2(0x00002000, 18); - test__clzsi2(0x00004000, 17); - test__clzsi2(0x00008000, 16); - test__clzsi2(0x00010000, 15); - test__clzsi2(0x00020000, 14); - test__clzsi2(0x00040000, 13); - test__clzsi2(0x00080000, 12); - test__clzsi2(0x00100000, 11); - test__clzsi2(0x00200000, 10); - test__clzsi2(0x00400000, 9); + try test__clzsi2(0x00800000, 8); + try test__clzsi2(0x01000000, 7); + try test__clzsi2(0x02000000, 6); + try test__clzsi2(0x03000000, 6); + try test__clzsi2(0x04000000, 5); + try test__clzsi2(0x05000000, 5); + try test__clzsi2(0x06000000, 5); + try test__clzsi2(0x07000000, 5); + try test__clzsi2(0x08000000, 4); + try test__clzsi2(0x09000000, 4); + try test__clzsi2(0x0A000000, 4); + try test__clzsi2(0x0B000000, 4); + try test__clzsi2(0x0C000000, 4); + try test__clzsi2(0x0D000000, 4); + try test__clzsi2(0x0E000000, 4); + try test__clzsi2(0x0F000000, 4); + try test__clzsi2(0x10000000, 3); + try test__clzsi2(0x11000000, 3); + try test__clzsi2(0x12000000, 3); + try test__clzsi2(0x13000000, 3); + try test__clzsi2(0x14000000, 3); + try test__clzsi2(0x15000000, 3); + try test__clzsi2(0x16000000, 3); + try test__clzsi2(0x17000000, 3); + try test__clzsi2(0x18000000, 3); + try test__clzsi2(0x19000000, 3); + try test__clzsi2(0x1A000000, 3); + try test__clzsi2(0x1B000000, 3); + try test__clzsi2(0x1C000000, 3); + try test__clzsi2(0x1D000000, 3); + try test__clzsi2(0x1E000000, 3); + try test__clzsi2(0x1F000000, 3); + try test__clzsi2(0x20000000, 2); + try test__clzsi2(0x21000000, 2); + try test__clzsi2(0x22000000, 2); + try test__clzsi2(0x23000000, 2); + try test__clzsi2(0x24000000, 2); + try test__clzsi2(0x25000000, 2); + try test__clzsi2(0x26000000, 2); + try test__clzsi2(0x27000000, 2); + try test__clzsi2(0x28000000, 2); + try test__clzsi2(0x29000000, 2); + try test__clzsi2(0x2A000000, 2); + try test__clzsi2(0x2B000000, 2); + try test__clzsi2(0x2C000000, 2); + try test__clzsi2(0x2D000000, 2); + try test__clzsi2(0x2E000000, 2); + try test__clzsi2(0x2F000000, 2); + try test__clzsi2(0x30000000, 2); + try test__clzsi2(0x31000000, 2); + try test__clzsi2(0x32000000, 2); + try test__clzsi2(0x33000000, 2); + try test__clzsi2(0x34000000, 2); + try test__clzsi2(0x35000000, 2); + try test__clzsi2(0x36000000, 2); + try test__clzsi2(0x37000000, 2); + try test__clzsi2(0x38000000, 2); + try test__clzsi2(0x39000000, 2); + try test__clzsi2(0x3A000000, 2); + try test__clzsi2(0x3B000000, 2); + try test__clzsi2(0x3C000000, 2); + try test__clzsi2(0x3D000000, 2); + try test__clzsi2(0x3E000000, 2); + try test__clzsi2(0x3F000000, 2); + try test__clzsi2(0x40000000, 1); + try test__clzsi2(0x41000000, 1); + try test__clzsi2(0x42000000, 1); + try test__clzsi2(0x43000000, 1); + try test__clzsi2(0x44000000, 1); + try test__clzsi2(0x45000000, 1); + try test__clzsi2(0x46000000, 1); + try test__clzsi2(0x47000000, 1); + try test__clzsi2(0x48000000, 1); + try test__clzsi2(0x49000000, 1); + try test__clzsi2(0x4A000000, 1); + try test__clzsi2(0x4B000000, 1); + try test__clzsi2(0x4C000000, 1); + try test__clzsi2(0x4D000000, 1); + try test__clzsi2(0x4E000000, 1); + try test__clzsi2(0x4F000000, 1); + try test__clzsi2(0x50000000, 1); + try test__clzsi2(0x51000000, 1); + try test__clzsi2(0x52000000, 1); + try test__clzsi2(0x53000000, 1); + try test__clzsi2(0x54000000, 1); + try test__clzsi2(0x55000000, 1); + try test__clzsi2(0x56000000, 1); + try test__clzsi2(0x57000000, 1); + try test__clzsi2(0x58000000, 1); + try test__clzsi2(0x59000000, 1); + try test__clzsi2(0x5A000000, 1); + try test__clzsi2(0x5B000000, 1); + try test__clzsi2(0x5C000000, 1); + try test__clzsi2(0x5D000000, 1); + try test__clzsi2(0x5E000000, 1); + try test__clzsi2(0x5F000000, 1); + try test__clzsi2(0x60000000, 1); + try test__clzsi2(0x61000000, 1); + try test__clzsi2(0x62000000, 1); + try test__clzsi2(0x63000000, 1); + try test__clzsi2(0x64000000, 1); + try test__clzsi2(0x65000000, 1); + try test__clzsi2(0x66000000, 1); + try test__clzsi2(0x67000000, 1); + try test__clzsi2(0x68000000, 1); + try test__clzsi2(0x69000000, 1); + try test__clzsi2(0x6A000000, 1); + try test__clzsi2(0x6B000000, 1); + try test__clzsi2(0x6C000000, 1); + try test__clzsi2(0x6D000000, 1); + try test__clzsi2(0x6E000000, 1); + try test__clzsi2(0x6F000000, 1); + try test__clzsi2(0x70000000, 1); + try test__clzsi2(0x71000000, 1); + try test__clzsi2(0x72000000, 1); + try test__clzsi2(0x73000000, 1); + try test__clzsi2(0x74000000, 1); + try test__clzsi2(0x75000000, 1); + try test__clzsi2(0x76000000, 1); + try test__clzsi2(0x77000000, 1); + try test__clzsi2(0x78000000, 1); + try test__clzsi2(0x79000000, 1); + try test__clzsi2(0x7A000000, 1); + try test__clzsi2(0x7B000000, 1); + try test__clzsi2(0x7C000000, 1); + try test__clzsi2(0x7D000000, 1); + try test__clzsi2(0x7E000000, 1); + try test__clzsi2(0x7F000000, 1); + try test__clzsi2(0x80000000, 0); + try test__clzsi2(0x81000000, 0); + try test__clzsi2(0x82000000, 0); + try test__clzsi2(0x83000000, 0); + try test__clzsi2(0x84000000, 0); + try test__clzsi2(0x85000000, 0); + try test__clzsi2(0x86000000, 0); + try test__clzsi2(0x87000000, 0); + try test__clzsi2(0x88000000, 0); + try test__clzsi2(0x89000000, 0); + try test__clzsi2(0x8A000000, 0); + try test__clzsi2(0x8B000000, 0); + try test__clzsi2(0x8C000000, 0); + try test__clzsi2(0x8D000000, 0); + try test__clzsi2(0x8E000000, 0); + try test__clzsi2(0x8F000000, 0); + try test__clzsi2(0x90000000, 0); + try test__clzsi2(0x91000000, 0); + try test__clzsi2(0x92000000, 0); + try test__clzsi2(0x93000000, 0); + try test__clzsi2(0x94000000, 0); + try test__clzsi2(0x95000000, 0); + try test__clzsi2(0x96000000, 0); + try test__clzsi2(0x97000000, 0); + try test__clzsi2(0x98000000, 0); + try test__clzsi2(0x99000000, 0); + try test__clzsi2(0x9A000000, 0); + try test__clzsi2(0x9B000000, 0); + try test__clzsi2(0x9C000000, 0); + try test__clzsi2(0x9D000000, 0); + try test__clzsi2(0x9E000000, 0); + try test__clzsi2(0x9F000000, 0); + try test__clzsi2(0xA0000000, 0); + try test__clzsi2(0xA1000000, 0); + try test__clzsi2(0xA2000000, 0); + try test__clzsi2(0xA3000000, 0); + try test__clzsi2(0xA4000000, 0); + try test__clzsi2(0xA5000000, 0); + try test__clzsi2(0xA6000000, 0); + try test__clzsi2(0xA7000000, 0); + try test__clzsi2(0xA8000000, 0); + try test__clzsi2(0xA9000000, 0); + try test__clzsi2(0xAA000000, 0); + try test__clzsi2(0xAB000000, 0); + try test__clzsi2(0xAC000000, 0); + try test__clzsi2(0xAD000000, 0); + try test__clzsi2(0xAE000000, 0); + try test__clzsi2(0xAF000000, 0); + try test__clzsi2(0xB0000000, 0); + try test__clzsi2(0xB1000000, 0); + try test__clzsi2(0xB2000000, 0); + try test__clzsi2(0xB3000000, 0); + try test__clzsi2(0xB4000000, 0); + try test__clzsi2(0xB5000000, 0); + try test__clzsi2(0xB6000000, 0); + try test__clzsi2(0xB7000000, 0); + try test__clzsi2(0xB8000000, 0); + try test__clzsi2(0xB9000000, 0); + try test__clzsi2(0xBA000000, 0); + try test__clzsi2(0xBB000000, 0); + try test__clzsi2(0xBC000000, 0); + try test__clzsi2(0xBD000000, 0); + try test__clzsi2(0xBE000000, 0); + try test__clzsi2(0xBF000000, 0); + try test__clzsi2(0xC0000000, 0); + try test__clzsi2(0xC1000000, 0); + try test__clzsi2(0xC2000000, 0); + try test__clzsi2(0xC3000000, 0); + try test__clzsi2(0xC4000000, 0); + try test__clzsi2(0xC5000000, 0); + try test__clzsi2(0xC6000000, 0); + try test__clzsi2(0xC7000000, 0); + try test__clzsi2(0xC8000000, 0); + try test__clzsi2(0xC9000000, 0); + try test__clzsi2(0xCA000000, 0); + try test__clzsi2(0xCB000000, 0); + try test__clzsi2(0xCC000000, 0); + try test__clzsi2(0xCD000000, 0); + try test__clzsi2(0xCE000000, 0); + try test__clzsi2(0xCF000000, 0); + try test__clzsi2(0xD0000000, 0); + try test__clzsi2(0xD1000000, 0); + try test__clzsi2(0xD2000000, 0); + try test__clzsi2(0xD3000000, 0); + try test__clzsi2(0xD4000000, 0); + try test__clzsi2(0xD5000000, 0); + try test__clzsi2(0xD6000000, 0); + try test__clzsi2(0xD7000000, 0); + try test__clzsi2(0xD8000000, 0); + try test__clzsi2(0xD9000000, 0); + try test__clzsi2(0xDA000000, 0); + try test__clzsi2(0xDB000000, 0); + try test__clzsi2(0xDC000000, 0); + try test__clzsi2(0xDD000000, 0); + try test__clzsi2(0xDE000000, 0); + try test__clzsi2(0xDF000000, 0); + try test__clzsi2(0xE0000000, 0); + try test__clzsi2(0xE1000000, 0); + try test__clzsi2(0xE2000000, 0); + try test__clzsi2(0xE3000000, 0); + try test__clzsi2(0xE4000000, 0); + try test__clzsi2(0xE5000000, 0); + try test__clzsi2(0xE6000000, 0); + try test__clzsi2(0xE7000000, 0); + try test__clzsi2(0xE8000000, 0); + try test__clzsi2(0xE9000000, 0); + try test__clzsi2(0xEA000000, 0); + try test__clzsi2(0xEB000000, 0); + try test__clzsi2(0xEC000000, 0); + try test__clzsi2(0xED000000, 0); + try test__clzsi2(0xEE000000, 0); + try test__clzsi2(0xEF000000, 0); + try test__clzsi2(0xF0000000, 0); + try test__clzsi2(0xF1000000, 0); + try test__clzsi2(0xF2000000, 0); + try test__clzsi2(0xF3000000, 0); + try test__clzsi2(0xF4000000, 0); + try test__clzsi2(0xF5000000, 0); + try test__clzsi2(0xF6000000, 0); + try test__clzsi2(0xF7000000, 0); + try test__clzsi2(0xF8000000, 0); + try test__clzsi2(0xF9000000, 0); + try test__clzsi2(0xFA000000, 0); + try test__clzsi2(0xFB000000, 0); + try test__clzsi2(0xFC000000, 0); + try test__clzsi2(0xFD000000, 0); + try test__clzsi2(0xFE000000, 0); + try test__clzsi2(0xFF000000, 0); + try test__clzsi2(0x00000001, 31); + try test__clzsi2(0x00000002, 30); + try test__clzsi2(0x00000004, 29); + try test__clzsi2(0x00000008, 28); + try test__clzsi2(0x00000010, 27); + try test__clzsi2(0x00000020, 26); + try test__clzsi2(0x00000040, 25); + try test__clzsi2(0x00000080, 24); + try test__clzsi2(0x00000100, 23); + try test__clzsi2(0x00000200, 22); + try test__clzsi2(0x00000400, 21); + try test__clzsi2(0x00000800, 20); + try test__clzsi2(0x00001000, 19); + try test__clzsi2(0x00002000, 18); + try test__clzsi2(0x00004000, 17); + try test__clzsi2(0x00008000, 16); + try test__clzsi2(0x00010000, 15); + try test__clzsi2(0x00020000, 14); + try test__clzsi2(0x00040000, 13); + try test__clzsi2(0x00080000, 12); + try test__clzsi2(0x00100000, 11); + try test__clzsi2(0x00200000, 10); + try test__clzsi2(0x00400000, 9); } diff --git a/lib/std/special/compiler_rt/divdf3_test.zig b/lib/std/special/compiler_rt/divdf3_test.zig index 0bced93de5..a472b5ed08 100644 --- a/lib/std/special/compiler_rt/divdf3_test.zig +++ b/lib/std/special/compiler_rt/divdf3_test.zig @@ -27,13 +27,13 @@ fn compareResultD(result: f64, expected: u64) bool { return false; } -fn test__divdf3(a: f64, b: f64, expected: u64) void { +fn test__divdf3(a: f64, b: f64, expected: u64) !void { const x = __divdf3(a, b); const ret = compareResultD(x, expected); try testing.expect(ret == true); } test "divdf3" { - test__divdf3(1.0, 3.0, 0x3fd5555555555555); - test__divdf3(4.450147717014403e-308, 2.0, 0x10000000000000); + try test__divdf3(1.0, 3.0, 0x3fd5555555555555); + try test__divdf3(4.450147717014403e-308, 2.0, 0x10000000000000); } diff --git a/lib/std/special/compiler_rt/divsf3_test.zig b/lib/std/special/compiler_rt/divsf3_test.zig index b7bf220d8b..97f34d34a5 100644 --- a/lib/std/special/compiler_rt/divsf3_test.zig +++ b/lib/std/special/compiler_rt/divsf3_test.zig @@ -27,13 +27,13 @@ fn compareResultF(result: f32, expected: u32) bool { return false; } -fn test__divsf3(a: f32, b: f32, expected: u32) void { +fn test__divsf3(a: f32, b: f32, expected: u32) !void { const x = __divsf3(a, b); const ret = compareResultF(x, expected); try testing.expect(ret == true); } test "divsf3" { - test__divsf3(1.0, 3.0, 0x3EAAAAAB); - test__divsf3(2.3509887e-38, 2.0, 0x00800000); + try test__divsf3(1.0, 3.0, 0x3EAAAAAB); + try test__divsf3(2.3509887e-38, 2.0, 0x00800000); } diff --git a/lib/std/special/compiler_rt/divtf3_test.zig b/lib/std/special/compiler_rt/divtf3_test.zig index 325be493cd..3915177091 100644 --- a/lib/std/special/compiler_rt/divtf3_test.zig +++ b/lib/std/special/compiler_rt/divtf3_test.zig @@ -28,7 +28,7 @@ fn compareResultLD(result: f128, expectedHi: u64, expectedLo: u64) bool { return false; } -fn test__divtf3(a: f128, b: f128, expectedHi: u64, expectedLo: u64) void { +fn test__divtf3(a: f128, b: f128, expectedHi: u64, expectedLo: u64) !void { const x = __divtf3(a, b); const ret = compareResultLD(x, expectedHi, expectedLo); try testing.expect(ret == true); @@ -36,16 +36,16 @@ fn test__divtf3(a: f128, b: f128, expectedHi: u64, expectedLo: u64) void { test "divtf3" { // qNaN / any = qNaN - test__divtf3(math.qnan_f128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0); + try test__divtf3(math.qnan_f128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0); // NaN / any = NaN - test__divtf3(math.nan_f128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0); + try test__divtf3(math.nan_f128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0); // inf / any = inf - test__divtf3(math.inf_f128, 0x1.23456789abcdefp+5, 0x7fff000000000000, 0); + try test__divtf3(math.inf_f128, 0x1.23456789abcdefp+5, 0x7fff000000000000, 0); - test__divtf3(0x1.a23b45362464523375893ab4cdefp+5, 0x1.eedcbaba3a94546558237654321fp-1, 0x4004b0b72924d407, 0x0717e84356c6eba2); - test__divtf3(0x1.a2b34c56d745382f9abf2c3dfeffp-50, 0x1.ed2c3ba15935332532287654321fp-9, 0x3fd5b2af3f828c9b, 0x40e51f64cde8b1f2); - test__divtf3(0x1.2345f6aaaa786555f42432abcdefp+456, 0x1.edacbba9874f765463544dd3621fp+6400, 0x28c62e15dc464466, 0xb5a07586348557ac); - test__divtf3(0x1.2d3456f789ba6322bc665544edefp-234, 0x1.eddcdba39f3c8b7a36564354321fp-4455, 0x507b38442b539266, 0x22ce0f1d024e1252); - test__divtf3(0x1.2345f6b77b7a8953365433abcdefp+234, 0x1.edcba987d6bb3aa467754354321fp-4055, 0x50bf2e02f0798d36, 0x5e6fcb6b60044078); - test__divtf3(6.72420628622418701252535563464350521E-4932, 2.0, 0x0001000000000000, 0); + try test__divtf3(0x1.a23b45362464523375893ab4cdefp+5, 0x1.eedcbaba3a94546558237654321fp-1, 0x4004b0b72924d407, 0x0717e84356c6eba2); + try test__divtf3(0x1.a2b34c56d745382f9abf2c3dfeffp-50, 0x1.ed2c3ba15935332532287654321fp-9, 0x3fd5b2af3f828c9b, 0x40e51f64cde8b1f2); + try test__divtf3(0x1.2345f6aaaa786555f42432abcdefp+456, 0x1.edacbba9874f765463544dd3621fp+6400, 0x28c62e15dc464466, 0xb5a07586348557ac); + try test__divtf3(0x1.2d3456f789ba6322bc665544edefp-234, 0x1.eddcdba39f3c8b7a36564354321fp-4455, 0x507b38442b539266, 0x22ce0f1d024e1252); + try test__divtf3(0x1.2345f6b77b7a8953365433abcdefp+234, 0x1.edcba987d6bb3aa467754354321fp-4055, 0x50bf2e02f0798d36, 0x5e6fcb6b60044078); + try test__divtf3(6.72420628622418701252535563464350521E-4932, 2.0, 0x0001000000000000, 0); } diff --git a/lib/std/special/compiler_rt/divti3_test.zig b/lib/std/special/compiler_rt/divti3_test.zig index 61aab97475..c4f7fd01b6 100644 --- a/lib/std/special/compiler_rt/divti3_test.zig +++ b/lib/std/special/compiler_rt/divti3_test.zig @@ -6,21 +6,21 @@ const __divti3 = @import("divti3.zig").__divti3; const testing = @import("std").testing; -fn test__divti3(a: i128, b: i128, expected: i128) void { +fn test__divti3(a: i128, b: i128, expected: i128) !void { const x = __divti3(a, b); try testing.expect(x == expected); } test "divti3" { - test__divti3(0, 1, 0); - test__divti3(0, -1, 0); - test__divti3(2, 1, 2); - test__divti3(2, -1, -2); - test__divti3(-2, 1, -2); - test__divti3(-2, -1, 2); + try test__divti3(0, 1, 0); + try test__divti3(0, -1, 0); + try test__divti3(2, 1, 2); + try test__divti3(2, -1, -2); + try test__divti3(-2, 1, -2); + try test__divti3(-2, -1, 2); - test__divti3(@bitCast(i128, @as(u128, 0x8 << 124)), 1, @bitCast(i128, @as(u128, 0x8 << 124))); - test__divti3(@bitCast(i128, @as(u128, 0x8 << 124)), -1, @bitCast(i128, @as(u128, 0x8 << 124))); - test__divti3(@bitCast(i128, @as(u128, 0x8 << 124)), -2, @bitCast(i128, @as(u128, 0x4 << 124))); - test__divti3(@bitCast(i128, @as(u128, 0x8 << 124)), 2, @bitCast(i128, @as(u128, 0xc << 124))); + try test__divti3(@bitCast(i128, @as(u128, 0x8 << 124)), 1, @bitCast(i128, @as(u128, 0x8 << 124))); + try test__divti3(@bitCast(i128, @as(u128, 0x8 << 124)), -1, @bitCast(i128, @as(u128, 0x8 << 124))); + try test__divti3(@bitCast(i128, @as(u128, 0x8 << 124)), -2, @bitCast(i128, @as(u128, 0x4 << 124))); + try test__divti3(@bitCast(i128, @as(u128, 0x8 << 124)), 2, @bitCast(i128, @as(u128, 0xc << 124))); } diff --git a/lib/std/special/compiler_rt/extendXfYf2_test.zig b/lib/std/special/compiler_rt/extendXfYf2_test.zig index f05d33eac3..f75b9d9297 100644 --- a/lib/std/special/compiler_rt/extendXfYf2_test.zig +++ b/lib/std/special/compiler_rt/extendXfYf2_test.zig @@ -9,7 +9,7 @@ const __extendhftf2 = @import("extendXfYf2.zig").__extendhftf2; const __extendsftf2 = @import("extendXfYf2.zig").__extendsftf2; const __extenddftf2 = @import("extendXfYf2.zig").__extenddftf2; -fn test__extenddftf2(a: f64, expectedHi: u64, expectedLo: u64) void { +fn test__extenddftf2(a: f64, expectedHi: u64, expectedLo: u64) !void { const x = __extenddftf2(a); const rep = @bitCast(u128, x); @@ -31,7 +31,7 @@ fn test__extenddftf2(a: f64, expectedHi: u64, expectedLo: u64) void { @panic("__extenddftf2 test failure"); } -fn test__extendhfsf2(a: u16, expected: u32) void { +fn test__extendhfsf2(a: u16, expected: u32) !void { const x = __extendhfsf2(a); const rep = @bitCast(u32, x); @@ -44,10 +44,10 @@ fn test__extendhfsf2(a: u16, expected: u32) void { } } - @panic("__extendhfsf2 test failure"); + return error.TestFailure; } -fn test__extendsftf2(a: f32, expectedHi: u64, expectedLo: u64) void { +fn test__extendsftf2(a: f32, expectedHi: u64, expectedLo: u64) !void { const x = __extendsftf2(a); const rep = @bitCast(u128, x); @@ -66,77 +66,77 @@ fn test__extendsftf2(a: f32, expectedHi: u64, expectedLo: u64) void { } } - @panic("__extendsftf2 test failure"); + return error.TestFailure; } test "extenddftf2" { // qNaN - test__extenddftf2(makeQNaN64(), 0x7fff800000000000, 0x0); + try test__extenddftf2(makeQNaN64(), 0x7fff800000000000, 0x0); // NaN - test__extenddftf2(makeNaN64(0x7100000000000), 0x7fff710000000000, 0x0); + try test__extenddftf2(makeNaN64(0x7100000000000), 0x7fff710000000000, 0x0); // inf - test__extenddftf2(makeInf64(), 0x7fff000000000000, 0x0); + try test__extenddftf2(makeInf64(), 0x7fff000000000000, 0x0); // zero - test__extenddftf2(0.0, 0x0, 0x0); + try test__extenddftf2(0.0, 0x0, 0x0); - test__extenddftf2(0x1.23456789abcdefp+5, 0x400423456789abcd, 0xf000000000000000); + try test__extenddftf2(0x1.23456789abcdefp+5, 0x400423456789abcd, 0xf000000000000000); - test__extenddftf2(0x1.edcba987654321fp-9, 0x3ff6edcba9876543, 0x2000000000000000); + try test__extenddftf2(0x1.edcba987654321fp-9, 0x3ff6edcba9876543, 0x2000000000000000); - test__extenddftf2(0x1.23456789abcdefp+45, 0x402c23456789abcd, 0xf000000000000000); + try test__extenddftf2(0x1.23456789abcdefp+45, 0x402c23456789abcd, 0xf000000000000000); - test__extenddftf2(0x1.edcba987654321fp-45, 0x3fd2edcba9876543, 0x2000000000000000); + try test__extenddftf2(0x1.edcba987654321fp-45, 0x3fd2edcba9876543, 0x2000000000000000); } test "extendhfsf2" { - test__extendhfsf2(0x7e00, 0x7fc00000); // qNaN - test__extendhfsf2(0x7f00, 0x7fe00000); // sNaN + try test__extendhfsf2(0x7e00, 0x7fc00000); // qNaN + try test__extendhfsf2(0x7f00, 0x7fe00000); // sNaN // On x86 the NaN becomes quiet because the return is pushed on the x87 // stack due to ABI requirements if (builtin.arch != .i386 and builtin.os.tag == .windows) - test__extendhfsf2(0x7c01, 0x7f802000); // sNaN + try test__extendhfsf2(0x7c01, 0x7f802000); // sNaN - test__extendhfsf2(0, 0); // 0 - test__extendhfsf2(0x8000, 0x80000000); // -0 + try test__extendhfsf2(0, 0); // 0 + try test__extendhfsf2(0x8000, 0x80000000); // -0 - test__extendhfsf2(0x7c00, 0x7f800000); // inf - test__extendhfsf2(0xfc00, 0xff800000); // -inf + try test__extendhfsf2(0x7c00, 0x7f800000); // inf + try test__extendhfsf2(0xfc00, 0xff800000); // -inf - test__extendhfsf2(0x0001, 0x33800000); // denormal (min), 2**-24 - test__extendhfsf2(0x8001, 0xb3800000); // denormal (min), -2**-24 + try test__extendhfsf2(0x0001, 0x33800000); // denormal (min), 2**-24 + try test__extendhfsf2(0x8001, 0xb3800000); // denormal (min), -2**-24 - test__extendhfsf2(0x03ff, 0x387fc000); // denormal (max), 2**-14 - 2**-24 - test__extendhfsf2(0x83ff, 0xb87fc000); // denormal (max), -2**-14 + 2**-24 + try test__extendhfsf2(0x03ff, 0x387fc000); // denormal (max), 2**-14 - 2**-24 + try test__extendhfsf2(0x83ff, 0xb87fc000); // denormal (max), -2**-14 + 2**-24 - test__extendhfsf2(0x0400, 0x38800000); // normal (min), 2**-14 - test__extendhfsf2(0x8400, 0xb8800000); // normal (min), -2**-14 + try test__extendhfsf2(0x0400, 0x38800000); // normal (min), 2**-14 + try test__extendhfsf2(0x8400, 0xb8800000); // normal (min), -2**-14 - test__extendhfsf2(0x7bff, 0x477fe000); // normal (max), 65504 - test__extendhfsf2(0xfbff, 0xc77fe000); // normal (max), -65504 + try test__extendhfsf2(0x7bff, 0x477fe000); // normal (max), 65504 + try test__extendhfsf2(0xfbff, 0xc77fe000); // normal (max), -65504 - test__extendhfsf2(0x3c01, 0x3f802000); // normal, 1 + 2**-10 - test__extendhfsf2(0xbc01, 0xbf802000); // normal, -1 - 2**-10 + try test__extendhfsf2(0x3c01, 0x3f802000); // normal, 1 + 2**-10 + try test__extendhfsf2(0xbc01, 0xbf802000); // normal, -1 - 2**-10 - test__extendhfsf2(0x3555, 0x3eaaa000); // normal, approx. 1/3 - test__extendhfsf2(0xb555, 0xbeaaa000); // normal, approx. -1/3 + try test__extendhfsf2(0x3555, 0x3eaaa000); // normal, approx. 1/3 + try test__extendhfsf2(0xb555, 0xbeaaa000); // normal, approx. -1/3 } test "extendsftf2" { // qNaN - test__extendsftf2(makeQNaN32(), 0x7fff800000000000, 0x0); + try test__extendsftf2(makeQNaN32(), 0x7fff800000000000, 0x0); // NaN - test__extendsftf2(makeNaN32(0x410000), 0x7fff820000000000, 0x0); + try test__extendsftf2(makeNaN32(0x410000), 0x7fff820000000000, 0x0); // inf - test__extendsftf2(makeInf32(), 0x7fff000000000000, 0x0); + try test__extendsftf2(makeInf32(), 0x7fff000000000000, 0x0); // zero - test__extendsftf2(0.0, 0x0, 0x0); - test__extendsftf2(0x1.23456p+5, 0x4004234560000000, 0x0); - test__extendsftf2(0x1.edcbap-9, 0x3ff6edcba0000000, 0x0); - test__extendsftf2(0x1.23456p+45, 0x402c234560000000, 0x0); - test__extendsftf2(0x1.edcbap-45, 0x3fd2edcba0000000, 0x0); + try test__extendsftf2(0.0, 0x0, 0x0); + try test__extendsftf2(0x1.23456p+5, 0x4004234560000000, 0x0); + try test__extendsftf2(0x1.edcbap-9, 0x3ff6edcba0000000, 0x0); + try test__extendsftf2(0x1.23456p+45, 0x402c234560000000, 0x0); + try test__extendsftf2(0x1.edcbap-45, 0x3fd2edcba0000000, 0x0); } fn makeQNaN64() f64 { @@ -163,7 +163,7 @@ fn makeInf32() f32 { return @bitCast(f32, @as(u32, 0x7f800000)); } -fn test__extendhftf2(a: u16, expectedHi: u64, expectedLo: u64) void { +fn test__extendhftf2(a: u16, expectedHi: u64, expectedLo: u64) !void { const x = __extendhftf2(a); const rep = @bitCast(u128, x); @@ -182,29 +182,29 @@ fn test__extendhftf2(a: u16, expectedHi: u64, expectedLo: u64) void { } } - @panic("__extendhftf2 test failure"); + return error.TestFailure; } test "extendhftf2" { // qNaN - test__extendhftf2(0x7e00, 0x7fff800000000000, 0x0); + try test__extendhftf2(0x7e00, 0x7fff800000000000, 0x0); // NaN - test__extendhftf2(0x7d00, 0x7fff400000000000, 0x0); + try test__extendhftf2(0x7d00, 0x7fff400000000000, 0x0); // inf - test__extendhftf2(0x7c00, 0x7fff000000000000, 0x0); - test__extendhftf2(0xfc00, 0xffff000000000000, 0x0); + try test__extendhftf2(0x7c00, 0x7fff000000000000, 0x0); + try test__extendhftf2(0xfc00, 0xffff000000000000, 0x0); // zero - test__extendhftf2(0x0000, 0x0000000000000000, 0x0); - test__extendhftf2(0x8000, 0x8000000000000000, 0x0); + try test__extendhftf2(0x0000, 0x0000000000000000, 0x0); + try test__extendhftf2(0x8000, 0x8000000000000000, 0x0); // denormal - test__extendhftf2(0x0010, 0x3feb000000000000, 0x0); - test__extendhftf2(0x0001, 0x3fe7000000000000, 0x0); - test__extendhftf2(0x8001, 0xbfe7000000000000, 0x0); + try test__extendhftf2(0x0010, 0x3feb000000000000, 0x0); + try test__extendhftf2(0x0001, 0x3fe7000000000000, 0x0); + try test__extendhftf2(0x8001, 0xbfe7000000000000, 0x0); // pi - test__extendhftf2(0x4248, 0x4000920000000000, 0x0); - test__extendhftf2(0xc248, 0xc000920000000000, 0x0); + try test__extendhftf2(0x4248, 0x4000920000000000, 0x0); + try test__extendhftf2(0xc248, 0xc000920000000000, 0x0); - test__extendhftf2(0x508c, 0x4004230000000000, 0x0); - test__extendhftf2(0x1bb7, 0x3ff6edc000000000, 0x0); + try test__extendhftf2(0x508c, 0x4004230000000000, 0x0); + try test__extendhftf2(0x1bb7, 0x3ff6edc000000000, 0x0); } diff --git a/lib/std/special/compiler_rt/fixdfdi_test.zig b/lib/std/special/compiler_rt/fixdfdi_test.zig index cc638e1e50..c8220b532d 100644 --- a/lib/std/special/compiler_rt/fixdfdi_test.zig +++ b/lib/std/special/compiler_rt/fixdfdi_test.zig @@ -9,7 +9,7 @@ const math = std.math; const testing = std.testing; const warn = std.debug.warn; -fn test__fixdfdi(a: f64, expected: i64) void { +fn test__fixdfdi(a: f64, expected: i64) !void { const x = __fixdfdi(a); //warn("a={}:{x} x={}:{x} expected={}:{x}:@as(u64, {x})\n", .{a, @bitCast(u64, a), x, x, expected, expected, @bitCast(u64, expected)}); try testing.expect(x == expected); @@ -17,54 +17,54 @@ fn test__fixdfdi(a: f64, expected: i64) void { test "fixdfdi" { //warn("\n", .{}); - test__fixdfdi(-math.f64_max, math.minInt(i64)); + try test__fixdfdi(-math.f64_max, math.minInt(i64)); - test__fixdfdi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i64)); - test__fixdfdi(-0x1.FFFFFFFFFFFFFp+1023, -0x8000000000000000); + try test__fixdfdi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i64)); + try test__fixdfdi(-0x1.FFFFFFFFFFFFFp+1023, -0x8000000000000000); - test__fixdfdi(-0x1.0000000000000p+127, -0x8000000000000000); - test__fixdfdi(-0x1.FFFFFFFFFFFFFp+126, -0x8000000000000000); - test__fixdfdi(-0x1.FFFFFFFFFFFFEp+126, -0x8000000000000000); + try test__fixdfdi(-0x1.0000000000000p+127, -0x8000000000000000); + try test__fixdfdi(-0x1.FFFFFFFFFFFFFp+126, -0x8000000000000000); + try test__fixdfdi(-0x1.FFFFFFFFFFFFEp+126, -0x8000000000000000); - test__fixdfdi(-0x1.0000000000001p+63, -0x8000000000000000); - test__fixdfdi(-0x1.0000000000000p+63, -0x8000000000000000); - test__fixdfdi(-0x1.FFFFFFFFFFFFFp+62, -0x7FFFFFFFFFFFFC00); - test__fixdfdi(-0x1.FFFFFFFFFFFFEp+62, -0x7FFFFFFFFFFFF800); + try test__fixdfdi(-0x1.0000000000001p+63, -0x8000000000000000); + try test__fixdfdi(-0x1.0000000000000p+63, -0x8000000000000000); + try test__fixdfdi(-0x1.FFFFFFFFFFFFFp+62, -0x7FFFFFFFFFFFFC00); + try test__fixdfdi(-0x1.FFFFFFFFFFFFEp+62, -0x7FFFFFFFFFFFF800); - test__fixdfdi(-0x1.FFFFFEp+62, -0x7fffff8000000000); - test__fixdfdi(-0x1.FFFFFCp+62, -0x7fffff0000000000); + try test__fixdfdi(-0x1.FFFFFEp+62, -0x7fffff8000000000); + try test__fixdfdi(-0x1.FFFFFCp+62, -0x7fffff0000000000); - test__fixdfdi(-2.01, -2); - test__fixdfdi(-2.0, -2); - test__fixdfdi(-1.99, -1); - test__fixdfdi(-1.0, -1); - test__fixdfdi(-0.99, 0); - test__fixdfdi(-0.5, 0); - test__fixdfdi(-math.f64_min, 0); - test__fixdfdi(0.0, 0); - test__fixdfdi(math.f64_min, 0); - test__fixdfdi(0.5, 0); - test__fixdfdi(0.99, 0); - test__fixdfdi(1.0, 1); - test__fixdfdi(1.5, 1); - test__fixdfdi(1.99, 1); - test__fixdfdi(2.0, 2); - test__fixdfdi(2.01, 2); + try test__fixdfdi(-2.01, -2); + try test__fixdfdi(-2.0, -2); + try test__fixdfdi(-1.99, -1); + try test__fixdfdi(-1.0, -1); + try test__fixdfdi(-0.99, 0); + try test__fixdfdi(-0.5, 0); + try test__fixdfdi(-math.f64_min, 0); + try test__fixdfdi(0.0, 0); + try test__fixdfdi(math.f64_min, 0); + try test__fixdfdi(0.5, 0); + try test__fixdfdi(0.99, 0); + try test__fixdfdi(1.0, 1); + try test__fixdfdi(1.5, 1); + try test__fixdfdi(1.99, 1); + try test__fixdfdi(2.0, 2); + try test__fixdfdi(2.01, 2); - test__fixdfdi(0x1.FFFFFCp+62, 0x7FFFFF0000000000); - test__fixdfdi(0x1.FFFFFEp+62, 0x7FFFFF8000000000); + try test__fixdfdi(0x1.FFFFFCp+62, 0x7FFFFF0000000000); + try test__fixdfdi(0x1.FFFFFEp+62, 0x7FFFFF8000000000); - test__fixdfdi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800); - test__fixdfdi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00); - test__fixdfdi(0x1.0000000000000p+63, 0x7FFFFFFFFFFFFFFF); - test__fixdfdi(0x1.0000000000001p+63, 0x7FFFFFFFFFFFFFFF); + try test__fixdfdi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800); + try test__fixdfdi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00); + try test__fixdfdi(0x1.0000000000000p+63, 0x7FFFFFFFFFFFFFFF); + try test__fixdfdi(0x1.0000000000001p+63, 0x7FFFFFFFFFFFFFFF); - test__fixdfdi(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFFFFF); - test__fixdfdi(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFFFF); - test__fixdfdi(0x1.0000000000000p+127, 0x7FFFFFFFFFFFFFFF); + try test__fixdfdi(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFFFFF); + try test__fixdfdi(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFFFF); + try test__fixdfdi(0x1.0000000000000p+127, 0x7FFFFFFFFFFFFFFF); - test__fixdfdi(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFFFFFFFFFF); - test__fixdfdi(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i64)); + try test__fixdfdi(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFFFFFFFFFF); + try test__fixdfdi(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i64)); - test__fixdfdi(math.f64_max, math.maxInt(i64)); + try test__fixdfdi(math.f64_max, math.maxInt(i64)); } diff --git a/lib/std/special/compiler_rt/fixdfsi_test.zig b/lib/std/special/compiler_rt/fixdfsi_test.zig index e1425f8d5e..c9ebcbeddc 100644 --- a/lib/std/special/compiler_rt/fixdfsi_test.zig +++ b/lib/std/special/compiler_rt/fixdfsi_test.zig @@ -9,7 +9,7 @@ const math = std.math; const testing = std.testing; const warn = std.debug.warn; -fn test__fixdfsi(a: f64, expected: i32) void { +fn test__fixdfsi(a: f64, expected: i32) !void { const x = __fixdfsi(a); //warn("a={}:{x} x={}:{x} expected={}:{x}:@as(u64, {x})\n", .{a, @bitCast(u64, a), x, x, expected, expected, @bitCast(u32, expected)}); try testing.expect(x == expected); @@ -17,62 +17,62 @@ fn test__fixdfsi(a: f64, expected: i32) void { test "fixdfsi" { //warn("\n", .{}); - test__fixdfsi(-math.f64_max, math.minInt(i32)); + try test__fixdfsi(-math.f64_max, math.minInt(i32)); - test__fixdfsi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i32)); - test__fixdfsi(-0x1.FFFFFFFFFFFFFp+1023, -0x80000000); + try test__fixdfsi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i32)); + try test__fixdfsi(-0x1.FFFFFFFFFFFFFp+1023, -0x80000000); - test__fixdfsi(-0x1.0000000000000p+127, -0x80000000); - test__fixdfsi(-0x1.FFFFFFFFFFFFFp+126, -0x80000000); - test__fixdfsi(-0x1.FFFFFFFFFFFFEp+126, -0x80000000); + try test__fixdfsi(-0x1.0000000000000p+127, -0x80000000); + try test__fixdfsi(-0x1.FFFFFFFFFFFFFp+126, -0x80000000); + try test__fixdfsi(-0x1.FFFFFFFFFFFFEp+126, -0x80000000); - test__fixdfsi(-0x1.0000000000001p+63, -0x80000000); - test__fixdfsi(-0x1.0000000000000p+63, -0x80000000); - test__fixdfsi(-0x1.FFFFFFFFFFFFFp+62, -0x80000000); - test__fixdfsi(-0x1.FFFFFFFFFFFFEp+62, -0x80000000); + try test__fixdfsi(-0x1.0000000000001p+63, -0x80000000); + try test__fixdfsi(-0x1.0000000000000p+63, -0x80000000); + try test__fixdfsi(-0x1.FFFFFFFFFFFFFp+62, -0x80000000); + try test__fixdfsi(-0x1.FFFFFFFFFFFFEp+62, -0x80000000); - test__fixdfsi(-0x1.FFFFFEp+62, -0x80000000); - test__fixdfsi(-0x1.FFFFFCp+62, -0x80000000); + try test__fixdfsi(-0x1.FFFFFEp+62, -0x80000000); + try test__fixdfsi(-0x1.FFFFFCp+62, -0x80000000); - test__fixdfsi(-0x1.000000p+31, -0x80000000); - test__fixdfsi(-0x1.FFFFFFp+30, -0x7FFFFFC0); - test__fixdfsi(-0x1.FFFFFEp+30, -0x7FFFFF80); + try test__fixdfsi(-0x1.000000p+31, -0x80000000); + try test__fixdfsi(-0x1.FFFFFFp+30, -0x7FFFFFC0); + try test__fixdfsi(-0x1.FFFFFEp+30, -0x7FFFFF80); - test__fixdfsi(-2.01, -2); - test__fixdfsi(-2.0, -2); - test__fixdfsi(-1.99, -1); - test__fixdfsi(-1.0, -1); - test__fixdfsi(-0.99, 0); - test__fixdfsi(-0.5, 0); - test__fixdfsi(-math.f64_min, 0); - test__fixdfsi(0.0, 0); - test__fixdfsi(math.f64_min, 0); - test__fixdfsi(0.5, 0); - test__fixdfsi(0.99, 0); - test__fixdfsi(1.0, 1); - test__fixdfsi(1.5, 1); - test__fixdfsi(1.99, 1); - test__fixdfsi(2.0, 2); - test__fixdfsi(2.01, 2); + try test__fixdfsi(-2.01, -2); + try test__fixdfsi(-2.0, -2); + try test__fixdfsi(-1.99, -1); + try test__fixdfsi(-1.0, -1); + try test__fixdfsi(-0.99, 0); + try test__fixdfsi(-0.5, 0); + try test__fixdfsi(-math.f64_min, 0); + try test__fixdfsi(0.0, 0); + try test__fixdfsi(math.f64_min, 0); + try test__fixdfsi(0.5, 0); + try test__fixdfsi(0.99, 0); + try test__fixdfsi(1.0, 1); + try test__fixdfsi(1.5, 1); + try test__fixdfsi(1.99, 1); + try test__fixdfsi(2.0, 2); + try test__fixdfsi(2.01, 2); - test__fixdfsi(0x1.FFFFFEp+30, 0x7FFFFF80); - test__fixdfsi(0x1.FFFFFFp+30, 0x7FFFFFC0); - test__fixdfsi(0x1.000000p+31, 0x7FFFFFFF); + try test__fixdfsi(0x1.FFFFFEp+30, 0x7FFFFF80); + try test__fixdfsi(0x1.FFFFFFp+30, 0x7FFFFFC0); + try test__fixdfsi(0x1.000000p+31, 0x7FFFFFFF); - test__fixdfsi(0x1.FFFFFCp+62, 0x7FFFFFFF); - test__fixdfsi(0x1.FFFFFEp+62, 0x7FFFFFFF); + try test__fixdfsi(0x1.FFFFFCp+62, 0x7FFFFFFF); + try test__fixdfsi(0x1.FFFFFEp+62, 0x7FFFFFFF); - test__fixdfsi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFF); - test__fixdfsi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFF); - test__fixdfsi(0x1.0000000000000p+63, 0x7FFFFFFF); - test__fixdfsi(0x1.0000000000001p+63, 0x7FFFFFFF); + try test__fixdfsi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFF); + try test__fixdfsi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFF); + try test__fixdfsi(0x1.0000000000000p+63, 0x7FFFFFFF); + try test__fixdfsi(0x1.0000000000001p+63, 0x7FFFFFFF); - test__fixdfsi(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFF); - test__fixdfsi(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFF); - test__fixdfsi(0x1.0000000000000p+127, 0x7FFFFFFF); + try test__fixdfsi(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFF); + try test__fixdfsi(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFF); + try test__fixdfsi(0x1.0000000000000p+127, 0x7FFFFFFF); - test__fixdfsi(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFF); - test__fixdfsi(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i32)); + try test__fixdfsi(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFF); + try test__fixdfsi(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i32)); - test__fixdfsi(math.f64_max, math.maxInt(i32)); + try test__fixdfsi(math.f64_max, math.maxInt(i32)); } diff --git a/lib/std/special/compiler_rt/fixdfti_test.zig b/lib/std/special/compiler_rt/fixdfti_test.zig index 99a0b90bf6..76f08f985d 100644 --- a/lib/std/special/compiler_rt/fixdfti_test.zig +++ b/lib/std/special/compiler_rt/fixdfti_test.zig @@ -9,7 +9,7 @@ const math = std.math; const testing = std.testing; const warn = std.debug.warn; -fn test__fixdfti(a: f64, expected: i128) void { +fn test__fixdfti(a: f64, expected: i128) !void { const x = __fixdfti(a); //warn("a={}:{x} x={}:{x} expected={}:{x}:@as(u64, {x})\n", .{a, @bitCast(u64, a), x, x, expected, expected, @bitCast(u128, expected)}); try testing.expect(x == expected); @@ -17,54 +17,54 @@ fn test__fixdfti(a: f64, expected: i128) void { test "fixdfti" { //warn("\n", .{}); - test__fixdfti(-math.f64_max, math.minInt(i128)); + try test__fixdfti(-math.f64_max, math.minInt(i128)); - test__fixdfti(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i128)); - test__fixdfti(-0x1.FFFFFFFFFFFFFp+1023, -0x80000000000000000000000000000000); + try test__fixdfti(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i128)); + try test__fixdfti(-0x1.FFFFFFFFFFFFFp+1023, -0x80000000000000000000000000000000); - test__fixdfti(-0x1.0000000000000p+127, -0x80000000000000000000000000000000); - test__fixdfti(-0x1.FFFFFFFFFFFFFp+126, -0x7FFFFFFFFFFFFC000000000000000000); - test__fixdfti(-0x1.FFFFFFFFFFFFEp+126, -0x7FFFFFFFFFFFF8000000000000000000); + try test__fixdfti(-0x1.0000000000000p+127, -0x80000000000000000000000000000000); + try test__fixdfti(-0x1.FFFFFFFFFFFFFp+126, -0x7FFFFFFFFFFFFC000000000000000000); + try test__fixdfti(-0x1.FFFFFFFFFFFFEp+126, -0x7FFFFFFFFFFFF8000000000000000000); - test__fixdfti(-0x1.0000000000001p+63, -0x8000000000000800); - test__fixdfti(-0x1.0000000000000p+63, -0x8000000000000000); - test__fixdfti(-0x1.FFFFFFFFFFFFFp+62, -0x7FFFFFFFFFFFFC00); - test__fixdfti(-0x1.FFFFFFFFFFFFEp+62, -0x7FFFFFFFFFFFF800); + try test__fixdfti(-0x1.0000000000001p+63, -0x8000000000000800); + try test__fixdfti(-0x1.0000000000000p+63, -0x8000000000000000); + try test__fixdfti(-0x1.FFFFFFFFFFFFFp+62, -0x7FFFFFFFFFFFFC00); + try test__fixdfti(-0x1.FFFFFFFFFFFFEp+62, -0x7FFFFFFFFFFFF800); - test__fixdfti(-0x1.FFFFFEp+62, -0x7fffff8000000000); - test__fixdfti(-0x1.FFFFFCp+62, -0x7fffff0000000000); + try test__fixdfti(-0x1.FFFFFEp+62, -0x7fffff8000000000); + try test__fixdfti(-0x1.FFFFFCp+62, -0x7fffff0000000000); - test__fixdfti(-2.01, -2); - test__fixdfti(-2.0, -2); - test__fixdfti(-1.99, -1); - test__fixdfti(-1.0, -1); - test__fixdfti(-0.99, 0); - test__fixdfti(-0.5, 0); - test__fixdfti(-math.f64_min, 0); - test__fixdfti(0.0, 0); - test__fixdfti(math.f64_min, 0); - test__fixdfti(0.5, 0); - test__fixdfti(0.99, 0); - test__fixdfti(1.0, 1); - test__fixdfti(1.5, 1); - test__fixdfti(1.99, 1); - test__fixdfti(2.0, 2); - test__fixdfti(2.01, 2); + try test__fixdfti(-2.01, -2); + try test__fixdfti(-2.0, -2); + try test__fixdfti(-1.99, -1); + try test__fixdfti(-1.0, -1); + try test__fixdfti(-0.99, 0); + try test__fixdfti(-0.5, 0); + try test__fixdfti(-math.f64_min, 0); + try test__fixdfti(0.0, 0); + try test__fixdfti(math.f64_min, 0); + try test__fixdfti(0.5, 0); + try test__fixdfti(0.99, 0); + try test__fixdfti(1.0, 1); + try test__fixdfti(1.5, 1); + try test__fixdfti(1.99, 1); + try test__fixdfti(2.0, 2); + try test__fixdfti(2.01, 2); - test__fixdfti(0x1.FFFFFCp+62, 0x7FFFFF0000000000); - test__fixdfti(0x1.FFFFFEp+62, 0x7FFFFF8000000000); + try test__fixdfti(0x1.FFFFFCp+62, 0x7FFFFF0000000000); + try test__fixdfti(0x1.FFFFFEp+62, 0x7FFFFF8000000000); - test__fixdfti(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800); - test__fixdfti(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00); - test__fixdfti(0x1.0000000000000p+63, 0x8000000000000000); - test__fixdfti(0x1.0000000000001p+63, 0x8000000000000800); + try test__fixdfti(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800); + try test__fixdfti(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00); + try test__fixdfti(0x1.0000000000000p+63, 0x8000000000000000); + try test__fixdfti(0x1.0000000000001p+63, 0x8000000000000800); - test__fixdfti(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFF8000000000000000000); - test__fixdfti(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFC000000000000000000); - test__fixdfti(0x1.0000000000000p+127, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); + try test__fixdfti(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFF8000000000000000000); + try test__fixdfti(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFC000000000000000000); + try test__fixdfti(0x1.0000000000000p+127, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); - test__fixdfti(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); - test__fixdfti(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i128)); + try test__fixdfti(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); + try test__fixdfti(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i128)); - test__fixdfti(math.f64_max, math.maxInt(i128)); + try test__fixdfti(math.f64_max, math.maxInt(i128)); } diff --git a/lib/std/special/compiler_rt/fixint_test.zig b/lib/std/special/compiler_rt/fixint_test.zig index 10237bca77..86bc32e642 100644 --- a/lib/std/special/compiler_rt/fixint_test.zig +++ b/lib/std/special/compiler_rt/fixint_test.zig @@ -11,147 +11,147 @@ const warn = std.debug.warn; const fixint = @import("fixint.zig").fixint; -fn test__fixint(comptime fp_t: type, comptime fixint_t: type, a: fp_t, expected: fixint_t) void { +fn test__fixint(comptime fp_t: type, comptime fixint_t: type, a: fp_t, expected: fixint_t) !void { const x = fixint(fp_t, fixint_t, a); //warn("a={} x={}:{x} expected={}:{x})\n", .{a, x, x, expected, expected}); try testing.expect(x == expected); } test "fixint.i1" { - test__fixint(f32, i1, -math.inf_f32, -1); - test__fixint(f32, i1, -math.f32_max, -1); - test__fixint(f32, i1, -2.0, -1); - test__fixint(f32, i1, -1.1, -1); - test__fixint(f32, i1, -1.0, -1); - test__fixint(f32, i1, -0.9, 0); - test__fixint(f32, i1, -0.1, 0); - test__fixint(f32, i1, -math.f32_min, 0); - test__fixint(f32, i1, -0.0, 0); - test__fixint(f32, i1, 0.0, 0); - test__fixint(f32, i1, math.f32_min, 0); - test__fixint(f32, i1, 0.1, 0); - test__fixint(f32, i1, 0.9, 0); - test__fixint(f32, i1, 1.0, 0); - test__fixint(f32, i1, 2.0, 0); - test__fixint(f32, i1, math.f32_max, 0); - test__fixint(f32, i1, math.inf_f32, 0); + try test__fixint(f32, i1, -math.inf_f32, -1); + try test__fixint(f32, i1, -math.f32_max, -1); + try test__fixint(f32, i1, -2.0, -1); + try test__fixint(f32, i1, -1.1, -1); + try test__fixint(f32, i1, -1.0, -1); + try test__fixint(f32, i1, -0.9, 0); + try test__fixint(f32, i1, -0.1, 0); + try test__fixint(f32, i1, -math.f32_min, 0); + try test__fixint(f32, i1, -0.0, 0); + try test__fixint(f32, i1, 0.0, 0); + try test__fixint(f32, i1, math.f32_min, 0); + try test__fixint(f32, i1, 0.1, 0); + try test__fixint(f32, i1, 0.9, 0); + try test__fixint(f32, i1, 1.0, 0); + try test__fixint(f32, i1, 2.0, 0); + try test__fixint(f32, i1, math.f32_max, 0); + try test__fixint(f32, i1, math.inf_f32, 0); } test "fixint.i2" { - test__fixint(f32, i2, -math.inf_f32, -2); - test__fixint(f32, i2, -math.f32_max, -2); - test__fixint(f32, i2, -2.0, -2); - test__fixint(f32, i2, -1.9, -1); - test__fixint(f32, i2, -1.1, -1); - test__fixint(f32, i2, -1.0, -1); - test__fixint(f32, i2, -0.9, 0); - test__fixint(f32, i2, -0.1, 0); - test__fixint(f32, i2, -math.f32_min, 0); - test__fixint(f32, i2, -0.0, 0); - test__fixint(f32, i2, 0.0, 0); - test__fixint(f32, i2, math.f32_min, 0); - test__fixint(f32, i2, 0.1, 0); - test__fixint(f32, i2, 0.9, 0); - test__fixint(f32, i2, 1.0, 1); - test__fixint(f32, i2, 2.0, 1); - test__fixint(f32, i2, math.f32_max, 1); - test__fixint(f32, i2, math.inf_f32, 1); + try test__fixint(f32, i2, -math.inf_f32, -2); + try test__fixint(f32, i2, -math.f32_max, -2); + try test__fixint(f32, i2, -2.0, -2); + try test__fixint(f32, i2, -1.9, -1); + try test__fixint(f32, i2, -1.1, -1); + try test__fixint(f32, i2, -1.0, -1); + try test__fixint(f32, i2, -0.9, 0); + try test__fixint(f32, i2, -0.1, 0); + try test__fixint(f32, i2, -math.f32_min, 0); + try test__fixint(f32, i2, -0.0, 0); + try test__fixint(f32, i2, 0.0, 0); + try test__fixint(f32, i2, math.f32_min, 0); + try test__fixint(f32, i2, 0.1, 0); + try test__fixint(f32, i2, 0.9, 0); + try test__fixint(f32, i2, 1.0, 1); + try test__fixint(f32, i2, 2.0, 1); + try test__fixint(f32, i2, math.f32_max, 1); + try test__fixint(f32, i2, math.inf_f32, 1); } test "fixint.i3" { - test__fixint(f32, i3, -math.inf_f32, -4); - test__fixint(f32, i3, -math.f32_max, -4); - test__fixint(f32, i3, -4.0, -4); - test__fixint(f32, i3, -3.0, -3); - test__fixint(f32, i3, -2.0, -2); - test__fixint(f32, i3, -1.9, -1); - test__fixint(f32, i3, -1.1, -1); - test__fixint(f32, i3, -1.0, -1); - test__fixint(f32, i3, -0.9, 0); - test__fixint(f32, i3, -0.1, 0); - test__fixint(f32, i3, -math.f32_min, 0); - test__fixint(f32, i3, -0.0, 0); - test__fixint(f32, i3, 0.0, 0); - test__fixint(f32, i3, math.f32_min, 0); - test__fixint(f32, i3, 0.1, 0); - test__fixint(f32, i3, 0.9, 0); - test__fixint(f32, i3, 1.0, 1); - test__fixint(f32, i3, 2.0, 2); - test__fixint(f32, i3, 3.0, 3); - test__fixint(f32, i3, 4.0, 3); - test__fixint(f32, i3, math.f32_max, 3); - test__fixint(f32, i3, math.inf_f32, 3); + try test__fixint(f32, i3, -math.inf_f32, -4); + try test__fixint(f32, i3, -math.f32_max, -4); + try test__fixint(f32, i3, -4.0, -4); + try test__fixint(f32, i3, -3.0, -3); + try test__fixint(f32, i3, -2.0, -2); + try test__fixint(f32, i3, -1.9, -1); + try test__fixint(f32, i3, -1.1, -1); + try test__fixint(f32, i3, -1.0, -1); + try test__fixint(f32, i3, -0.9, 0); + try test__fixint(f32, i3, -0.1, 0); + try test__fixint(f32, i3, -math.f32_min, 0); + try test__fixint(f32, i3, -0.0, 0); + try test__fixint(f32, i3, 0.0, 0); + try test__fixint(f32, i3, math.f32_min, 0); + try test__fixint(f32, i3, 0.1, 0); + try test__fixint(f32, i3, 0.9, 0); + try test__fixint(f32, i3, 1.0, 1); + try test__fixint(f32, i3, 2.0, 2); + try test__fixint(f32, i3, 3.0, 3); + try test__fixint(f32, i3, 4.0, 3); + try test__fixint(f32, i3, math.f32_max, 3); + try test__fixint(f32, i3, math.inf_f32, 3); } test "fixint.i32" { - test__fixint(f64, i32, -math.inf_f64, math.minInt(i32)); - test__fixint(f64, i32, -math.f64_max, math.minInt(i32)); - test__fixint(f64, i32, @as(f64, math.minInt(i32)), math.minInt(i32)); - test__fixint(f64, i32, @as(f64, math.minInt(i32)) + 1, math.minInt(i32) + 1); - test__fixint(f64, i32, -2.0, -2); - test__fixint(f64, i32, -1.9, -1); - test__fixint(f64, i32, -1.1, -1); - test__fixint(f64, i32, -1.0, -1); - test__fixint(f64, i32, -0.9, 0); - test__fixint(f64, i32, -0.1, 0); - test__fixint(f64, i32, -math.f32_min, 0); - test__fixint(f64, i32, -0.0, 0); - test__fixint(f64, i32, 0.0, 0); - test__fixint(f64, i32, math.f32_min, 0); - test__fixint(f64, i32, 0.1, 0); - test__fixint(f64, i32, 0.9, 0); - test__fixint(f64, i32, 1.0, 1); - test__fixint(f64, i32, @as(f64, math.maxInt(i32)) - 1, math.maxInt(i32) - 1); - test__fixint(f64, i32, @as(f64, math.maxInt(i32)), math.maxInt(i32)); - test__fixint(f64, i32, math.f64_max, math.maxInt(i32)); - test__fixint(f64, i32, math.inf_f64, math.maxInt(i32)); + try test__fixint(f64, i32, -math.inf_f64, math.minInt(i32)); + try test__fixint(f64, i32, -math.f64_max, math.minInt(i32)); + try test__fixint(f64, i32, @as(f64, math.minInt(i32)), math.minInt(i32)); + try test__fixint(f64, i32, @as(f64, math.minInt(i32)) + 1, math.minInt(i32) + 1); + try test__fixint(f64, i32, -2.0, -2); + try test__fixint(f64, i32, -1.9, -1); + try test__fixint(f64, i32, -1.1, -1); + try test__fixint(f64, i32, -1.0, -1); + try test__fixint(f64, i32, -0.9, 0); + try test__fixint(f64, i32, -0.1, 0); + try test__fixint(f64, i32, -math.f32_min, 0); + try test__fixint(f64, i32, -0.0, 0); + try test__fixint(f64, i32, 0.0, 0); + try test__fixint(f64, i32, math.f32_min, 0); + try test__fixint(f64, i32, 0.1, 0); + try test__fixint(f64, i32, 0.9, 0); + try test__fixint(f64, i32, 1.0, 1); + try test__fixint(f64, i32, @as(f64, math.maxInt(i32)) - 1, math.maxInt(i32) - 1); + try test__fixint(f64, i32, @as(f64, math.maxInt(i32)), math.maxInt(i32)); + try test__fixint(f64, i32, math.f64_max, math.maxInt(i32)); + try test__fixint(f64, i32, math.inf_f64, math.maxInt(i32)); } test "fixint.i64" { - test__fixint(f64, i64, -math.inf_f64, math.minInt(i64)); - test__fixint(f64, i64, -math.f64_max, math.minInt(i64)); - test__fixint(f64, i64, @as(f64, math.minInt(i64)), math.minInt(i64)); - test__fixint(f64, i64, @as(f64, math.minInt(i64)) + 1, math.minInt(i64)); - test__fixint(f64, i64, @as(f64, math.minInt(i64) / 2), math.minInt(i64) / 2); - test__fixint(f64, i64, -2.0, -2); - test__fixint(f64, i64, -1.9, -1); - test__fixint(f64, i64, -1.1, -1); - test__fixint(f64, i64, -1.0, -1); - test__fixint(f64, i64, -0.9, 0); - test__fixint(f64, i64, -0.1, 0); - test__fixint(f64, i64, -math.f32_min, 0); - test__fixint(f64, i64, -0.0, 0); - test__fixint(f64, i64, 0.0, 0); - test__fixint(f64, i64, math.f32_min, 0); - test__fixint(f64, i64, 0.1, 0); - test__fixint(f64, i64, 0.9, 0); - test__fixint(f64, i64, 1.0, 1); - test__fixint(f64, i64, @as(f64, math.maxInt(i64)) - 1, math.maxInt(i64)); - test__fixint(f64, i64, @as(f64, math.maxInt(i64)), math.maxInt(i64)); - test__fixint(f64, i64, math.f64_max, math.maxInt(i64)); - test__fixint(f64, i64, math.inf_f64, math.maxInt(i64)); + try test__fixint(f64, i64, -math.inf_f64, math.minInt(i64)); + try test__fixint(f64, i64, -math.f64_max, math.minInt(i64)); + try test__fixint(f64, i64, @as(f64, math.minInt(i64)), math.minInt(i64)); + try test__fixint(f64, i64, @as(f64, math.minInt(i64)) + 1, math.minInt(i64)); + try test__fixint(f64, i64, @as(f64, math.minInt(i64) / 2), math.minInt(i64) / 2); + try test__fixint(f64, i64, -2.0, -2); + try test__fixint(f64, i64, -1.9, -1); + try test__fixint(f64, i64, -1.1, -1); + try test__fixint(f64, i64, -1.0, -1); + try test__fixint(f64, i64, -0.9, 0); + try test__fixint(f64, i64, -0.1, 0); + try test__fixint(f64, i64, -math.f32_min, 0); + try test__fixint(f64, i64, -0.0, 0); + try test__fixint(f64, i64, 0.0, 0); + try test__fixint(f64, i64, math.f32_min, 0); + try test__fixint(f64, i64, 0.1, 0); + try test__fixint(f64, i64, 0.9, 0); + try test__fixint(f64, i64, 1.0, 1); + try test__fixint(f64, i64, @as(f64, math.maxInt(i64)) - 1, math.maxInt(i64)); + try test__fixint(f64, i64, @as(f64, math.maxInt(i64)), math.maxInt(i64)); + try test__fixint(f64, i64, math.f64_max, math.maxInt(i64)); + try test__fixint(f64, i64, math.inf_f64, math.maxInt(i64)); } test "fixint.i128" { - test__fixint(f64, i128, -math.inf_f64, math.minInt(i128)); - test__fixint(f64, i128, -math.f64_max, math.minInt(i128)); - test__fixint(f64, i128, @as(f64, math.minInt(i128)), math.minInt(i128)); - test__fixint(f64, i128, @as(f64, math.minInt(i128)) + 1, math.minInt(i128)); - test__fixint(f64, i128, -2.0, -2); - test__fixint(f64, i128, -1.9, -1); - test__fixint(f64, i128, -1.1, -1); - test__fixint(f64, i128, -1.0, -1); - test__fixint(f64, i128, -0.9, 0); - test__fixint(f64, i128, -0.1, 0); - test__fixint(f64, i128, -math.f32_min, 0); - test__fixint(f64, i128, -0.0, 0); - test__fixint(f64, i128, 0.0, 0); - test__fixint(f64, i128, math.f32_min, 0); - test__fixint(f64, i128, 0.1, 0); - test__fixint(f64, i128, 0.9, 0); - test__fixint(f64, i128, 1.0, 1); - test__fixint(f64, i128, @as(f64, math.maxInt(i128)) - 1, math.maxInt(i128)); - test__fixint(f64, i128, @as(f64, math.maxInt(i128)), math.maxInt(i128)); - test__fixint(f64, i128, math.f64_max, math.maxInt(i128)); - test__fixint(f64, i128, math.inf_f64, math.maxInt(i128)); + try test__fixint(f64, i128, -math.inf_f64, math.minInt(i128)); + try test__fixint(f64, i128, -math.f64_max, math.minInt(i128)); + try test__fixint(f64, i128, @as(f64, math.minInt(i128)), math.minInt(i128)); + try test__fixint(f64, i128, @as(f64, math.minInt(i128)) + 1, math.minInt(i128)); + try test__fixint(f64, i128, -2.0, -2); + try test__fixint(f64, i128, -1.9, -1); + try test__fixint(f64, i128, -1.1, -1); + try test__fixint(f64, i128, -1.0, -1); + try test__fixint(f64, i128, -0.9, 0); + try test__fixint(f64, i128, -0.1, 0); + try test__fixint(f64, i128, -math.f32_min, 0); + try test__fixint(f64, i128, -0.0, 0); + try test__fixint(f64, i128, 0.0, 0); + try test__fixint(f64, i128, math.f32_min, 0); + try test__fixint(f64, i128, 0.1, 0); + try test__fixint(f64, i128, 0.9, 0); + try test__fixint(f64, i128, 1.0, 1); + try test__fixint(f64, i128, @as(f64, math.maxInt(i128)) - 1, math.maxInt(i128)); + try test__fixint(f64, i128, @as(f64, math.maxInt(i128)), math.maxInt(i128)); + try test__fixint(f64, i128, math.f64_max, math.maxInt(i128)); + try test__fixint(f64, i128, math.inf_f64, math.maxInt(i128)); } diff --git a/lib/std/special/compiler_rt/fixsfdi_test.zig b/lib/std/special/compiler_rt/fixsfdi_test.zig index 50410411ca..e18a15d9a3 100644 --- a/lib/std/special/compiler_rt/fixsfdi_test.zig +++ b/lib/std/special/compiler_rt/fixsfdi_test.zig @@ -9,7 +9,7 @@ const math = std.math; const testing = std.testing; const warn = std.debug.warn; -fn test__fixsfdi(a: f32, expected: i64) void { +fn test__fixsfdi(a: f32, expected: i64) !void { const x = __fixsfdi(a); //warn("a={}:{x} x={}:{x} expected={}:{x}:@as(u32, {x})\n", .{a, @bitCast(u32, a), x, x, expected, expected, @bitCast(u64, expected)}); try testing.expect(x == expected); @@ -17,56 +17,56 @@ fn test__fixsfdi(a: f32, expected: i64) void { test "fixsfdi" { //warn("\n", .{}); - test__fixsfdi(-math.f32_max, math.minInt(i64)); + try test__fixsfdi(-math.f32_max, math.minInt(i64)); - test__fixsfdi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i64)); - test__fixsfdi(-0x1.FFFFFFFFFFFFFp+1023, -0x8000000000000000); + try test__fixsfdi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i64)); + try test__fixsfdi(-0x1.FFFFFFFFFFFFFp+1023, -0x8000000000000000); - test__fixsfdi(-0x1.0000000000000p+127, -0x8000000000000000); - test__fixsfdi(-0x1.FFFFFFFFFFFFFp+126, -0x8000000000000000); - test__fixsfdi(-0x1.FFFFFFFFFFFFEp+126, -0x8000000000000000); + try test__fixsfdi(-0x1.0000000000000p+127, -0x8000000000000000); + try test__fixsfdi(-0x1.FFFFFFFFFFFFFp+126, -0x8000000000000000); + try test__fixsfdi(-0x1.FFFFFFFFFFFFEp+126, -0x8000000000000000); - test__fixsfdi(-0x1.0000000000001p+63, -0x8000000000000000); - test__fixsfdi(-0x1.0000000000000p+63, -0x8000000000000000); - test__fixsfdi(-0x1.FFFFFFFFFFFFFp+62, -0x8000000000000000); - test__fixsfdi(-0x1.FFFFFFFFFFFFEp+62, -0x8000000000000000); + try test__fixsfdi(-0x1.0000000000001p+63, -0x8000000000000000); + try test__fixsfdi(-0x1.0000000000000p+63, -0x8000000000000000); + try test__fixsfdi(-0x1.FFFFFFFFFFFFFp+62, -0x8000000000000000); + try test__fixsfdi(-0x1.FFFFFFFFFFFFEp+62, -0x8000000000000000); - test__fixsfdi(-0x1.FFFFFFp+62, -0x8000000000000000); - test__fixsfdi(-0x1.FFFFFEp+62, -0x7fffff8000000000); - test__fixsfdi(-0x1.FFFFFCp+62, -0x7fffff0000000000); + try test__fixsfdi(-0x1.FFFFFFp+62, -0x8000000000000000); + try test__fixsfdi(-0x1.FFFFFEp+62, -0x7fffff8000000000); + try test__fixsfdi(-0x1.FFFFFCp+62, -0x7fffff0000000000); - test__fixsfdi(-2.01, -2); - test__fixsfdi(-2.0, -2); - test__fixsfdi(-1.99, -1); - test__fixsfdi(-1.0, -1); - test__fixsfdi(-0.99, 0); - test__fixsfdi(-0.5, 0); - test__fixsfdi(-math.f32_min, 0); - test__fixsfdi(0.0, 0); - test__fixsfdi(math.f32_min, 0); - test__fixsfdi(0.5, 0); - test__fixsfdi(0.99, 0); - test__fixsfdi(1.0, 1); - test__fixsfdi(1.5, 1); - test__fixsfdi(1.99, 1); - test__fixsfdi(2.0, 2); - test__fixsfdi(2.01, 2); + try test__fixsfdi(-2.01, -2); + try test__fixsfdi(-2.0, -2); + try test__fixsfdi(-1.99, -1); + try test__fixsfdi(-1.0, -1); + try test__fixsfdi(-0.99, 0); + try test__fixsfdi(-0.5, 0); + try test__fixsfdi(-math.f32_min, 0); + try test__fixsfdi(0.0, 0); + try test__fixsfdi(math.f32_min, 0); + try test__fixsfdi(0.5, 0); + try test__fixsfdi(0.99, 0); + try test__fixsfdi(1.0, 1); + try test__fixsfdi(1.5, 1); + try test__fixsfdi(1.99, 1); + try test__fixsfdi(2.0, 2); + try test__fixsfdi(2.01, 2); - test__fixsfdi(0x1.FFFFFCp+62, 0x7FFFFF0000000000); - test__fixsfdi(0x1.FFFFFEp+62, 0x7FFFFF8000000000); - test__fixsfdi(0x1.FFFFFFp+62, 0x7FFFFFFFFFFFFFFF); + try test__fixsfdi(0x1.FFFFFCp+62, 0x7FFFFF0000000000); + try test__fixsfdi(0x1.FFFFFEp+62, 0x7FFFFF8000000000); + try test__fixsfdi(0x1.FFFFFFp+62, 0x7FFFFFFFFFFFFFFF); - test__fixsfdi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFFFFF); - test__fixsfdi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFFFF); - test__fixsfdi(0x1.0000000000000p+63, 0x7FFFFFFFFFFFFFFF); - test__fixsfdi(0x1.0000000000001p+63, 0x7FFFFFFFFFFFFFFF); + try test__fixsfdi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFFFFF); + try test__fixsfdi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFFFF); + try test__fixsfdi(0x1.0000000000000p+63, 0x7FFFFFFFFFFFFFFF); + try test__fixsfdi(0x1.0000000000001p+63, 0x7FFFFFFFFFFFFFFF); - test__fixsfdi(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFFFFF); - test__fixsfdi(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFFFF); - test__fixsfdi(0x1.0000000000000p+127, 0x7FFFFFFFFFFFFFFF); + try test__fixsfdi(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFFFFF); + try test__fixsfdi(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFFFF); + try test__fixsfdi(0x1.0000000000000p+127, 0x7FFFFFFFFFFFFFFF); - test__fixsfdi(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFFFFFFFFFF); - test__fixsfdi(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i64)); + try test__fixsfdi(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFFFFFFFFFF); + try test__fixsfdi(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i64)); - test__fixsfdi(math.f64_max, math.maxInt(i64)); + try test__fixsfdi(math.f64_max, math.maxInt(i64)); } diff --git a/lib/std/special/compiler_rt/fixsfsi_test.zig b/lib/std/special/compiler_rt/fixsfsi_test.zig index ac01e884ce..6bc451a697 100644 --- a/lib/std/special/compiler_rt/fixsfsi_test.zig +++ b/lib/std/special/compiler_rt/fixsfsi_test.zig @@ -9,7 +9,7 @@ const math = std.math; const testing = std.testing; const warn = std.debug.warn; -fn test__fixsfsi(a: f32, expected: i32) void { +fn test__fixsfsi(a: f32, expected: i32) !void { const x = __fixsfsi(a); //warn("a={}:{x} x={}:{x} expected={}:{x}:@as(u32, {x})\n", .{a, @bitCast(u32, a), x, x, expected, expected, @bitCast(u32, expected)}); try testing.expect(x == expected); @@ -17,64 +17,64 @@ fn test__fixsfsi(a: f32, expected: i32) void { test "fixsfsi" { //warn("\n", .{}); - test__fixsfsi(-math.f32_max, math.minInt(i32)); + try test__fixsfsi(-math.f32_max, math.minInt(i32)); - test__fixsfsi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i32)); - test__fixsfsi(-0x1.FFFFFFFFFFFFFp+1023, -0x80000000); + try test__fixsfsi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i32)); + try test__fixsfsi(-0x1.FFFFFFFFFFFFFp+1023, -0x80000000); - test__fixsfsi(-0x1.0000000000000p+127, -0x80000000); - test__fixsfsi(-0x1.FFFFFFFFFFFFFp+126, -0x80000000); - test__fixsfsi(-0x1.FFFFFFFFFFFFEp+126, -0x80000000); + try test__fixsfsi(-0x1.0000000000000p+127, -0x80000000); + try test__fixsfsi(-0x1.FFFFFFFFFFFFFp+126, -0x80000000); + try test__fixsfsi(-0x1.FFFFFFFFFFFFEp+126, -0x80000000); - test__fixsfsi(-0x1.0000000000001p+63, -0x80000000); - test__fixsfsi(-0x1.0000000000000p+63, -0x80000000); - test__fixsfsi(-0x1.FFFFFFFFFFFFFp+62, -0x80000000); - test__fixsfsi(-0x1.FFFFFFFFFFFFEp+62, -0x80000000); + try test__fixsfsi(-0x1.0000000000001p+63, -0x80000000); + try test__fixsfsi(-0x1.0000000000000p+63, -0x80000000); + try test__fixsfsi(-0x1.FFFFFFFFFFFFFp+62, -0x80000000); + try test__fixsfsi(-0x1.FFFFFFFFFFFFEp+62, -0x80000000); - test__fixsfsi(-0x1.FFFFFEp+62, -0x80000000); - test__fixsfsi(-0x1.FFFFFCp+62, -0x80000000); + try test__fixsfsi(-0x1.FFFFFEp+62, -0x80000000); + try test__fixsfsi(-0x1.FFFFFCp+62, -0x80000000); - test__fixsfsi(-0x1.000000p+31, -0x80000000); - test__fixsfsi(-0x1.FFFFFFp+30, -0x80000000); - test__fixsfsi(-0x1.FFFFFEp+30, -0x7FFFFF80); - test__fixsfsi(-0x1.FFFFFCp+30, -0x7FFFFF00); + try test__fixsfsi(-0x1.000000p+31, -0x80000000); + try test__fixsfsi(-0x1.FFFFFFp+30, -0x80000000); + try test__fixsfsi(-0x1.FFFFFEp+30, -0x7FFFFF80); + try test__fixsfsi(-0x1.FFFFFCp+30, -0x7FFFFF00); - test__fixsfsi(-2.01, -2); - test__fixsfsi(-2.0, -2); - test__fixsfsi(-1.99, -1); - test__fixsfsi(-1.0, -1); - test__fixsfsi(-0.99, 0); - test__fixsfsi(-0.5, 0); - test__fixsfsi(-math.f32_min, 0); - test__fixsfsi(0.0, 0); - test__fixsfsi(math.f32_min, 0); - test__fixsfsi(0.5, 0); - test__fixsfsi(0.99, 0); - test__fixsfsi(1.0, 1); - test__fixsfsi(1.5, 1); - test__fixsfsi(1.99, 1); - test__fixsfsi(2.0, 2); - test__fixsfsi(2.01, 2); + try test__fixsfsi(-2.01, -2); + try test__fixsfsi(-2.0, -2); + try test__fixsfsi(-1.99, -1); + try test__fixsfsi(-1.0, -1); + try test__fixsfsi(-0.99, 0); + try test__fixsfsi(-0.5, 0); + try test__fixsfsi(-math.f32_min, 0); + try test__fixsfsi(0.0, 0); + try test__fixsfsi(math.f32_min, 0); + try test__fixsfsi(0.5, 0); + try test__fixsfsi(0.99, 0); + try test__fixsfsi(1.0, 1); + try test__fixsfsi(1.5, 1); + try test__fixsfsi(1.99, 1); + try test__fixsfsi(2.0, 2); + try test__fixsfsi(2.01, 2); - test__fixsfsi(0x1.FFFFFCp+30, 0x7FFFFF00); - test__fixsfsi(0x1.FFFFFEp+30, 0x7FFFFF80); - test__fixsfsi(0x1.FFFFFFp+30, 0x7FFFFFFF); - test__fixsfsi(0x1.000000p+31, 0x7FFFFFFF); + try test__fixsfsi(0x1.FFFFFCp+30, 0x7FFFFF00); + try test__fixsfsi(0x1.FFFFFEp+30, 0x7FFFFF80); + try test__fixsfsi(0x1.FFFFFFp+30, 0x7FFFFFFF); + try test__fixsfsi(0x1.000000p+31, 0x7FFFFFFF); - test__fixsfsi(0x1.FFFFFCp+62, 0x7FFFFFFF); - test__fixsfsi(0x1.FFFFFEp+62, 0x7FFFFFFF); + try test__fixsfsi(0x1.FFFFFCp+62, 0x7FFFFFFF); + try test__fixsfsi(0x1.FFFFFEp+62, 0x7FFFFFFF); - test__fixsfsi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFF); - test__fixsfsi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFF); - test__fixsfsi(0x1.0000000000000p+63, 0x7FFFFFFF); - test__fixsfsi(0x1.0000000000001p+63, 0x7FFFFFFF); + try test__fixsfsi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFF); + try test__fixsfsi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFF); + try test__fixsfsi(0x1.0000000000000p+63, 0x7FFFFFFF); + try test__fixsfsi(0x1.0000000000001p+63, 0x7FFFFFFF); - test__fixsfsi(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFF); - test__fixsfsi(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFF); - test__fixsfsi(0x1.0000000000000p+127, 0x7FFFFFFF); + try test__fixsfsi(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFF); + try test__fixsfsi(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFF); + try test__fixsfsi(0x1.0000000000000p+127, 0x7FFFFFFF); - test__fixsfsi(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFF); - test__fixsfsi(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i32)); + try test__fixsfsi(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFF); + try test__fixsfsi(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i32)); - test__fixsfsi(math.f32_max, math.maxInt(i32)); + try test__fixsfsi(math.f32_max, math.maxInt(i32)); } diff --git a/lib/std/special/compiler_rt/fixsfti_test.zig b/lib/std/special/compiler_rt/fixsfti_test.zig index f99a92b03c..792716d5d3 100644 --- a/lib/std/special/compiler_rt/fixsfti_test.zig +++ b/lib/std/special/compiler_rt/fixsfti_test.zig @@ -9,7 +9,7 @@ const math = std.math; const testing = std.testing; const warn = std.debug.warn; -fn test__fixsfti(a: f32, expected: i128) void { +fn test__fixsfti(a: f32, expected: i128) !void { const x = __fixsfti(a); //warn("a={}:{x} x={}:{x} expected={}:{x}:@as(u128, {x})\n", .{a, @bitCast(u32, a), x, x, expected, expected, @bitCast(u128, expected)}); try testing.expect(x == expected); @@ -17,72 +17,72 @@ fn test__fixsfti(a: f32, expected: i128) void { test "fixsfti" { //warn("\n", .{}); - test__fixsfti(-math.f32_max, math.minInt(i128)); + try test__fixsfti(-math.f32_max, math.minInt(i128)); - test__fixsfti(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i128)); - test__fixsfti(-0x1.FFFFFFFFFFFFFp+1023, -0x80000000000000000000000000000000); + try test__fixsfti(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i128)); + try test__fixsfti(-0x1.FFFFFFFFFFFFFp+1023, -0x80000000000000000000000000000000); - test__fixsfti(-0x1.0000000000000p+127, -0x80000000000000000000000000000000); - test__fixsfti(-0x1.FFFFFFFFFFFFFp+126, -0x80000000000000000000000000000000); - test__fixsfti(-0x1.FFFFFFFFFFFFEp+126, -0x80000000000000000000000000000000); - test__fixsfti(-0x1.FFFFFF0000000p+126, -0x80000000000000000000000000000000); - test__fixsfti(-0x1.FFFFFE0000000p+126, -0x7FFFFF80000000000000000000000000); - test__fixsfti(-0x1.FFFFFC0000000p+126, -0x7FFFFF00000000000000000000000000); + try test__fixsfti(-0x1.0000000000000p+127, -0x80000000000000000000000000000000); + try test__fixsfti(-0x1.FFFFFFFFFFFFFp+126, -0x80000000000000000000000000000000); + try test__fixsfti(-0x1.FFFFFFFFFFFFEp+126, -0x80000000000000000000000000000000); + try test__fixsfti(-0x1.FFFFFF0000000p+126, -0x80000000000000000000000000000000); + try test__fixsfti(-0x1.FFFFFE0000000p+126, -0x7FFFFF80000000000000000000000000); + try test__fixsfti(-0x1.FFFFFC0000000p+126, -0x7FFFFF00000000000000000000000000); - test__fixsfti(-0x1.0000000000001p+63, -0x8000000000000000); - test__fixsfti(-0x1.0000000000000p+63, -0x8000000000000000); - test__fixsfti(-0x1.FFFFFFFFFFFFFp+62, -0x8000000000000000); - test__fixsfti(-0x1.FFFFFFFFFFFFEp+62, -0x8000000000000000); + try test__fixsfti(-0x1.0000000000001p+63, -0x8000000000000000); + try test__fixsfti(-0x1.0000000000000p+63, -0x8000000000000000); + try test__fixsfti(-0x1.FFFFFFFFFFFFFp+62, -0x8000000000000000); + try test__fixsfti(-0x1.FFFFFFFFFFFFEp+62, -0x8000000000000000); - test__fixsfti(-0x1.FFFFFFp+62, -0x8000000000000000); - test__fixsfti(-0x1.FFFFFEp+62, -0x7fffff8000000000); - test__fixsfti(-0x1.FFFFFCp+62, -0x7fffff0000000000); + try test__fixsfti(-0x1.FFFFFFp+62, -0x8000000000000000); + try test__fixsfti(-0x1.FFFFFEp+62, -0x7fffff8000000000); + try test__fixsfti(-0x1.FFFFFCp+62, -0x7fffff0000000000); - test__fixsfti(-0x1.000000p+31, -0x80000000); - test__fixsfti(-0x1.FFFFFFp+30, -0x80000000); - test__fixsfti(-0x1.FFFFFEp+30, -0x7FFFFF80); - test__fixsfti(-0x1.FFFFFCp+30, -0x7FFFFF00); + try test__fixsfti(-0x1.000000p+31, -0x80000000); + try test__fixsfti(-0x1.FFFFFFp+30, -0x80000000); + try test__fixsfti(-0x1.FFFFFEp+30, -0x7FFFFF80); + try test__fixsfti(-0x1.FFFFFCp+30, -0x7FFFFF00); - test__fixsfti(-2.01, -2); - test__fixsfti(-2.0, -2); - test__fixsfti(-1.99, -1); - test__fixsfti(-1.0, -1); - test__fixsfti(-0.99, 0); - test__fixsfti(-0.5, 0); - test__fixsfti(-math.f32_min, 0); - test__fixsfti(0.0, 0); - test__fixsfti(math.f32_min, 0); - test__fixsfti(0.5, 0); - test__fixsfti(0.99, 0); - test__fixsfti(1.0, 1); - test__fixsfti(1.5, 1); - test__fixsfti(1.99, 1); - test__fixsfti(2.0, 2); - test__fixsfti(2.01, 2); + try test__fixsfti(-2.01, -2); + try test__fixsfti(-2.0, -2); + try test__fixsfti(-1.99, -1); + try test__fixsfti(-1.0, -1); + try test__fixsfti(-0.99, 0); + try test__fixsfti(-0.5, 0); + try test__fixsfti(-math.f32_min, 0); + try test__fixsfti(0.0, 0); + try test__fixsfti(math.f32_min, 0); + try test__fixsfti(0.5, 0); + try test__fixsfti(0.99, 0); + try test__fixsfti(1.0, 1); + try test__fixsfti(1.5, 1); + try test__fixsfti(1.99, 1); + try test__fixsfti(2.0, 2); + try test__fixsfti(2.01, 2); - test__fixsfti(0x1.FFFFFCp+30, 0x7FFFFF00); - test__fixsfti(0x1.FFFFFEp+30, 0x7FFFFF80); - test__fixsfti(0x1.FFFFFFp+30, 0x80000000); - test__fixsfti(0x1.000000p+31, 0x80000000); + try test__fixsfti(0x1.FFFFFCp+30, 0x7FFFFF00); + try test__fixsfti(0x1.FFFFFEp+30, 0x7FFFFF80); + try test__fixsfti(0x1.FFFFFFp+30, 0x80000000); + try test__fixsfti(0x1.000000p+31, 0x80000000); - test__fixsfti(0x1.FFFFFCp+62, 0x7FFFFF0000000000); - test__fixsfti(0x1.FFFFFEp+62, 0x7FFFFF8000000000); - test__fixsfti(0x1.FFFFFFp+62, 0x8000000000000000); + try test__fixsfti(0x1.FFFFFCp+62, 0x7FFFFF0000000000); + try test__fixsfti(0x1.FFFFFEp+62, 0x7FFFFF8000000000); + try test__fixsfti(0x1.FFFFFFp+62, 0x8000000000000000); - test__fixsfti(0x1.FFFFFFFFFFFFEp+62, 0x8000000000000000); - test__fixsfti(0x1.FFFFFFFFFFFFFp+62, 0x8000000000000000); - test__fixsfti(0x1.0000000000000p+63, 0x8000000000000000); - test__fixsfti(0x1.0000000000001p+63, 0x8000000000000000); + try test__fixsfti(0x1.FFFFFFFFFFFFEp+62, 0x8000000000000000); + try test__fixsfti(0x1.FFFFFFFFFFFFFp+62, 0x8000000000000000); + try test__fixsfti(0x1.0000000000000p+63, 0x8000000000000000); + try test__fixsfti(0x1.0000000000001p+63, 0x8000000000000000); - test__fixsfti(0x1.FFFFFC0000000p+126, 0x7FFFFF00000000000000000000000000); - test__fixsfti(0x1.FFFFFE0000000p+126, 0x7FFFFF80000000000000000000000000); - test__fixsfti(0x1.FFFFFF0000000p+126, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); - test__fixsfti(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); - test__fixsfti(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); - test__fixsfti(0x1.0000000000000p+127, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); + try test__fixsfti(0x1.FFFFFC0000000p+126, 0x7FFFFF00000000000000000000000000); + try test__fixsfti(0x1.FFFFFE0000000p+126, 0x7FFFFF80000000000000000000000000); + try test__fixsfti(0x1.FFFFFF0000000p+126, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); + try test__fixsfti(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); + try test__fixsfti(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); + try test__fixsfti(0x1.0000000000000p+127, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); - test__fixsfti(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); - test__fixsfti(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i128)); + try test__fixsfti(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); + try test__fixsfti(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i128)); - test__fixsfti(math.f32_max, math.maxInt(i128)); + try test__fixsfti(math.f32_max, math.maxInt(i128)); } diff --git a/lib/std/special/compiler_rt/fixtfdi_test.zig b/lib/std/special/compiler_rt/fixtfdi_test.zig index c5079379bf..ef72e6527c 100644 --- a/lib/std/special/compiler_rt/fixtfdi_test.zig +++ b/lib/std/special/compiler_rt/fixtfdi_test.zig @@ -9,7 +9,7 @@ const math = std.math; const testing = std.testing; const warn = std.debug.warn; -fn test__fixtfdi(a: f128, expected: i64) void { +fn test__fixtfdi(a: f128, expected: i64) !void { const x = __fixtfdi(a); //warn("a={}:{x} x={}:{x} expected={}:{x}:@as(u64, {x})\n", .{a, @bitCast(u128, a), x, x, expected, expected, @bitCast(u64, expected)}); try testing.expect(x == expected); @@ -17,64 +17,64 @@ fn test__fixtfdi(a: f128, expected: i64) void { test "fixtfdi" { //warn("\n", .{}); - test__fixtfdi(-math.f128_max, math.minInt(i64)); + try test__fixtfdi(-math.f128_max, math.minInt(i64)); - test__fixtfdi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i64)); - test__fixtfdi(-0x1.FFFFFFFFFFFFFp+1023, -0x8000000000000000); + try test__fixtfdi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i64)); + try test__fixtfdi(-0x1.FFFFFFFFFFFFFp+1023, -0x8000000000000000); - test__fixtfdi(-0x1.0000000000000p+127, -0x8000000000000000); - test__fixtfdi(-0x1.FFFFFFFFFFFFFp+126, -0x8000000000000000); - test__fixtfdi(-0x1.FFFFFFFFFFFFEp+126, -0x8000000000000000); + try test__fixtfdi(-0x1.0000000000000p+127, -0x8000000000000000); + try test__fixtfdi(-0x1.FFFFFFFFFFFFFp+126, -0x8000000000000000); + try test__fixtfdi(-0x1.FFFFFFFFFFFFEp+126, -0x8000000000000000); - test__fixtfdi(-0x1.0000000000001p+63, -0x8000000000000000); - test__fixtfdi(-0x1.0000000000000p+63, -0x8000000000000000); - test__fixtfdi(-0x1.FFFFFFFFFFFFFp+62, -0x7FFFFFFFFFFFFC00); - test__fixtfdi(-0x1.FFFFFFFFFFFFEp+62, -0x7FFFFFFFFFFFF800); + try test__fixtfdi(-0x1.0000000000001p+63, -0x8000000000000000); + try test__fixtfdi(-0x1.0000000000000p+63, -0x8000000000000000); + try test__fixtfdi(-0x1.FFFFFFFFFFFFFp+62, -0x7FFFFFFFFFFFFC00); + try test__fixtfdi(-0x1.FFFFFFFFFFFFEp+62, -0x7FFFFFFFFFFFF800); - test__fixtfdi(-0x1.FFFFFEp+62, -0x7FFFFF8000000000); - test__fixtfdi(-0x1.FFFFFCp+62, -0x7FFFFF0000000000); + try test__fixtfdi(-0x1.FFFFFEp+62, -0x7FFFFF8000000000); + try test__fixtfdi(-0x1.FFFFFCp+62, -0x7FFFFF0000000000); - test__fixtfdi(-0x1.000000p+31, -0x80000000); - test__fixtfdi(-0x1.FFFFFFp+30, -0x7FFFFFC0); - test__fixtfdi(-0x1.FFFFFEp+30, -0x7FFFFF80); - test__fixtfdi(-0x1.FFFFFCp+30, -0x7FFFFF00); + try test__fixtfdi(-0x1.000000p+31, -0x80000000); + try test__fixtfdi(-0x1.FFFFFFp+30, -0x7FFFFFC0); + try test__fixtfdi(-0x1.FFFFFEp+30, -0x7FFFFF80); + try test__fixtfdi(-0x1.FFFFFCp+30, -0x7FFFFF00); - test__fixtfdi(-2.01, -2); - test__fixtfdi(-2.0, -2); - test__fixtfdi(-1.99, -1); - test__fixtfdi(-1.0, -1); - test__fixtfdi(-0.99, 0); - test__fixtfdi(-0.5, 0); - test__fixtfdi(-math.f64_min, 0); - test__fixtfdi(0.0, 0); - test__fixtfdi(math.f64_min, 0); - test__fixtfdi(0.5, 0); - test__fixtfdi(0.99, 0); - test__fixtfdi(1.0, 1); - test__fixtfdi(1.5, 1); - test__fixtfdi(1.99, 1); - test__fixtfdi(2.0, 2); - test__fixtfdi(2.01, 2); + try test__fixtfdi(-2.01, -2); + try test__fixtfdi(-2.0, -2); + try test__fixtfdi(-1.99, -1); + try test__fixtfdi(-1.0, -1); + try test__fixtfdi(-0.99, 0); + try test__fixtfdi(-0.5, 0); + try test__fixtfdi(-math.f64_min, 0); + try test__fixtfdi(0.0, 0); + try test__fixtfdi(math.f64_min, 0); + try test__fixtfdi(0.5, 0); + try test__fixtfdi(0.99, 0); + try test__fixtfdi(1.0, 1); + try test__fixtfdi(1.5, 1); + try test__fixtfdi(1.99, 1); + try test__fixtfdi(2.0, 2); + try test__fixtfdi(2.01, 2); - test__fixtfdi(0x1.FFFFFCp+30, 0x7FFFFF00); - test__fixtfdi(0x1.FFFFFEp+30, 0x7FFFFF80); - test__fixtfdi(0x1.FFFFFFp+30, 0x7FFFFFC0); - test__fixtfdi(0x1.000000p+31, 0x80000000); + try test__fixtfdi(0x1.FFFFFCp+30, 0x7FFFFF00); + try test__fixtfdi(0x1.FFFFFEp+30, 0x7FFFFF80); + try test__fixtfdi(0x1.FFFFFFp+30, 0x7FFFFFC0); + try test__fixtfdi(0x1.000000p+31, 0x80000000); - test__fixtfdi(0x1.FFFFFCp+62, 0x7FFFFF0000000000); - test__fixtfdi(0x1.FFFFFEp+62, 0x7FFFFF8000000000); + try test__fixtfdi(0x1.FFFFFCp+62, 0x7FFFFF0000000000); + try test__fixtfdi(0x1.FFFFFEp+62, 0x7FFFFF8000000000); - test__fixtfdi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800); - test__fixtfdi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00); - test__fixtfdi(0x1.0000000000000p+63, 0x7FFFFFFFFFFFFFFF); - test__fixtfdi(0x1.0000000000001p+63, 0x7FFFFFFFFFFFFFFF); + try test__fixtfdi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800); + try test__fixtfdi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00); + try test__fixtfdi(0x1.0000000000000p+63, 0x7FFFFFFFFFFFFFFF); + try test__fixtfdi(0x1.0000000000001p+63, 0x7FFFFFFFFFFFFFFF); - test__fixtfdi(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFFFFF); - test__fixtfdi(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFFFF); - test__fixtfdi(0x1.0000000000000p+127, 0x7FFFFFFFFFFFFFFF); + try test__fixtfdi(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFFFFF); + try test__fixtfdi(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFFFF); + try test__fixtfdi(0x1.0000000000000p+127, 0x7FFFFFFFFFFFFFFF); - test__fixtfdi(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFFFFFFFFFF); - test__fixtfdi(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i64)); + try test__fixtfdi(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFFFFFFFFFF); + try test__fixtfdi(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i64)); - test__fixtfdi(math.f128_max, math.maxInt(i64)); + try test__fixtfdi(math.f128_max, math.maxInt(i64)); } diff --git a/lib/std/special/compiler_rt/fixtfsi_test.zig b/lib/std/special/compiler_rt/fixtfsi_test.zig index 1e21944aa8..61a963b07d 100644 --- a/lib/std/special/compiler_rt/fixtfsi_test.zig +++ b/lib/std/special/compiler_rt/fixtfsi_test.zig @@ -9,7 +9,7 @@ const math = std.math; const testing = std.testing; const warn = std.debug.warn; -fn test__fixtfsi(a: f128, expected: i32) void { +fn test__fixtfsi(a: f128, expected: i32) !void { const x = __fixtfsi(a); //warn("a={}:{x} x={}:{x} expected={}:{x}:@as(u32, {x})\n", .{a, @bitCast(u128, a), x, x, expected, expected, @bitCast(u32, expected)}); try testing.expect(x == expected); @@ -17,64 +17,64 @@ fn test__fixtfsi(a: f128, expected: i32) void { test "fixtfsi" { //warn("\n", .{}); - test__fixtfsi(-math.f128_max, math.minInt(i32)); + try test__fixtfsi(-math.f128_max, math.minInt(i32)); - test__fixtfsi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i32)); - test__fixtfsi(-0x1.FFFFFFFFFFFFFp+1023, -0x80000000); + try test__fixtfsi(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i32)); + try test__fixtfsi(-0x1.FFFFFFFFFFFFFp+1023, -0x80000000); - test__fixtfsi(-0x1.0000000000000p+127, -0x80000000); - test__fixtfsi(-0x1.FFFFFFFFFFFFFp+126, -0x80000000); - test__fixtfsi(-0x1.FFFFFFFFFFFFEp+126, -0x80000000); + try test__fixtfsi(-0x1.0000000000000p+127, -0x80000000); + try test__fixtfsi(-0x1.FFFFFFFFFFFFFp+126, -0x80000000); + try test__fixtfsi(-0x1.FFFFFFFFFFFFEp+126, -0x80000000); - test__fixtfsi(-0x1.0000000000001p+63, -0x80000000); - test__fixtfsi(-0x1.0000000000000p+63, -0x80000000); - test__fixtfsi(-0x1.FFFFFFFFFFFFFp+62, -0x80000000); - test__fixtfsi(-0x1.FFFFFFFFFFFFEp+62, -0x80000000); + try test__fixtfsi(-0x1.0000000000001p+63, -0x80000000); + try test__fixtfsi(-0x1.0000000000000p+63, -0x80000000); + try test__fixtfsi(-0x1.FFFFFFFFFFFFFp+62, -0x80000000); + try test__fixtfsi(-0x1.FFFFFFFFFFFFEp+62, -0x80000000); - test__fixtfsi(-0x1.FFFFFEp+62, -0x80000000); - test__fixtfsi(-0x1.FFFFFCp+62, -0x80000000); + try test__fixtfsi(-0x1.FFFFFEp+62, -0x80000000); + try test__fixtfsi(-0x1.FFFFFCp+62, -0x80000000); - test__fixtfsi(-0x1.000000p+31, -0x80000000); - test__fixtfsi(-0x1.FFFFFFp+30, -0x7FFFFFC0); - test__fixtfsi(-0x1.FFFFFEp+30, -0x7FFFFF80); - test__fixtfsi(-0x1.FFFFFCp+30, -0x7FFFFF00); + try test__fixtfsi(-0x1.000000p+31, -0x80000000); + try test__fixtfsi(-0x1.FFFFFFp+30, -0x7FFFFFC0); + try test__fixtfsi(-0x1.FFFFFEp+30, -0x7FFFFF80); + try test__fixtfsi(-0x1.FFFFFCp+30, -0x7FFFFF00); - test__fixtfsi(-2.01, -2); - test__fixtfsi(-2.0, -2); - test__fixtfsi(-1.99, -1); - test__fixtfsi(-1.0, -1); - test__fixtfsi(-0.99, 0); - test__fixtfsi(-0.5, 0); - test__fixtfsi(-math.f32_min, 0); - test__fixtfsi(0.0, 0); - test__fixtfsi(math.f32_min, 0); - test__fixtfsi(0.5, 0); - test__fixtfsi(0.99, 0); - test__fixtfsi(1.0, 1); - test__fixtfsi(1.5, 1); - test__fixtfsi(1.99, 1); - test__fixtfsi(2.0, 2); - test__fixtfsi(2.01, 2); + try test__fixtfsi(-2.01, -2); + try test__fixtfsi(-2.0, -2); + try test__fixtfsi(-1.99, -1); + try test__fixtfsi(-1.0, -1); + try test__fixtfsi(-0.99, 0); + try test__fixtfsi(-0.5, 0); + try test__fixtfsi(-math.f32_min, 0); + try test__fixtfsi(0.0, 0); + try test__fixtfsi(math.f32_min, 0); + try test__fixtfsi(0.5, 0); + try test__fixtfsi(0.99, 0); + try test__fixtfsi(1.0, 1); + try test__fixtfsi(1.5, 1); + try test__fixtfsi(1.99, 1); + try test__fixtfsi(2.0, 2); + try test__fixtfsi(2.01, 2); - test__fixtfsi(0x1.FFFFFCp+30, 0x7FFFFF00); - test__fixtfsi(0x1.FFFFFEp+30, 0x7FFFFF80); - test__fixtfsi(0x1.FFFFFFp+30, 0x7FFFFFC0); - test__fixtfsi(0x1.000000p+31, 0x7FFFFFFF); + try test__fixtfsi(0x1.FFFFFCp+30, 0x7FFFFF00); + try test__fixtfsi(0x1.FFFFFEp+30, 0x7FFFFF80); + try test__fixtfsi(0x1.FFFFFFp+30, 0x7FFFFFC0); + try test__fixtfsi(0x1.000000p+31, 0x7FFFFFFF); - test__fixtfsi(0x1.FFFFFCp+62, 0x7FFFFFFF); - test__fixtfsi(0x1.FFFFFEp+62, 0x7FFFFFFF); + try test__fixtfsi(0x1.FFFFFCp+62, 0x7FFFFFFF); + try test__fixtfsi(0x1.FFFFFEp+62, 0x7FFFFFFF); - test__fixtfsi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFF); - test__fixtfsi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFF); - test__fixtfsi(0x1.0000000000000p+63, 0x7FFFFFFF); - test__fixtfsi(0x1.0000000000001p+63, 0x7FFFFFFF); + try test__fixtfsi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFF); + try test__fixtfsi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFF); + try test__fixtfsi(0x1.0000000000000p+63, 0x7FFFFFFF); + try test__fixtfsi(0x1.0000000000001p+63, 0x7FFFFFFF); - test__fixtfsi(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFF); - test__fixtfsi(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFF); - test__fixtfsi(0x1.0000000000000p+127, 0x7FFFFFFF); + try test__fixtfsi(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFF); + try test__fixtfsi(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFF); + try test__fixtfsi(0x1.0000000000000p+127, 0x7FFFFFFF); - test__fixtfsi(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFF); - test__fixtfsi(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i32)); + try test__fixtfsi(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFF); + try test__fixtfsi(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i32)); - test__fixtfsi(math.f128_max, math.maxInt(i32)); + try test__fixtfsi(math.f128_max, math.maxInt(i32)); } diff --git a/lib/std/special/compiler_rt/fixtfti_test.zig b/lib/std/special/compiler_rt/fixtfti_test.zig index ef2b02e96c..23ec67a737 100644 --- a/lib/std/special/compiler_rt/fixtfti_test.zig +++ b/lib/std/special/compiler_rt/fixtfti_test.zig @@ -9,7 +9,7 @@ const math = std.math; const testing = std.testing; const warn = std.debug.warn; -fn test__fixtfti(a: f128, expected: i128) void { +fn test__fixtfti(a: f128, expected: i128) !void { const x = __fixtfti(a); //warn("a={}:{x} x={}:{x} expected={}:{x}:@as(u128, {x})\n", .{a, @bitCast(u128, a), x, x, expected, expected, @bitCast(u128, expected)}); try testing.expect(x == expected); @@ -17,54 +17,54 @@ fn test__fixtfti(a: f128, expected: i128) void { test "fixtfti" { //warn("\n", .{}); - test__fixtfti(-math.f128_max, math.minInt(i128)); + try test__fixtfti(-math.f128_max, math.minInt(i128)); - test__fixtfti(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i128)); - test__fixtfti(-0x1.FFFFFFFFFFFFFp+1023, -0x80000000000000000000000000000000); + try test__fixtfti(-0x1.FFFFFFFFFFFFFp+1023, math.minInt(i128)); + try test__fixtfti(-0x1.FFFFFFFFFFFFFp+1023, -0x80000000000000000000000000000000); - test__fixtfti(-0x1.0000000000000p+127, -0x80000000000000000000000000000000); - test__fixtfti(-0x1.FFFFFFFFFFFFFp+126, -0x7FFFFFFFFFFFFC000000000000000000); - test__fixtfti(-0x1.FFFFFFFFFFFFEp+126, -0x7FFFFFFFFFFFF8000000000000000000); + try test__fixtfti(-0x1.0000000000000p+127, -0x80000000000000000000000000000000); + try test__fixtfti(-0x1.FFFFFFFFFFFFFp+126, -0x7FFFFFFFFFFFFC000000000000000000); + try test__fixtfti(-0x1.FFFFFFFFFFFFEp+126, -0x7FFFFFFFFFFFF8000000000000000000); - test__fixtfti(-0x1.0000000000001p+63, -0x8000000000000800); - test__fixtfti(-0x1.0000000000000p+63, -0x8000000000000000); - test__fixtfti(-0x1.FFFFFFFFFFFFFp+62, -0x7FFFFFFFFFFFFC00); - test__fixtfti(-0x1.FFFFFFFFFFFFEp+62, -0x7FFFFFFFFFFFF800); + try test__fixtfti(-0x1.0000000000001p+63, -0x8000000000000800); + try test__fixtfti(-0x1.0000000000000p+63, -0x8000000000000000); + try test__fixtfti(-0x1.FFFFFFFFFFFFFp+62, -0x7FFFFFFFFFFFFC00); + try test__fixtfti(-0x1.FFFFFFFFFFFFEp+62, -0x7FFFFFFFFFFFF800); - test__fixtfti(-0x1.FFFFFEp+62, -0x7fffff8000000000); - test__fixtfti(-0x1.FFFFFCp+62, -0x7fffff0000000000); + try test__fixtfti(-0x1.FFFFFEp+62, -0x7fffff8000000000); + try test__fixtfti(-0x1.FFFFFCp+62, -0x7fffff0000000000); - test__fixtfti(-2.01, -2); - test__fixtfti(-2.0, -2); - test__fixtfti(-1.99, -1); - test__fixtfti(-1.0, -1); - test__fixtfti(-0.99, 0); - test__fixtfti(-0.5, 0); - test__fixtfti(-math.f128_min, 0); - test__fixtfti(0.0, 0); - test__fixtfti(math.f128_min, 0); - test__fixtfti(0.5, 0); - test__fixtfti(0.99, 0); - test__fixtfti(1.0, 1); - test__fixtfti(1.5, 1); - test__fixtfti(1.99, 1); - test__fixtfti(2.0, 2); - test__fixtfti(2.01, 2); + try test__fixtfti(-2.01, -2); + try test__fixtfti(-2.0, -2); + try test__fixtfti(-1.99, -1); + try test__fixtfti(-1.0, -1); + try test__fixtfti(-0.99, 0); + try test__fixtfti(-0.5, 0); + try test__fixtfti(-math.f128_min, 0); + try test__fixtfti(0.0, 0); + try test__fixtfti(math.f128_min, 0); + try test__fixtfti(0.5, 0); + try test__fixtfti(0.99, 0); + try test__fixtfti(1.0, 1); + try test__fixtfti(1.5, 1); + try test__fixtfti(1.99, 1); + try test__fixtfti(2.0, 2); + try test__fixtfti(2.01, 2); - test__fixtfti(0x1.FFFFFCp+62, 0x7FFFFF0000000000); - test__fixtfti(0x1.FFFFFEp+62, 0x7FFFFF8000000000); + try test__fixtfti(0x1.FFFFFCp+62, 0x7FFFFF0000000000); + try test__fixtfti(0x1.FFFFFEp+62, 0x7FFFFF8000000000); - test__fixtfti(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800); - test__fixtfti(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00); - test__fixtfti(0x1.0000000000000p+63, 0x8000000000000000); - test__fixtfti(0x1.0000000000001p+63, 0x8000000000000800); + try test__fixtfti(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800); + try test__fixtfti(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00); + try test__fixtfti(0x1.0000000000000p+63, 0x8000000000000000); + try test__fixtfti(0x1.0000000000001p+63, 0x8000000000000800); - test__fixtfti(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFF8000000000000000000); - test__fixtfti(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFC000000000000000000); - test__fixtfti(0x1.0000000000000p+127, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); + try test__fixtfti(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFF8000000000000000000); + try test__fixtfti(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFC000000000000000000); + try test__fixtfti(0x1.0000000000000p+127, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); - test__fixtfti(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); - test__fixtfti(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i128)); + try test__fixtfti(0x1.FFFFFFFFFFFFFp+1023, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); + try test__fixtfti(0x1.FFFFFFFFFFFFFp+1023, math.maxInt(i128)); - test__fixtfti(math.f128_max, math.maxInt(i128)); + try test__fixtfti(math.f128_max, math.maxInt(i128)); } diff --git a/lib/std/special/compiler_rt/fixunsdfdi_test.zig b/lib/std/special/compiler_rt/fixunsdfdi_test.zig index 6a9f302a54..dcccb076d4 100644 --- a/lib/std/special/compiler_rt/fixunsdfdi_test.zig +++ b/lib/std/special/compiler_rt/fixunsdfdi_test.zig @@ -6,7 +6,7 @@ const __fixunsdfdi = @import("fixunsdfdi.zig").__fixunsdfdi; const testing = @import("std").testing; -fn test__fixunsdfdi(a: f64, expected: u64) void { +fn test__fixunsdfdi(a: f64, expected: u64) !void { const x = __fixunsdfdi(a); try testing.expect(x == expected); } @@ -15,30 +15,30 @@ test "fixunsdfdi" { //test__fixunsdfdi(0.0, 0); //test__fixunsdfdi(0.5, 0); //test__fixunsdfdi(0.99, 0); - test__fixunsdfdi(1.0, 1); - test__fixunsdfdi(1.5, 1); - test__fixunsdfdi(1.99, 1); - test__fixunsdfdi(2.0, 2); - test__fixunsdfdi(2.01, 2); - test__fixunsdfdi(-0.5, 0); - test__fixunsdfdi(-0.99, 0); - test__fixunsdfdi(-1.0, 0); - test__fixunsdfdi(-1.5, 0); - test__fixunsdfdi(-1.99, 0); - test__fixunsdfdi(-2.0, 0); - test__fixunsdfdi(-2.01, 0); + try test__fixunsdfdi(1.0, 1); + try test__fixunsdfdi(1.5, 1); + try test__fixunsdfdi(1.99, 1); + try test__fixunsdfdi(2.0, 2); + try test__fixunsdfdi(2.01, 2); + try test__fixunsdfdi(-0.5, 0); + try test__fixunsdfdi(-0.99, 0); + try test__fixunsdfdi(-1.0, 0); + try test__fixunsdfdi(-1.5, 0); + try test__fixunsdfdi(-1.99, 0); + try test__fixunsdfdi(-2.0, 0); + try test__fixunsdfdi(-2.01, 0); - test__fixunsdfdi(0x1.FFFFFEp+62, 0x7FFFFF8000000000); - test__fixunsdfdi(0x1.FFFFFCp+62, 0x7FFFFF0000000000); + try test__fixunsdfdi(0x1.FFFFFEp+62, 0x7FFFFF8000000000); + try test__fixunsdfdi(0x1.FFFFFCp+62, 0x7FFFFF0000000000); - test__fixunsdfdi(-0x1.FFFFFEp+62, 0); - test__fixunsdfdi(-0x1.FFFFFCp+62, 0); + try test__fixunsdfdi(-0x1.FFFFFEp+62, 0); + try test__fixunsdfdi(-0x1.FFFFFCp+62, 0); - test__fixunsdfdi(0x1.FFFFFFFFFFFFFp+63, 0xFFFFFFFFFFFFF800); - test__fixunsdfdi(0x1.0000000000000p+63, 0x8000000000000000); - test__fixunsdfdi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00); - test__fixunsdfdi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800); + try test__fixunsdfdi(0x1.FFFFFFFFFFFFFp+63, 0xFFFFFFFFFFFFF800); + try test__fixunsdfdi(0x1.0000000000000p+63, 0x8000000000000000); + try test__fixunsdfdi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00); + try test__fixunsdfdi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800); - test__fixunsdfdi(-0x1.FFFFFFFFFFFFFp+62, 0); - test__fixunsdfdi(-0x1.FFFFFFFFFFFFEp+62, 0); + try test__fixunsdfdi(-0x1.FFFFFFFFFFFFFp+62, 0); + try test__fixunsdfdi(-0x1.FFFFFFFFFFFFEp+62, 0); } diff --git a/lib/std/special/compiler_rt/fixunsdfsi_test.zig b/lib/std/special/compiler_rt/fixunsdfsi_test.zig index dc71b11312..059eb208c7 100644 --- a/lib/std/special/compiler_rt/fixunsdfsi_test.zig +++ b/lib/std/special/compiler_rt/fixunsdfsi_test.zig @@ -6,39 +6,39 @@ const __fixunsdfsi = @import("fixunsdfsi.zig").__fixunsdfsi; const testing = @import("std").testing; -fn test__fixunsdfsi(a: f64, expected: u32) void { +fn test__fixunsdfsi(a: f64, expected: u32) !void { const x = __fixunsdfsi(a); try testing.expect(x == expected); } test "fixunsdfsi" { - test__fixunsdfsi(0.0, 0); + try test__fixunsdfsi(0.0, 0); - test__fixunsdfsi(0.5, 0); - test__fixunsdfsi(0.99, 0); - test__fixunsdfsi(1.0, 1); - test__fixunsdfsi(1.5, 1); - test__fixunsdfsi(1.99, 1); - test__fixunsdfsi(2.0, 2); - test__fixunsdfsi(2.01, 2); - test__fixunsdfsi(-0.5, 0); - test__fixunsdfsi(-0.99, 0); - test__fixunsdfsi(-1.0, 0); - test__fixunsdfsi(-1.5, 0); - test__fixunsdfsi(-1.99, 0); - test__fixunsdfsi(-2.0, 0); - test__fixunsdfsi(-2.01, 0); + try test__fixunsdfsi(0.5, 0); + try test__fixunsdfsi(0.99, 0); + try test__fixunsdfsi(1.0, 1); + try test__fixunsdfsi(1.5, 1); + try test__fixunsdfsi(1.99, 1); + try test__fixunsdfsi(2.0, 2); + try test__fixunsdfsi(2.01, 2); + try test__fixunsdfsi(-0.5, 0); + try test__fixunsdfsi(-0.99, 0); + try test__fixunsdfsi(-1.0, 0); + try test__fixunsdfsi(-1.5, 0); + try test__fixunsdfsi(-1.99, 0); + try test__fixunsdfsi(-2.0, 0); + try test__fixunsdfsi(-2.01, 0); - test__fixunsdfsi(0x1.000000p+31, 0x80000000); - test__fixunsdfsi(0x1.000000p+32, 0xFFFFFFFF); - test__fixunsdfsi(0x1.FFFFFEp+31, 0xFFFFFF00); - test__fixunsdfsi(0x1.FFFFFEp+30, 0x7FFFFF80); - test__fixunsdfsi(0x1.FFFFFCp+30, 0x7FFFFF00); + try test__fixunsdfsi(0x1.000000p+31, 0x80000000); + try test__fixunsdfsi(0x1.000000p+32, 0xFFFFFFFF); + try test__fixunsdfsi(0x1.FFFFFEp+31, 0xFFFFFF00); + try test__fixunsdfsi(0x1.FFFFFEp+30, 0x7FFFFF80); + try test__fixunsdfsi(0x1.FFFFFCp+30, 0x7FFFFF00); - test__fixunsdfsi(-0x1.FFFFFEp+30, 0); - test__fixunsdfsi(-0x1.FFFFFCp+30, 0); + try test__fixunsdfsi(-0x1.FFFFFEp+30, 0); + try test__fixunsdfsi(-0x1.FFFFFCp+30, 0); - test__fixunsdfsi(0x1.FFFFFFFEp+31, 0xFFFFFFFF); - test__fixunsdfsi(0x1.FFFFFFFC00000p+30, 0x7FFFFFFF); - test__fixunsdfsi(0x1.FFFFFFF800000p+30, 0x7FFFFFFE); + try test__fixunsdfsi(0x1.FFFFFFFEp+31, 0xFFFFFFFF); + try test__fixunsdfsi(0x1.FFFFFFFC00000p+30, 0x7FFFFFFF); + try test__fixunsdfsi(0x1.FFFFFFF800000p+30, 0x7FFFFFFE); } diff --git a/lib/std/special/compiler_rt/fixunsdfti_test.zig b/lib/std/special/compiler_rt/fixunsdfti_test.zig index 6cecc1619e..89098afb33 100644 --- a/lib/std/special/compiler_rt/fixunsdfti_test.zig +++ b/lib/std/special/compiler_rt/fixunsdfti_test.zig @@ -6,46 +6,46 @@ const __fixunsdfti = @import("fixunsdfti.zig").__fixunsdfti; const testing = @import("std").testing; -fn test__fixunsdfti(a: f64, expected: u128) void { +fn test__fixunsdfti(a: f64, expected: u128) !void { const x = __fixunsdfti(a); try testing.expect(x == expected); } test "fixunsdfti" { - test__fixunsdfti(0.0, 0); + try test__fixunsdfti(0.0, 0); - test__fixunsdfti(0.5, 0); - test__fixunsdfti(0.99, 0); - test__fixunsdfti(1.0, 1); - test__fixunsdfti(1.5, 1); - test__fixunsdfti(1.99, 1); - test__fixunsdfti(2.0, 2); - test__fixunsdfti(2.01, 2); - test__fixunsdfti(-0.5, 0); - test__fixunsdfti(-0.99, 0); - test__fixunsdfti(-1.0, 0); - test__fixunsdfti(-1.5, 0); - test__fixunsdfti(-1.99, 0); - test__fixunsdfti(-2.0, 0); - test__fixunsdfti(-2.01, 0); + try test__fixunsdfti(0.5, 0); + try test__fixunsdfti(0.99, 0); + try test__fixunsdfti(1.0, 1); + try test__fixunsdfti(1.5, 1); + try test__fixunsdfti(1.99, 1); + try test__fixunsdfti(2.0, 2); + try test__fixunsdfti(2.01, 2); + try test__fixunsdfti(-0.5, 0); + try test__fixunsdfti(-0.99, 0); + try test__fixunsdfti(-1.0, 0); + try test__fixunsdfti(-1.5, 0); + try test__fixunsdfti(-1.99, 0); + try test__fixunsdfti(-2.0, 0); + try test__fixunsdfti(-2.01, 0); - test__fixunsdfti(0x1.FFFFFEp+62, 0x7FFFFF8000000000); - test__fixunsdfti(0x1.FFFFFCp+62, 0x7FFFFF0000000000); + try test__fixunsdfti(0x1.FFFFFEp+62, 0x7FFFFF8000000000); + try test__fixunsdfti(0x1.FFFFFCp+62, 0x7FFFFF0000000000); - test__fixunsdfti(-0x1.FFFFFEp+62, 0); - test__fixunsdfti(-0x1.FFFFFCp+62, 0); + try test__fixunsdfti(-0x1.FFFFFEp+62, 0); + try test__fixunsdfti(-0x1.FFFFFCp+62, 0); - test__fixunsdfti(0x1.FFFFFFFFFFFFFp+63, 0xFFFFFFFFFFFFF800); - test__fixunsdfti(0x1.0000000000000p+63, 0x8000000000000000); - test__fixunsdfti(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00); - test__fixunsdfti(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800); + try test__fixunsdfti(0x1.FFFFFFFFFFFFFp+63, 0xFFFFFFFFFFFFF800); + try test__fixunsdfti(0x1.0000000000000p+63, 0x8000000000000000); + try test__fixunsdfti(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00); + try test__fixunsdfti(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800); - test__fixunsdfti(0x1.FFFFFFFFFFFFFp+127, 0xFFFFFFFFFFFFF8000000000000000000); - test__fixunsdfti(0x1.0000000000000p+127, 0x80000000000000000000000000000000); - test__fixunsdfti(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFC000000000000000000); - test__fixunsdfti(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFF8000000000000000000); - test__fixunsdfti(0x1.0000000000000p+128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); + try test__fixunsdfti(0x1.FFFFFFFFFFFFFp+127, 0xFFFFFFFFFFFFF8000000000000000000); + try test__fixunsdfti(0x1.0000000000000p+127, 0x80000000000000000000000000000000); + try test__fixunsdfti(0x1.FFFFFFFFFFFFFp+126, 0x7FFFFFFFFFFFFC000000000000000000); + try test__fixunsdfti(0x1.FFFFFFFFFFFFEp+126, 0x7FFFFFFFFFFFF8000000000000000000); + try test__fixunsdfti(0x1.0000000000000p+128, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); - test__fixunsdfti(-0x1.FFFFFFFFFFFFFp+62, 0); - test__fixunsdfti(-0x1.FFFFFFFFFFFFEp+62, 0); + try test__fixunsdfti(-0x1.FFFFFFFFFFFFFp+62, 0); + try test__fixunsdfti(-0x1.FFFFFFFFFFFFEp+62, 0); } diff --git a/lib/std/special/compiler_rt/fixunssfdi_test.zig b/lib/std/special/compiler_rt/fixunssfdi_test.zig index 0b5ca1a18f..005e005a9b 100644 --- a/lib/std/special/compiler_rt/fixunssfdi_test.zig +++ b/lib/std/special/compiler_rt/fixunssfdi_test.zig @@ -6,35 +6,35 @@ const __fixunssfdi = @import("fixunssfdi.zig").__fixunssfdi; const testing = @import("std").testing; -fn test__fixunssfdi(a: f32, expected: u64) void { +fn test__fixunssfdi(a: f32, expected: u64) !void { const x = __fixunssfdi(a); try testing.expect(x == expected); } test "fixunssfdi" { - test__fixunssfdi(0.0, 0); + try test__fixunssfdi(0.0, 0); - test__fixunssfdi(0.5, 0); - test__fixunssfdi(0.99, 0); - test__fixunssfdi(1.0, 1); - test__fixunssfdi(1.5, 1); - test__fixunssfdi(1.99, 1); - test__fixunssfdi(2.0, 2); - test__fixunssfdi(2.01, 2); - test__fixunssfdi(-0.5, 0); - test__fixunssfdi(-0.99, 0); + try test__fixunssfdi(0.5, 0); + try test__fixunssfdi(0.99, 0); + try test__fixunssfdi(1.0, 1); + try test__fixunssfdi(1.5, 1); + try test__fixunssfdi(1.99, 1); + try test__fixunssfdi(2.0, 2); + try test__fixunssfdi(2.01, 2); + try test__fixunssfdi(-0.5, 0); + try test__fixunssfdi(-0.99, 0); - test__fixunssfdi(-1.0, 0); - test__fixunssfdi(-1.5, 0); - test__fixunssfdi(-1.99, 0); - test__fixunssfdi(-2.0, 0); - test__fixunssfdi(-2.01, 0); + try test__fixunssfdi(-1.0, 0); + try test__fixunssfdi(-1.5, 0); + try test__fixunssfdi(-1.99, 0); + try test__fixunssfdi(-2.0, 0); + try test__fixunssfdi(-2.01, 0); - test__fixunssfdi(0x1.FFFFFEp+63, 0xFFFFFF0000000000); - test__fixunssfdi(0x1.000000p+63, 0x8000000000000000); - test__fixunssfdi(0x1.FFFFFEp+62, 0x7FFFFF8000000000); - test__fixunssfdi(0x1.FFFFFCp+62, 0x7FFFFF0000000000); + try test__fixunssfdi(0x1.FFFFFEp+63, 0xFFFFFF0000000000); + try test__fixunssfdi(0x1.000000p+63, 0x8000000000000000); + try test__fixunssfdi(0x1.FFFFFEp+62, 0x7FFFFF8000000000); + try test__fixunssfdi(0x1.FFFFFCp+62, 0x7FFFFF0000000000); - test__fixunssfdi(-0x1.FFFFFEp+62, 0x0000000000000000); - test__fixunssfdi(-0x1.FFFFFCp+62, 0x0000000000000000); + try test__fixunssfdi(-0x1.FFFFFEp+62, 0x0000000000000000); + try test__fixunssfdi(-0x1.FFFFFCp+62, 0x0000000000000000); } diff --git a/lib/std/special/compiler_rt/fixunssfsi_test.zig b/lib/std/special/compiler_rt/fixunssfsi_test.zig index 608dd59ff5..90cb202230 100644 --- a/lib/std/special/compiler_rt/fixunssfsi_test.zig +++ b/lib/std/special/compiler_rt/fixunssfsi_test.zig @@ -6,36 +6,36 @@ const __fixunssfsi = @import("fixunssfsi.zig").__fixunssfsi; const testing = @import("std").testing; -fn test__fixunssfsi(a: f32, expected: u32) void { +fn test__fixunssfsi(a: f32, expected: u32) !void { const x = __fixunssfsi(a); try testing.expect(x == expected); } test "fixunssfsi" { - test__fixunssfsi(0.0, 0); + try test__fixunssfsi(0.0, 0); - test__fixunssfsi(0.5, 0); - test__fixunssfsi(0.99, 0); - test__fixunssfsi(1.0, 1); - test__fixunssfsi(1.5, 1); - test__fixunssfsi(1.99, 1); - test__fixunssfsi(2.0, 2); - test__fixunssfsi(2.01, 2); - test__fixunssfsi(-0.5, 0); - test__fixunssfsi(-0.99, 0); + try test__fixunssfsi(0.5, 0); + try test__fixunssfsi(0.99, 0); + try test__fixunssfsi(1.0, 1); + try test__fixunssfsi(1.5, 1); + try test__fixunssfsi(1.99, 1); + try test__fixunssfsi(2.0, 2); + try test__fixunssfsi(2.01, 2); + try test__fixunssfsi(-0.5, 0); + try test__fixunssfsi(-0.99, 0); - test__fixunssfsi(-1.0, 0); - test__fixunssfsi(-1.5, 0); - test__fixunssfsi(-1.99, 0); - test__fixunssfsi(-2.0, 0); - test__fixunssfsi(-2.01, 0); + try test__fixunssfsi(-1.0, 0); + try test__fixunssfsi(-1.5, 0); + try test__fixunssfsi(-1.99, 0); + try test__fixunssfsi(-2.0, 0); + try test__fixunssfsi(-2.01, 0); - test__fixunssfsi(0x1.000000p+31, 0x80000000); - test__fixunssfsi(0x1.000000p+32, 0xFFFFFFFF); - test__fixunssfsi(0x1.FFFFFEp+31, 0xFFFFFF00); - test__fixunssfsi(0x1.FFFFFEp+30, 0x7FFFFF80); - test__fixunssfsi(0x1.FFFFFCp+30, 0x7FFFFF00); + try test__fixunssfsi(0x1.000000p+31, 0x80000000); + try test__fixunssfsi(0x1.000000p+32, 0xFFFFFFFF); + try test__fixunssfsi(0x1.FFFFFEp+31, 0xFFFFFF00); + try test__fixunssfsi(0x1.FFFFFEp+30, 0x7FFFFF80); + try test__fixunssfsi(0x1.FFFFFCp+30, 0x7FFFFF00); - test__fixunssfsi(-0x1.FFFFFEp+30, 0); - test__fixunssfsi(-0x1.FFFFFCp+30, 0); + try test__fixunssfsi(-0x1.FFFFFEp+30, 0); + try test__fixunssfsi(-0x1.FFFFFCp+30, 0); } diff --git a/lib/std/special/compiler_rt/fixunssfti_test.zig b/lib/std/special/compiler_rt/fixunssfti_test.zig index 5ba5b98d63..6dabae8ba8 100644 --- a/lib/std/special/compiler_rt/fixunssfti_test.zig +++ b/lib/std/special/compiler_rt/fixunssfti_test.zig @@ -6,41 +6,41 @@ const __fixunssfti = @import("fixunssfti.zig").__fixunssfti; const testing = @import("std").testing; -fn test__fixunssfti(a: f32, expected: u128) void { +fn test__fixunssfti(a: f32, expected: u128) !void { const x = __fixunssfti(a); try testing.expect(x == expected); } test "fixunssfti" { - test__fixunssfti(0.0, 0); + try test__fixunssfti(0.0, 0); - test__fixunssfti(0.5, 0); - test__fixunssfti(0.99, 0); - test__fixunssfti(1.0, 1); - test__fixunssfti(1.5, 1); - test__fixunssfti(1.99, 1); - test__fixunssfti(2.0, 2); - test__fixunssfti(2.01, 2); - test__fixunssfti(-0.5, 0); - test__fixunssfti(-0.99, 0); + try test__fixunssfti(0.5, 0); + try test__fixunssfti(0.99, 0); + try test__fixunssfti(1.0, 1); + try test__fixunssfti(1.5, 1); + try test__fixunssfti(1.99, 1); + try test__fixunssfti(2.0, 2); + try test__fixunssfti(2.01, 2); + try test__fixunssfti(-0.5, 0); + try test__fixunssfti(-0.99, 0); - test__fixunssfti(-1.0, 0); - test__fixunssfti(-1.5, 0); - test__fixunssfti(-1.99, 0); - test__fixunssfti(-2.0, 0); - test__fixunssfti(-2.01, 0); + try test__fixunssfti(-1.0, 0); + try test__fixunssfti(-1.5, 0); + try test__fixunssfti(-1.99, 0); + try test__fixunssfti(-2.0, 0); + try test__fixunssfti(-2.01, 0); - test__fixunssfti(0x1.FFFFFEp+63, 0xFFFFFF0000000000); - test__fixunssfti(0x1.000000p+63, 0x8000000000000000); - test__fixunssfti(0x1.FFFFFEp+62, 0x7FFFFF8000000000); - test__fixunssfti(0x1.FFFFFCp+62, 0x7FFFFF0000000000); - test__fixunssfti(0x1.FFFFFEp+127, 0xFFFFFF00000000000000000000000000); - test__fixunssfti(0x1.000000p+127, 0x80000000000000000000000000000000); - test__fixunssfti(0x1.FFFFFEp+126, 0x7FFFFF80000000000000000000000000); - test__fixunssfti(0x1.FFFFFCp+126, 0x7FFFFF00000000000000000000000000); + try test__fixunssfti(0x1.FFFFFEp+63, 0xFFFFFF0000000000); + try test__fixunssfti(0x1.000000p+63, 0x8000000000000000); + try test__fixunssfti(0x1.FFFFFEp+62, 0x7FFFFF8000000000); + try test__fixunssfti(0x1.FFFFFCp+62, 0x7FFFFF0000000000); + try test__fixunssfti(0x1.FFFFFEp+127, 0xFFFFFF00000000000000000000000000); + try test__fixunssfti(0x1.000000p+127, 0x80000000000000000000000000000000); + try test__fixunssfti(0x1.FFFFFEp+126, 0x7FFFFF80000000000000000000000000); + try test__fixunssfti(0x1.FFFFFCp+126, 0x7FFFFF00000000000000000000000000); - test__fixunssfti(-0x1.FFFFFEp+62, 0x0000000000000000); - test__fixunssfti(-0x1.FFFFFCp+62, 0x0000000000000000); - test__fixunssfti(-0x1.FFFFFEp+126, 0x0000000000000000); - test__fixunssfti(-0x1.FFFFFCp+126, 0x0000000000000000); + try test__fixunssfti(-0x1.FFFFFEp+62, 0x0000000000000000); + try test__fixunssfti(-0x1.FFFFFCp+62, 0x0000000000000000); + try test__fixunssfti(-0x1.FFFFFEp+126, 0x0000000000000000); + try test__fixunssfti(-0x1.FFFFFCp+126, 0x0000000000000000); } diff --git a/lib/std/special/compiler_rt/fixunstfdi_test.zig b/lib/std/special/compiler_rt/fixunstfdi_test.zig index 3d832b35d0..7102203cc0 100644 --- a/lib/std/special/compiler_rt/fixunstfdi_test.zig +++ b/lib/std/special/compiler_rt/fixunstfdi_test.zig @@ -6,49 +6,49 @@ const __fixunstfdi = @import("fixunstfdi.zig").__fixunstfdi; const testing = @import("std").testing; -fn test__fixunstfdi(a: f128, expected: u64) void { +fn test__fixunstfdi(a: f128, expected: u64) !void { const x = __fixunstfdi(a); try testing.expect(x == expected); } test "fixunstfdi" { - test__fixunstfdi(0.0, 0); + try test__fixunstfdi(0.0, 0); - test__fixunstfdi(0.5, 0); - test__fixunstfdi(0.99, 0); - test__fixunstfdi(1.0, 1); - test__fixunstfdi(1.5, 1); - test__fixunstfdi(1.99, 1); - test__fixunstfdi(2.0, 2); - test__fixunstfdi(2.01, 2); - test__fixunstfdi(-0.5, 0); - test__fixunstfdi(-0.99, 0); - test__fixunstfdi(-1.0, 0); - test__fixunstfdi(-1.5, 0); - test__fixunstfdi(-1.99, 0); - test__fixunstfdi(-2.0, 0); - test__fixunstfdi(-2.01, 0); + try test__fixunstfdi(0.5, 0); + try test__fixunstfdi(0.99, 0); + try test__fixunstfdi(1.0, 1); + try test__fixunstfdi(1.5, 1); + try test__fixunstfdi(1.99, 1); + try test__fixunstfdi(2.0, 2); + try test__fixunstfdi(2.01, 2); + try test__fixunstfdi(-0.5, 0); + try test__fixunstfdi(-0.99, 0); + try test__fixunstfdi(-1.0, 0); + try test__fixunstfdi(-1.5, 0); + try test__fixunstfdi(-1.99, 0); + try test__fixunstfdi(-2.0, 0); + try test__fixunstfdi(-2.01, 0); - test__fixunstfdi(0x1.FFFFFEp+62, 0x7FFFFF8000000000); - test__fixunstfdi(0x1.FFFFFCp+62, 0x7FFFFF0000000000); + try test__fixunstfdi(0x1.FFFFFEp+62, 0x7FFFFF8000000000); + try test__fixunstfdi(0x1.FFFFFCp+62, 0x7FFFFF0000000000); - test__fixunstfdi(-0x1.FFFFFEp+62, 0); - test__fixunstfdi(-0x1.FFFFFCp+62, 0); + try test__fixunstfdi(-0x1.FFFFFEp+62, 0); + try test__fixunstfdi(-0x1.FFFFFCp+62, 0); - test__fixunstfdi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00); - test__fixunstfdi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800); + try test__fixunstfdi(0x1.FFFFFFFFFFFFFp+62, 0x7FFFFFFFFFFFFC00); + try test__fixunstfdi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800); - test__fixunstfdi(-0x1.FFFFFFFFFFFFFp+62, 0); - test__fixunstfdi(-0x1.FFFFFFFFFFFFEp+62, 0); + try test__fixunstfdi(-0x1.FFFFFFFFFFFFFp+62, 0); + try test__fixunstfdi(-0x1.FFFFFFFFFFFFEp+62, 0); - test__fixunstfdi(0x1.FFFFFFFFFFFFFFFEp+63, 0xFFFFFFFFFFFFFFFF); - test__fixunstfdi(0x1.0000000000000002p+63, 0x8000000000000001); - test__fixunstfdi(0x1.0000000000000000p+63, 0x8000000000000000); - test__fixunstfdi(0x1.FFFFFFFFFFFFFFFCp+62, 0x7FFFFFFFFFFFFFFF); - test__fixunstfdi(0x1.FFFFFFFFFFFFFFF8p+62, 0x7FFFFFFFFFFFFFFE); - test__fixunstfdi(0x1.p+64, 0xFFFFFFFFFFFFFFFF); + try test__fixunstfdi(0x1.FFFFFFFFFFFFFFFEp+63, 0xFFFFFFFFFFFFFFFF); + try test__fixunstfdi(0x1.0000000000000002p+63, 0x8000000000000001); + try test__fixunstfdi(0x1.0000000000000000p+63, 0x8000000000000000); + try test__fixunstfdi(0x1.FFFFFFFFFFFFFFFCp+62, 0x7FFFFFFFFFFFFFFF); + try test__fixunstfdi(0x1.FFFFFFFFFFFFFFF8p+62, 0x7FFFFFFFFFFFFFFE); + try test__fixunstfdi(0x1.p+64, 0xFFFFFFFFFFFFFFFF); - test__fixunstfdi(-0x1.0000000000000000p+63, 0); - test__fixunstfdi(-0x1.FFFFFFFFFFFFFFFCp+62, 0); - test__fixunstfdi(-0x1.FFFFFFFFFFFFFFF8p+62, 0); + try test__fixunstfdi(-0x1.0000000000000000p+63, 0); + try test__fixunstfdi(-0x1.FFFFFFFFFFFFFFFCp+62, 0); + try test__fixunstfdi(-0x1.FFFFFFFFFFFFFFF8p+62, 0); } diff --git a/lib/std/special/compiler_rt/fixunstfsi_test.zig b/lib/std/special/compiler_rt/fixunstfsi_test.zig index e2aa597d9c..9173b01f46 100644 --- a/lib/std/special/compiler_rt/fixunstfsi_test.zig +++ b/lib/std/special/compiler_rt/fixunstfsi_test.zig @@ -6,7 +6,7 @@ const __fixunstfsi = @import("fixunstfsi.zig").__fixunstfsi; const testing = @import("std").testing; -fn test__fixunstfsi(a: f128, expected: u32) void { +fn test__fixunstfsi(a: f128, expected: u32) !void { const x = __fixunstfsi(a); try testing.expect(x == expected); } @@ -14,14 +14,14 @@ fn test__fixunstfsi(a: f128, expected: u32) void { const inf128 = @bitCast(f128, @as(u128, 0x7fff0000000000000000000000000000)); test "fixunstfsi" { - test__fixunstfsi(inf128, 0xffffffff); - test__fixunstfsi(0, 0x0); - test__fixunstfsi(0x1.23456789abcdefp+5, 0x24); - test__fixunstfsi(0x1.23456789abcdefp-3, 0x0); - test__fixunstfsi(0x1.23456789abcdefp+20, 0x123456); - test__fixunstfsi(0x1.23456789abcdefp+40, 0xffffffff); - test__fixunstfsi(0x1.23456789abcdefp+256, 0xffffffff); - test__fixunstfsi(-0x1.23456789abcdefp+3, 0x0); + try test__fixunstfsi(inf128, 0xffffffff); + try test__fixunstfsi(0, 0x0); + try test__fixunstfsi(0x1.23456789abcdefp+5, 0x24); + try test__fixunstfsi(0x1.23456789abcdefp-3, 0x0); + try test__fixunstfsi(0x1.23456789abcdefp+20, 0x123456); + try test__fixunstfsi(0x1.23456789abcdefp+40, 0xffffffff); + try test__fixunstfsi(0x1.23456789abcdefp+256, 0xffffffff); + try test__fixunstfsi(-0x1.23456789abcdefp+3, 0x0); - test__fixunstfsi(0x1.p+32, 0xFFFFFFFF); + try test__fixunstfsi(0x1.p+32, 0xFFFFFFFF); } diff --git a/lib/std/special/compiler_rt/fixunstfti_test.zig b/lib/std/special/compiler_rt/fixunstfti_test.zig index bc3ee0be24..450b07b524 100644 --- a/lib/std/special/compiler_rt/fixunstfti_test.zig +++ b/lib/std/special/compiler_rt/fixunstfti_test.zig @@ -6,7 +6,7 @@ const __fixunstfti = @import("fixunstfti.zig").__fixunstfti; const testing = @import("std").testing; -fn test__fixunstfti(a: f128, expected: u128) void { +fn test__fixunstfti(a: f128, expected: u128) !void { const x = __fixunstfti(a); try testing.expect(x == expected); } @@ -14,24 +14,24 @@ fn test__fixunstfti(a: f128, expected: u128) void { const inf128 = @bitCast(f128, @as(u128, 0x7fff0000000000000000000000000000)); test "fixunstfti" { - test__fixunstfti(inf128, 0xffffffffffffffffffffffffffffffff); + try test__fixunstfti(inf128, 0xffffffffffffffffffffffffffffffff); - test__fixunstfti(0.0, 0); + try test__fixunstfti(0.0, 0); - test__fixunstfti(0.5, 0); - test__fixunstfti(0.99, 0); - test__fixunstfti(1.0, 1); - test__fixunstfti(1.5, 1); - test__fixunstfti(1.99, 1); - test__fixunstfti(2.0, 2); - test__fixunstfti(2.01, 2); - test__fixunstfti(-0.01, 0); - test__fixunstfti(-0.99, 0); + try test__fixunstfti(0.5, 0); + try test__fixunstfti(0.99, 0); + try test__fixunstfti(1.0, 1); + try test__fixunstfti(1.5, 1); + try test__fixunstfti(1.99, 1); + try test__fixunstfti(2.0, 2); + try test__fixunstfti(2.01, 2); + try test__fixunstfti(-0.01, 0); + try test__fixunstfti(-0.99, 0); - test__fixunstfti(0x1.p+128, 0xffffffffffffffffffffffffffffffff); + try test__fixunstfti(0x1.p+128, 0xffffffffffffffffffffffffffffffff); - test__fixunstfti(0x1.FFFFFEp+126, 0x7fffff80000000000000000000000000); - test__fixunstfti(0x1.FFFFFEp+127, 0xffffff00000000000000000000000000); - test__fixunstfti(0x1.FFFFFEp+128, 0xffffffffffffffffffffffffffffffff); - test__fixunstfti(0x1.FFFFFEp+129, 0xffffffffffffffffffffffffffffffff); + try test__fixunstfti(0x1.FFFFFEp+126, 0x7fffff80000000000000000000000000); + try test__fixunstfti(0x1.FFFFFEp+127, 0xffffff00000000000000000000000000); + try test__fixunstfti(0x1.FFFFFEp+128, 0xffffffffffffffffffffffffffffffff); + try test__fixunstfti(0x1.FFFFFEp+129, 0xffffffffffffffffffffffffffffffff); } diff --git a/lib/std/special/compiler_rt/floatdidf_test.zig b/lib/std/special/compiler_rt/floatdidf_test.zig index 85d79bff3c..d20e6b39aa 100644 --- a/lib/std/special/compiler_rt/floatdidf_test.zig +++ b/lib/std/special/compiler_rt/floatdidf_test.zig @@ -6,53 +6,53 @@ const __floatdidf = @import("floatdidf.zig").__floatdidf; const testing = @import("std").testing; -fn test__floatdidf(a: i64, expected: f64) void { +fn test__floatdidf(a: i64, expected: f64) !void { const r = __floatdidf(a); try testing.expect(r == expected); } test "floatdidf" { - test__floatdidf(0, 0.0); - test__floatdidf(1, 1.0); - test__floatdidf(2, 2.0); - test__floatdidf(20, 20.0); - test__floatdidf(-1, -1.0); - test__floatdidf(-2, -2.0); - test__floatdidf(-20, -20.0); - test__floatdidf(0x7FFFFF8000000000, 0x1.FFFFFEp+62); - test__floatdidf(0x7FFFFFFFFFFFF800, 0x1.FFFFFFFFFFFFEp+62); - test__floatdidf(0x7FFFFF0000000000, 0x1.FFFFFCp+62); - test__floatdidf(0x7FFFFFFFFFFFF000, 0x1.FFFFFFFFFFFFCp+62); - test__floatdidf(@bitCast(i64, @intCast(u64, 0x8000008000000000)), -0x1.FFFFFEp+62); - test__floatdidf(@bitCast(i64, @intCast(u64, 0x8000000000000800)), -0x1.FFFFFFFFFFFFEp+62); - test__floatdidf(@bitCast(i64, @intCast(u64, 0x8000010000000000)), -0x1.FFFFFCp+62); - test__floatdidf(@bitCast(i64, @intCast(u64, 0x8000000000001000)), -0x1.FFFFFFFFFFFFCp+62); - test__floatdidf(@bitCast(i64, @intCast(u64, 0x8000000000000000)), -0x1.000000p+63); - test__floatdidf(@bitCast(i64, @intCast(u64, 0x8000000000000001)), -0x1.000000p+63); - test__floatdidf(0x0007FB72E8000000, 0x1.FEDCBAp+50); - test__floatdidf(0x0007FB72EA000000, 0x1.FEDCBA8p+50); - test__floatdidf(0x0007FB72EB000000, 0x1.FEDCBACp+50); - test__floatdidf(0x0007FB72EBFFFFFF, 0x1.FEDCBAFFFFFFCp+50); - test__floatdidf(0x0007FB72EC000000, 0x1.FEDCBBp+50); - test__floatdidf(0x0007FB72E8000001, 0x1.FEDCBA0000004p+50); - test__floatdidf(0x0007FB72E6000000, 0x1.FEDCB98p+50); - test__floatdidf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50); - test__floatdidf(0x0007FB72E7FFFFFF, 0x1.FEDCB9FFFFFFCp+50); - test__floatdidf(0x0007FB72E4000001, 0x1.FEDCB90000004p+50); - test__floatdidf(0x0007FB72E4000000, 0x1.FEDCB9p+50); - test__floatdidf(0x023479FD0E092DC0, 0x1.1A3CFE870496Ep+57); - test__floatdidf(0x023479FD0E092DA1, 0x1.1A3CFE870496Dp+57); - test__floatdidf(0x023479FD0E092DB0, 0x1.1A3CFE870496Ep+57); - test__floatdidf(0x023479FD0E092DB8, 0x1.1A3CFE870496Ep+57); - test__floatdidf(0x023479FD0E092DB6, 0x1.1A3CFE870496Ep+57); - test__floatdidf(0x023479FD0E092DBF, 0x1.1A3CFE870496Ep+57); - test__floatdidf(0x023479FD0E092DC1, 0x1.1A3CFE870496Ep+57); - test__floatdidf(0x023479FD0E092DC7, 0x1.1A3CFE870496Ep+57); - test__floatdidf(0x023479FD0E092DC8, 0x1.1A3CFE870496Ep+57); - test__floatdidf(0x023479FD0E092DCF, 0x1.1A3CFE870496Ep+57); - test__floatdidf(0x023479FD0E092DD0, 0x1.1A3CFE870496Ep+57); - test__floatdidf(0x023479FD0E092DD1, 0x1.1A3CFE870496Fp+57); - test__floatdidf(0x023479FD0E092DD8, 0x1.1A3CFE870496Fp+57); - test__floatdidf(0x023479FD0E092DDF, 0x1.1A3CFE870496Fp+57); - test__floatdidf(0x023479FD0E092DE0, 0x1.1A3CFE870496Fp+57); + try test__floatdidf(0, 0.0); + try test__floatdidf(1, 1.0); + try test__floatdidf(2, 2.0); + try test__floatdidf(20, 20.0); + try test__floatdidf(-1, -1.0); + try test__floatdidf(-2, -2.0); + try test__floatdidf(-20, -20.0); + try test__floatdidf(0x7FFFFF8000000000, 0x1.FFFFFEp+62); + try test__floatdidf(0x7FFFFFFFFFFFF800, 0x1.FFFFFFFFFFFFEp+62); + try test__floatdidf(0x7FFFFF0000000000, 0x1.FFFFFCp+62); + try test__floatdidf(0x7FFFFFFFFFFFF000, 0x1.FFFFFFFFFFFFCp+62); + try test__floatdidf(@bitCast(i64, @intCast(u64, 0x8000008000000000)), -0x1.FFFFFEp+62); + try test__floatdidf(@bitCast(i64, @intCast(u64, 0x8000000000000800)), -0x1.FFFFFFFFFFFFEp+62); + try test__floatdidf(@bitCast(i64, @intCast(u64, 0x8000010000000000)), -0x1.FFFFFCp+62); + try test__floatdidf(@bitCast(i64, @intCast(u64, 0x8000000000001000)), -0x1.FFFFFFFFFFFFCp+62); + try test__floatdidf(@bitCast(i64, @intCast(u64, 0x8000000000000000)), -0x1.000000p+63); + try test__floatdidf(@bitCast(i64, @intCast(u64, 0x8000000000000001)), -0x1.000000p+63); + try test__floatdidf(0x0007FB72E8000000, 0x1.FEDCBAp+50); + try test__floatdidf(0x0007FB72EA000000, 0x1.FEDCBA8p+50); + try test__floatdidf(0x0007FB72EB000000, 0x1.FEDCBACp+50); + try test__floatdidf(0x0007FB72EBFFFFFF, 0x1.FEDCBAFFFFFFCp+50); + try test__floatdidf(0x0007FB72EC000000, 0x1.FEDCBBp+50); + try test__floatdidf(0x0007FB72E8000001, 0x1.FEDCBA0000004p+50); + try test__floatdidf(0x0007FB72E6000000, 0x1.FEDCB98p+50); + try test__floatdidf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50); + try test__floatdidf(0x0007FB72E7FFFFFF, 0x1.FEDCB9FFFFFFCp+50); + try test__floatdidf(0x0007FB72E4000001, 0x1.FEDCB90000004p+50); + try test__floatdidf(0x0007FB72E4000000, 0x1.FEDCB9p+50); + try test__floatdidf(0x023479FD0E092DC0, 0x1.1A3CFE870496Ep+57); + try test__floatdidf(0x023479FD0E092DA1, 0x1.1A3CFE870496Dp+57); + try test__floatdidf(0x023479FD0E092DB0, 0x1.1A3CFE870496Ep+57); + try test__floatdidf(0x023479FD0E092DB8, 0x1.1A3CFE870496Ep+57); + try test__floatdidf(0x023479FD0E092DB6, 0x1.1A3CFE870496Ep+57); + try test__floatdidf(0x023479FD0E092DBF, 0x1.1A3CFE870496Ep+57); + try test__floatdidf(0x023479FD0E092DC1, 0x1.1A3CFE870496Ep+57); + try test__floatdidf(0x023479FD0E092DC7, 0x1.1A3CFE870496Ep+57); + try test__floatdidf(0x023479FD0E092DC8, 0x1.1A3CFE870496Ep+57); + try test__floatdidf(0x023479FD0E092DCF, 0x1.1A3CFE870496Ep+57); + try test__floatdidf(0x023479FD0E092DD0, 0x1.1A3CFE870496Ep+57); + try test__floatdidf(0x023479FD0E092DD1, 0x1.1A3CFE870496Fp+57); + try test__floatdidf(0x023479FD0E092DD8, 0x1.1A3CFE870496Fp+57); + try test__floatdidf(0x023479FD0E092DDF, 0x1.1A3CFE870496Fp+57); + try test__floatdidf(0x023479FD0E092DE0, 0x1.1A3CFE870496Fp+57); } diff --git a/lib/std/special/compiler_rt/floatdisf_test.zig b/lib/std/special/compiler_rt/floatdisf_test.zig index c16481b3dd..a90326e943 100644 --- a/lib/std/special/compiler_rt/floatdisf_test.zig +++ b/lib/std/special/compiler_rt/floatdisf_test.zig @@ -6,32 +6,32 @@ const __floatdisf = @import("floatXisf.zig").__floatdisf; const testing = @import("std").testing; -fn test__floatdisf(a: i64, expected: f32) void { +fn test__floatdisf(a: i64, expected: f32) !void { const x = __floatdisf(a); try testing.expect(x == expected); } test "floatdisf" { - test__floatdisf(0, 0.0); - test__floatdisf(1, 1.0); - test__floatdisf(2, 2.0); - test__floatdisf(-1, -1.0); - test__floatdisf(-2, -2.0); - test__floatdisf(0x7FFFFF8000000000, 0x1.FFFFFEp+62); - test__floatdisf(0x7FFFFF0000000000, 0x1.FFFFFCp+62); - test__floatdisf(0x8000008000000000, -0x1.FFFFFEp+62); - test__floatdisf(0x8000010000000000, -0x1.FFFFFCp+62); - test__floatdisf(0x8000000000000000, -0x1.000000p+63); - test__floatdisf(0x8000000000000001, -0x1.000000p+63); - test__floatdisf(0x0007FB72E8000000, 0x1.FEDCBAp+50); - test__floatdisf(0x0007FB72EA000000, 0x1.FEDCBAp+50); - test__floatdisf(0x0007FB72EB000000, 0x1.FEDCBAp+50); - test__floatdisf(0x0007FB72EBFFFFFF, 0x1.FEDCBAp+50); - test__floatdisf(0x0007FB72EC000000, 0x1.FEDCBCp+50); - test__floatdisf(0x0007FB72E8000001, 0x1.FEDCBAp+50); - test__floatdisf(0x0007FB72E6000000, 0x1.FEDCBAp+50); - test__floatdisf(0x0007FB72E7000000, 0x1.FEDCBAp+50); - test__floatdisf(0x0007FB72E7FFFFFF, 0x1.FEDCBAp+50); - test__floatdisf(0x0007FB72E4000001, 0x1.FEDCBAp+50); - test__floatdisf(0x0007FB72E4000000, 0x1.FEDCB8p+50); + try test__floatdisf(0, 0.0); + try test__floatdisf(1, 1.0); + try test__floatdisf(2, 2.0); + try test__floatdisf(-1, -1.0); + try test__floatdisf(-2, -2.0); + try test__floatdisf(0x7FFFFF8000000000, 0x1.FFFFFEp+62); + try test__floatdisf(0x7FFFFF0000000000, 0x1.FFFFFCp+62); + try test__floatdisf(0x8000008000000000, -0x1.FFFFFEp+62); + try test__floatdisf(0x8000010000000000, -0x1.FFFFFCp+62); + try test__floatdisf(0x8000000000000000, -0x1.000000p+63); + try test__floatdisf(0x8000000000000001, -0x1.000000p+63); + try test__floatdisf(0x0007FB72E8000000, 0x1.FEDCBAp+50); + try test__floatdisf(0x0007FB72EA000000, 0x1.FEDCBAp+50); + try test__floatdisf(0x0007FB72EB000000, 0x1.FEDCBAp+50); + try test__floatdisf(0x0007FB72EBFFFFFF, 0x1.FEDCBAp+50); + try test__floatdisf(0x0007FB72EC000000, 0x1.FEDCBCp+50); + try test__floatdisf(0x0007FB72E8000001, 0x1.FEDCBAp+50); + try test__floatdisf(0x0007FB72E6000000, 0x1.FEDCBAp+50); + try test__floatdisf(0x0007FB72E7000000, 0x1.FEDCBAp+50); + try test__floatdisf(0x0007FB72E7FFFFFF, 0x1.FEDCBAp+50); + try test__floatdisf(0x0007FB72E4000001, 0x1.FEDCBAp+50); + try test__floatdisf(0x0007FB72E4000000, 0x1.FEDCB8p+50); } diff --git a/lib/std/special/compiler_rt/floatditf_test.zig b/lib/std/special/compiler_rt/floatditf_test.zig index 82df9158e0..bec8384dce 100644 --- a/lib/std/special/compiler_rt/floatditf_test.zig +++ b/lib/std/special/compiler_rt/floatditf_test.zig @@ -6,21 +6,21 @@ const __floatditf = @import("floatditf.zig").__floatditf; const testing = @import("std").testing; -fn test__floatditf(a: i64, expected: f128) void { +fn test__floatditf(a: i64, expected: f128) !void { const x = __floatditf(a); try testing.expect(x == expected); } test "floatditf" { - test__floatditf(0x7fffffffffffffff, make_ti(0x403dffffffffffff, 0xfffc000000000000)); - test__floatditf(0x123456789abcdef1, make_ti(0x403b23456789abcd, 0xef10000000000000)); - test__floatditf(0x2, make_ti(0x4000000000000000, 0x0)); - test__floatditf(0x1, make_ti(0x3fff000000000000, 0x0)); - test__floatditf(0x0, make_ti(0x0, 0x0)); - test__floatditf(@bitCast(i64, @as(u64, 0xffffffffffffffff)), make_ti(0xbfff000000000000, 0x0)); - test__floatditf(@bitCast(i64, @as(u64, 0xfffffffffffffffe)), make_ti(0xc000000000000000, 0x0)); - test__floatditf(-0x123456789abcdef1, make_ti(0xc03b23456789abcd, 0xef10000000000000)); - test__floatditf(@bitCast(i64, @as(u64, 0x8000000000000000)), make_ti(0xc03e000000000000, 0x0)); + try test__floatditf(0x7fffffffffffffff, make_ti(0x403dffffffffffff, 0xfffc000000000000)); + try test__floatditf(0x123456789abcdef1, make_ti(0x403b23456789abcd, 0xef10000000000000)); + try test__floatditf(0x2, make_ti(0x4000000000000000, 0x0)); + try test__floatditf(0x1, make_ti(0x3fff000000000000, 0x0)); + try test__floatditf(0x0, make_ti(0x0, 0x0)); + try test__floatditf(@bitCast(i64, @as(u64, 0xffffffffffffffff)), make_ti(0xbfff000000000000, 0x0)); + try test__floatditf(@bitCast(i64, @as(u64, 0xfffffffffffffffe)), make_ti(0xc000000000000000, 0x0)); + try test__floatditf(-0x123456789abcdef1, make_ti(0xc03b23456789abcd, 0xef10000000000000)); + try test__floatditf(@bitCast(i64, @as(u64, 0x8000000000000000)), make_ti(0xc03e000000000000, 0x0)); } fn make_ti(high: u64, low: u64) f128 { diff --git a/lib/std/special/compiler_rt/floatsiXf.zig b/lib/std/special/compiler_rt/floatsiXf.zig index 3f36f8dea0..91e52ac50a 100644 --- a/lib/std/special/compiler_rt/floatsiXf.zig +++ b/lib/std/special/compiler_rt/floatsiXf.zig @@ -84,42 +84,42 @@ pub fn __aeabi_i2f(arg: i32) callconv(.AAPCS) f32 { return @call(.{ .modifier = .always_inline }, __floatsisf, .{arg}); } -fn test_one_floatsitf(a: i32, expected: u128) void { +fn test_one_floatsitf(a: i32, expected: u128) !void { const r = __floatsitf(a); try std.testing.expect(@bitCast(u128, r) == expected); } -fn test_one_floatsidf(a: i32, expected: u64) void { +fn test_one_floatsidf(a: i32, expected: u64) !void { const r = __floatsidf(a); try std.testing.expect(@bitCast(u64, r) == expected); } -fn test_one_floatsisf(a: i32, expected: u32) void { +fn test_one_floatsisf(a: i32, expected: u32) !void { const r = __floatsisf(a); try std.testing.expect(@bitCast(u32, r) == expected); } test "floatsidf" { - test_one_floatsidf(0, 0x0000000000000000); - test_one_floatsidf(1, 0x3ff0000000000000); - test_one_floatsidf(-1, 0xbff0000000000000); - test_one_floatsidf(0x7FFFFFFF, 0x41dfffffffc00000); - test_one_floatsidf(@bitCast(i32, @intCast(u32, 0x80000000)), 0xc1e0000000000000); + try test_one_floatsidf(0, 0x0000000000000000); + try test_one_floatsidf(1, 0x3ff0000000000000); + try test_one_floatsidf(-1, 0xbff0000000000000); + try test_one_floatsidf(0x7FFFFFFF, 0x41dfffffffc00000); + try test_one_floatsidf(@bitCast(i32, @intCast(u32, 0x80000000)), 0xc1e0000000000000); } test "floatsisf" { - test_one_floatsisf(0, 0x00000000); - test_one_floatsisf(1, 0x3f800000); - test_one_floatsisf(-1, 0xbf800000); - test_one_floatsisf(0x7FFFFFFF, 0x4f000000); - test_one_floatsisf(@bitCast(i32, @intCast(u32, 0x80000000)), 0xcf000000); + try test_one_floatsisf(0, 0x00000000); + try test_one_floatsisf(1, 0x3f800000); + try test_one_floatsisf(-1, 0xbf800000); + try test_one_floatsisf(0x7FFFFFFF, 0x4f000000); + try test_one_floatsisf(@bitCast(i32, @intCast(u32, 0x80000000)), 0xcf000000); } test "floatsitf" { - test_one_floatsitf(0, 0); - test_one_floatsitf(0x7FFFFFFF, 0x401dfffffffc00000000000000000000); - test_one_floatsitf(0x12345678, 0x401b2345678000000000000000000000); - test_one_floatsitf(-0x12345678, 0xc01b2345678000000000000000000000); - test_one_floatsitf(@bitCast(i32, @intCast(u32, 0xffffffff)), 0xbfff0000000000000000000000000000); - test_one_floatsitf(@bitCast(i32, @intCast(u32, 0x80000000)), 0xc01e0000000000000000000000000000); + try test_one_floatsitf(0, 0); + try test_one_floatsitf(0x7FFFFFFF, 0x401dfffffffc00000000000000000000); + try test_one_floatsitf(0x12345678, 0x401b2345678000000000000000000000); + try test_one_floatsitf(-0x12345678, 0xc01b2345678000000000000000000000); + try test_one_floatsitf(@bitCast(i32, @intCast(u32, 0xffffffff)), 0xbfff0000000000000000000000000000); + try test_one_floatsitf(@bitCast(i32, @intCast(u32, 0x80000000)), 0xc01e0000000000000000000000000000); } diff --git a/lib/std/special/compiler_rt/floattidf_test.zig b/lib/std/special/compiler_rt/floattidf_test.zig index 0523b2a59b..826b73f8a1 100644 --- a/lib/std/special/compiler_rt/floattidf_test.zig +++ b/lib/std/special/compiler_rt/floattidf_test.zig @@ -6,79 +6,79 @@ const __floattidf = @import("floattidf.zig").__floattidf; const testing = @import("std").testing; -fn test__floattidf(a: i128, expected: f64) void { +fn test__floattidf(a: i128, expected: f64) !void { const x = __floattidf(a); try testing.expect(x == expected); } test "floattidf" { - test__floattidf(0, 0.0); + try test__floattidf(0, 0.0); - test__floattidf(1, 1.0); - test__floattidf(2, 2.0); - test__floattidf(20, 20.0); - test__floattidf(-1, -1.0); - test__floattidf(-2, -2.0); - test__floattidf(-20, -20.0); + try test__floattidf(1, 1.0); + try test__floattidf(2, 2.0); + try test__floattidf(20, 20.0); + try test__floattidf(-1, -1.0); + try test__floattidf(-2, -2.0); + try test__floattidf(-20, -20.0); - test__floattidf(0x7FFFFF8000000000, 0x1.FFFFFEp+62); - test__floattidf(0x7FFFFFFFFFFFF800, 0x1.FFFFFFFFFFFFEp+62); - test__floattidf(0x7FFFFF0000000000, 0x1.FFFFFCp+62); - test__floattidf(0x7FFFFFFFFFFFF000, 0x1.FFFFFFFFFFFFCp+62); + try test__floattidf(0x7FFFFF8000000000, 0x1.FFFFFEp+62); + try test__floattidf(0x7FFFFFFFFFFFF800, 0x1.FFFFFFFFFFFFEp+62); + try test__floattidf(0x7FFFFF0000000000, 0x1.FFFFFCp+62); + try test__floattidf(0x7FFFFFFFFFFFF000, 0x1.FFFFFFFFFFFFCp+62); - test__floattidf(make_ti(0x8000008000000000, 0), -0x1.FFFFFEp+126); - test__floattidf(make_ti(0x8000000000000800, 0), -0x1.FFFFFFFFFFFFEp+126); - test__floattidf(make_ti(0x8000010000000000, 0), -0x1.FFFFFCp+126); - test__floattidf(make_ti(0x8000000000001000, 0), -0x1.FFFFFFFFFFFFCp+126); + try test__floattidf(make_ti(0x8000008000000000, 0), -0x1.FFFFFEp+126); + try test__floattidf(make_ti(0x8000000000000800, 0), -0x1.FFFFFFFFFFFFEp+126); + try test__floattidf(make_ti(0x8000010000000000, 0), -0x1.FFFFFCp+126); + try test__floattidf(make_ti(0x8000000000001000, 0), -0x1.FFFFFFFFFFFFCp+126); - test__floattidf(make_ti(0x8000000000000000, 0), -0x1.000000p+127); - test__floattidf(make_ti(0x8000000000000001, 0), -0x1.000000p+127); + try test__floattidf(make_ti(0x8000000000000000, 0), -0x1.000000p+127); + try test__floattidf(make_ti(0x8000000000000001, 0), -0x1.000000p+127); - test__floattidf(0x0007FB72E8000000, 0x1.FEDCBAp+50); + try test__floattidf(0x0007FB72E8000000, 0x1.FEDCBAp+50); - test__floattidf(0x0007FB72EA000000, 0x1.FEDCBA8p+50); - test__floattidf(0x0007FB72EB000000, 0x1.FEDCBACp+50); - test__floattidf(0x0007FB72EBFFFFFF, 0x1.FEDCBAFFFFFFCp+50); - test__floattidf(0x0007FB72EC000000, 0x1.FEDCBBp+50); - test__floattidf(0x0007FB72E8000001, 0x1.FEDCBA0000004p+50); + try test__floattidf(0x0007FB72EA000000, 0x1.FEDCBA8p+50); + try test__floattidf(0x0007FB72EB000000, 0x1.FEDCBACp+50); + try test__floattidf(0x0007FB72EBFFFFFF, 0x1.FEDCBAFFFFFFCp+50); + try test__floattidf(0x0007FB72EC000000, 0x1.FEDCBBp+50); + try test__floattidf(0x0007FB72E8000001, 0x1.FEDCBA0000004p+50); - test__floattidf(0x0007FB72E6000000, 0x1.FEDCB98p+50); - test__floattidf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50); - test__floattidf(0x0007FB72E7FFFFFF, 0x1.FEDCB9FFFFFFCp+50); - test__floattidf(0x0007FB72E4000001, 0x1.FEDCB90000004p+50); - test__floattidf(0x0007FB72E4000000, 0x1.FEDCB9p+50); + try test__floattidf(0x0007FB72E6000000, 0x1.FEDCB98p+50); + try test__floattidf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50); + try test__floattidf(0x0007FB72E7FFFFFF, 0x1.FEDCB9FFFFFFCp+50); + try test__floattidf(0x0007FB72E4000001, 0x1.FEDCB90000004p+50); + try test__floattidf(0x0007FB72E4000000, 0x1.FEDCB9p+50); - test__floattidf(0x023479FD0E092DC0, 0x1.1A3CFE870496Ep+57); - test__floattidf(0x023479FD0E092DA1, 0x1.1A3CFE870496Dp+57); - test__floattidf(0x023479FD0E092DB0, 0x1.1A3CFE870496Ep+57); - test__floattidf(0x023479FD0E092DB8, 0x1.1A3CFE870496Ep+57); - test__floattidf(0x023479FD0E092DB6, 0x1.1A3CFE870496Ep+57); - test__floattidf(0x023479FD0E092DBF, 0x1.1A3CFE870496Ep+57); - test__floattidf(0x023479FD0E092DC1, 0x1.1A3CFE870496Ep+57); - test__floattidf(0x023479FD0E092DC7, 0x1.1A3CFE870496Ep+57); - test__floattidf(0x023479FD0E092DC8, 0x1.1A3CFE870496Ep+57); - test__floattidf(0x023479FD0E092DCF, 0x1.1A3CFE870496Ep+57); - test__floattidf(0x023479FD0E092DD0, 0x1.1A3CFE870496Ep+57); - test__floattidf(0x023479FD0E092DD1, 0x1.1A3CFE870496Fp+57); - test__floattidf(0x023479FD0E092DD8, 0x1.1A3CFE870496Fp+57); - test__floattidf(0x023479FD0E092DDF, 0x1.1A3CFE870496Fp+57); - test__floattidf(0x023479FD0E092DE0, 0x1.1A3CFE870496Fp+57); + try test__floattidf(0x023479FD0E092DC0, 0x1.1A3CFE870496Ep+57); + try test__floattidf(0x023479FD0E092DA1, 0x1.1A3CFE870496Dp+57); + try test__floattidf(0x023479FD0E092DB0, 0x1.1A3CFE870496Ep+57); + try test__floattidf(0x023479FD0E092DB8, 0x1.1A3CFE870496Ep+57); + try test__floattidf(0x023479FD0E092DB6, 0x1.1A3CFE870496Ep+57); + try test__floattidf(0x023479FD0E092DBF, 0x1.1A3CFE870496Ep+57); + try test__floattidf(0x023479FD0E092DC1, 0x1.1A3CFE870496Ep+57); + try test__floattidf(0x023479FD0E092DC7, 0x1.1A3CFE870496Ep+57); + try test__floattidf(0x023479FD0E092DC8, 0x1.1A3CFE870496Ep+57); + try test__floattidf(0x023479FD0E092DCF, 0x1.1A3CFE870496Ep+57); + try test__floattidf(0x023479FD0E092DD0, 0x1.1A3CFE870496Ep+57); + try test__floattidf(0x023479FD0E092DD1, 0x1.1A3CFE870496Fp+57); + try test__floattidf(0x023479FD0E092DD8, 0x1.1A3CFE870496Fp+57); + try test__floattidf(0x023479FD0E092DDF, 0x1.1A3CFE870496Fp+57); + try test__floattidf(0x023479FD0E092DE0, 0x1.1A3CFE870496Fp+57); - test__floattidf(make_ti(0x023479FD0E092DC0, 0), 0x1.1A3CFE870496Ep+121); - test__floattidf(make_ti(0x023479FD0E092DA1, 1), 0x1.1A3CFE870496Dp+121); - test__floattidf(make_ti(0x023479FD0E092DB0, 2), 0x1.1A3CFE870496Ep+121); - test__floattidf(make_ti(0x023479FD0E092DB8, 3), 0x1.1A3CFE870496Ep+121); - test__floattidf(make_ti(0x023479FD0E092DB6, 4), 0x1.1A3CFE870496Ep+121); - test__floattidf(make_ti(0x023479FD0E092DBF, 5), 0x1.1A3CFE870496Ep+121); - test__floattidf(make_ti(0x023479FD0E092DC1, 6), 0x1.1A3CFE870496Ep+121); - test__floattidf(make_ti(0x023479FD0E092DC7, 7), 0x1.1A3CFE870496Ep+121); - test__floattidf(make_ti(0x023479FD0E092DC8, 8), 0x1.1A3CFE870496Ep+121); - test__floattidf(make_ti(0x023479FD0E092DCF, 9), 0x1.1A3CFE870496Ep+121); - test__floattidf(make_ti(0x023479FD0E092DD0, 0), 0x1.1A3CFE870496Ep+121); - test__floattidf(make_ti(0x023479FD0E092DD1, 11), 0x1.1A3CFE870496Fp+121); - test__floattidf(make_ti(0x023479FD0E092DD8, 12), 0x1.1A3CFE870496Fp+121); - test__floattidf(make_ti(0x023479FD0E092DDF, 13), 0x1.1A3CFE870496Fp+121); - test__floattidf(make_ti(0x023479FD0E092DE0, 14), 0x1.1A3CFE870496Fp+121); + try test__floattidf(make_ti(0x023479FD0E092DC0, 0), 0x1.1A3CFE870496Ep+121); + try test__floattidf(make_ti(0x023479FD0E092DA1, 1), 0x1.1A3CFE870496Dp+121); + try test__floattidf(make_ti(0x023479FD0E092DB0, 2), 0x1.1A3CFE870496Ep+121); + try test__floattidf(make_ti(0x023479FD0E092DB8, 3), 0x1.1A3CFE870496Ep+121); + try test__floattidf(make_ti(0x023479FD0E092DB6, 4), 0x1.1A3CFE870496Ep+121); + try test__floattidf(make_ti(0x023479FD0E092DBF, 5), 0x1.1A3CFE870496Ep+121); + try test__floattidf(make_ti(0x023479FD0E092DC1, 6), 0x1.1A3CFE870496Ep+121); + try test__floattidf(make_ti(0x023479FD0E092DC7, 7), 0x1.1A3CFE870496Ep+121); + try test__floattidf(make_ti(0x023479FD0E092DC8, 8), 0x1.1A3CFE870496Ep+121); + try test__floattidf(make_ti(0x023479FD0E092DCF, 9), 0x1.1A3CFE870496Ep+121); + try test__floattidf(make_ti(0x023479FD0E092DD0, 0), 0x1.1A3CFE870496Ep+121); + try test__floattidf(make_ti(0x023479FD0E092DD1, 11), 0x1.1A3CFE870496Fp+121); + try test__floattidf(make_ti(0x023479FD0E092DD8, 12), 0x1.1A3CFE870496Fp+121); + try test__floattidf(make_ti(0x023479FD0E092DDF, 13), 0x1.1A3CFE870496Fp+121); + try test__floattidf(make_ti(0x023479FD0E092DE0, 14), 0x1.1A3CFE870496Fp+121); } fn make_ti(high: u64, low: u64) i128 { diff --git a/lib/std/special/compiler_rt/floattisf_test.zig b/lib/std/special/compiler_rt/floattisf_test.zig index 88f0989f18..28df0b54ea 100644 --- a/lib/std/special/compiler_rt/floattisf_test.zig +++ b/lib/std/special/compiler_rt/floattisf_test.zig @@ -6,55 +6,55 @@ const __floattisf = @import("floatXisf.zig").__floattisf; const testing = @import("std").testing; -fn test__floattisf(a: i128, expected: f32) void { +fn test__floattisf(a: i128, expected: f32) !void { const x = __floattisf(a); try testing.expect(x == expected); } test "floattisf" { - test__floattisf(0, 0.0); + try test__floattisf(0, 0.0); - test__floattisf(1, 1.0); - test__floattisf(2, 2.0); - test__floattisf(-1, -1.0); - test__floattisf(-2, -2.0); + try test__floattisf(1, 1.0); + try test__floattisf(2, 2.0); + try test__floattisf(-1, -1.0); + try test__floattisf(-2, -2.0); - test__floattisf(0x7FFFFF8000000000, 0x1.FFFFFEp+62); - test__floattisf(0x7FFFFF0000000000, 0x1.FFFFFCp+62); + try test__floattisf(0x7FFFFF8000000000, 0x1.FFFFFEp+62); + try test__floattisf(0x7FFFFF0000000000, 0x1.FFFFFCp+62); - test__floattisf(make_ti(0xFFFFFFFFFFFFFFFF, 0x8000008000000000), -0x1.FFFFFEp+62); - test__floattisf(make_ti(0xFFFFFFFFFFFFFFFF, 0x8000010000000000), -0x1.FFFFFCp+62); + try test__floattisf(make_ti(0xFFFFFFFFFFFFFFFF, 0x8000008000000000), -0x1.FFFFFEp+62); + try test__floattisf(make_ti(0xFFFFFFFFFFFFFFFF, 0x8000010000000000), -0x1.FFFFFCp+62); - test__floattisf(make_ti(0xFFFFFFFFFFFFFFFF, 0x8000000000000000), -0x1.000000p+63); - test__floattisf(make_ti(0xFFFFFFFFFFFFFFFF, 0x8000000000000001), -0x1.000000p+63); + try test__floattisf(make_ti(0xFFFFFFFFFFFFFFFF, 0x8000000000000000), -0x1.000000p+63); + try test__floattisf(make_ti(0xFFFFFFFFFFFFFFFF, 0x8000000000000001), -0x1.000000p+63); - test__floattisf(0x0007FB72E8000000, 0x1.FEDCBAp+50); + try test__floattisf(0x0007FB72E8000000, 0x1.FEDCBAp+50); - test__floattisf(0x0007FB72EA000000, 0x1.FEDCBAp+50); - test__floattisf(0x0007FB72EB000000, 0x1.FEDCBAp+50); - test__floattisf(0x0007FB72EBFFFFFF, 0x1.FEDCBAp+50); - test__floattisf(0x0007FB72EC000000, 0x1.FEDCBCp+50); - test__floattisf(0x0007FB72E8000001, 0x1.FEDCBAp+50); + try test__floattisf(0x0007FB72EA000000, 0x1.FEDCBAp+50); + try test__floattisf(0x0007FB72EB000000, 0x1.FEDCBAp+50); + try test__floattisf(0x0007FB72EBFFFFFF, 0x1.FEDCBAp+50); + try test__floattisf(0x0007FB72EC000000, 0x1.FEDCBCp+50); + try test__floattisf(0x0007FB72E8000001, 0x1.FEDCBAp+50); - test__floattisf(0x0007FB72E6000000, 0x1.FEDCBAp+50); - test__floattisf(0x0007FB72E7000000, 0x1.FEDCBAp+50); - test__floattisf(0x0007FB72E7FFFFFF, 0x1.FEDCBAp+50); - test__floattisf(0x0007FB72E4000001, 0x1.FEDCBAp+50); - test__floattisf(0x0007FB72E4000000, 0x1.FEDCB8p+50); + try test__floattisf(0x0007FB72E6000000, 0x1.FEDCBAp+50); + try test__floattisf(0x0007FB72E7000000, 0x1.FEDCBAp+50); + try test__floattisf(0x0007FB72E7FFFFFF, 0x1.FEDCBAp+50); + try test__floattisf(0x0007FB72E4000001, 0x1.FEDCBAp+50); + try test__floattisf(0x0007FB72E4000000, 0x1.FEDCB8p+50); - test__floattisf(make_ti(0x0007FB72E8000000, 0), 0x1.FEDCBAp+114); + try test__floattisf(make_ti(0x0007FB72E8000000, 0), 0x1.FEDCBAp+114); - test__floattisf(make_ti(0x0007FB72EA000000, 0), 0x1.FEDCBAp+114); - test__floattisf(make_ti(0x0007FB72EB000000, 0), 0x1.FEDCBAp+114); - test__floattisf(make_ti(0x0007FB72EBFFFFFF, 0), 0x1.FEDCBAp+114); - test__floattisf(make_ti(0x0007FB72EC000000, 0), 0x1.FEDCBCp+114); - test__floattisf(make_ti(0x0007FB72E8000001, 0), 0x1.FEDCBAp+114); + try test__floattisf(make_ti(0x0007FB72EA000000, 0), 0x1.FEDCBAp+114); + try test__floattisf(make_ti(0x0007FB72EB000000, 0), 0x1.FEDCBAp+114); + try test__floattisf(make_ti(0x0007FB72EBFFFFFF, 0), 0x1.FEDCBAp+114); + try test__floattisf(make_ti(0x0007FB72EC000000, 0), 0x1.FEDCBCp+114); + try test__floattisf(make_ti(0x0007FB72E8000001, 0), 0x1.FEDCBAp+114); - test__floattisf(make_ti(0x0007FB72E6000000, 0), 0x1.FEDCBAp+114); - test__floattisf(make_ti(0x0007FB72E7000000, 0), 0x1.FEDCBAp+114); - test__floattisf(make_ti(0x0007FB72E7FFFFFF, 0), 0x1.FEDCBAp+114); - test__floattisf(make_ti(0x0007FB72E4000001, 0), 0x1.FEDCBAp+114); - test__floattisf(make_ti(0x0007FB72E4000000, 0), 0x1.FEDCB8p+114); + try test__floattisf(make_ti(0x0007FB72E6000000, 0), 0x1.FEDCBAp+114); + try test__floattisf(make_ti(0x0007FB72E7000000, 0), 0x1.FEDCBAp+114); + try test__floattisf(make_ti(0x0007FB72E7FFFFFF, 0), 0x1.FEDCBAp+114); + try test__floattisf(make_ti(0x0007FB72E4000001, 0), 0x1.FEDCBAp+114); + try test__floattisf(make_ti(0x0007FB72E4000000, 0), 0x1.FEDCB8p+114); } fn make_ti(high: u64, low: u64) i128 { diff --git a/lib/std/special/compiler_rt/floattitf_test.zig b/lib/std/special/compiler_rt/floattitf_test.zig index 0650665e4f..cf0aa138a9 100644 --- a/lib/std/special/compiler_rt/floattitf_test.zig +++ b/lib/std/special/compiler_rt/floattitf_test.zig @@ -6,91 +6,91 @@ const __floattitf = @import("floattitf.zig").__floattitf; const testing = @import("std").testing; -fn test__floattitf(a: i128, expected: f128) void { +fn test__floattitf(a: i128, expected: f128) !void { const x = __floattitf(a); try testing.expect(x == expected); } test "floattitf" { - test__floattitf(0, 0.0); + try test__floattitf(0, 0.0); - test__floattitf(1, 1.0); - test__floattitf(2, 2.0); - test__floattitf(20, 20.0); - test__floattitf(-1, -1.0); - test__floattitf(-2, -2.0); - test__floattitf(-20, -20.0); + try test__floattitf(1, 1.0); + try test__floattitf(2, 2.0); + try test__floattitf(20, 20.0); + try test__floattitf(-1, -1.0); + try test__floattitf(-2, -2.0); + try test__floattitf(-20, -20.0); - test__floattitf(0x7FFFFF8000000000, 0x1.FFFFFEp+62); - test__floattitf(0x7FFFFFFFFFFFF800, 0x1.FFFFFFFFFFFFEp+62); - test__floattitf(0x7FFFFF0000000000, 0x1.FFFFFCp+62); - test__floattitf(0x7FFFFFFFFFFFF000, 0x1.FFFFFFFFFFFFCp+62); + try test__floattitf(0x7FFFFF8000000000, 0x1.FFFFFEp+62); + try test__floattitf(0x7FFFFFFFFFFFF800, 0x1.FFFFFFFFFFFFEp+62); + try test__floattitf(0x7FFFFF0000000000, 0x1.FFFFFCp+62); + try test__floattitf(0x7FFFFFFFFFFFF000, 0x1.FFFFFFFFFFFFCp+62); - test__floattitf(make_ti(0x8000008000000000, 0), -0x1.FFFFFEp+126); - test__floattitf(make_ti(0x8000000000000800, 0), -0x1.FFFFFFFFFFFFEp+126); - test__floattitf(make_ti(0x8000010000000000, 0), -0x1.FFFFFCp+126); - test__floattitf(make_ti(0x8000000000001000, 0), -0x1.FFFFFFFFFFFFCp+126); + try test__floattitf(make_ti(0x8000008000000000, 0), -0x1.FFFFFEp+126); + try test__floattitf(make_ti(0x8000000000000800, 0), -0x1.FFFFFFFFFFFFEp+126); + try test__floattitf(make_ti(0x8000010000000000, 0), -0x1.FFFFFCp+126); + try test__floattitf(make_ti(0x8000000000001000, 0), -0x1.FFFFFFFFFFFFCp+126); - test__floattitf(make_ti(0x8000000000000000, 0), -0x1.000000p+127); - test__floattitf(make_ti(0x8000000000000001, 0), -0x1.FFFFFFFFFFFFFFFCp+126); + try test__floattitf(make_ti(0x8000000000000000, 0), -0x1.000000p+127); + try test__floattitf(make_ti(0x8000000000000001, 0), -0x1.FFFFFFFFFFFFFFFCp+126); - test__floattitf(0x0007FB72E8000000, 0x1.FEDCBAp+50); + try test__floattitf(0x0007FB72E8000000, 0x1.FEDCBAp+50); - test__floattitf(0x0007FB72EA000000, 0x1.FEDCBA8p+50); - test__floattitf(0x0007FB72EB000000, 0x1.FEDCBACp+50); - test__floattitf(0x0007FB72EBFFFFFF, 0x1.FEDCBAFFFFFFCp+50); - test__floattitf(0x0007FB72EC000000, 0x1.FEDCBBp+50); - test__floattitf(0x0007FB72E8000001, 0x1.FEDCBA0000004p+50); + try test__floattitf(0x0007FB72EA000000, 0x1.FEDCBA8p+50); + try test__floattitf(0x0007FB72EB000000, 0x1.FEDCBACp+50); + try test__floattitf(0x0007FB72EBFFFFFF, 0x1.FEDCBAFFFFFFCp+50); + try test__floattitf(0x0007FB72EC000000, 0x1.FEDCBBp+50); + try test__floattitf(0x0007FB72E8000001, 0x1.FEDCBA0000004p+50); - test__floattitf(0x0007FB72E6000000, 0x1.FEDCB98p+50); - test__floattitf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50); - test__floattitf(0x0007FB72E7FFFFFF, 0x1.FEDCB9FFFFFFCp+50); - test__floattitf(0x0007FB72E4000001, 0x1.FEDCB90000004p+50); - test__floattitf(0x0007FB72E4000000, 0x1.FEDCB9p+50); + try test__floattitf(0x0007FB72E6000000, 0x1.FEDCB98p+50); + try test__floattitf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50); + try test__floattitf(0x0007FB72E7FFFFFF, 0x1.FEDCB9FFFFFFCp+50); + try test__floattitf(0x0007FB72E4000001, 0x1.FEDCB90000004p+50); + try test__floattitf(0x0007FB72E4000000, 0x1.FEDCB9p+50); - test__floattitf(0x023479FD0E092DC0, 0x1.1A3CFE870496Ep+57); - test__floattitf(0x023479FD0E092DA1, 0x1.1A3CFE870496D08p+57); - test__floattitf(0x023479FD0E092DB0, 0x1.1A3CFE870496D8p+57); - test__floattitf(0x023479FD0E092DB8, 0x1.1A3CFE870496DCp+57); - test__floattitf(0x023479FD0E092DB6, 0x1.1A3CFE870496DBp+57); - test__floattitf(0x023479FD0E092DBF, 0x1.1A3CFE870496DF8p+57); - test__floattitf(0x023479FD0E092DC1, 0x1.1A3CFE870496E08p+57); - test__floattitf(0x023479FD0E092DC7, 0x1.1A3CFE870496E38p+57); - test__floattitf(0x023479FD0E092DC8, 0x1.1A3CFE870496E4p+57); - test__floattitf(0x023479FD0E092DCF, 0x1.1A3CFE870496E78p+57); - test__floattitf(0x023479FD0E092DD0, 0x1.1A3CFE870496E8p+57); - test__floattitf(0x023479FD0E092DD1, 0x1.1A3CFE870496E88p+57); - test__floattitf(0x023479FD0E092DD8, 0x1.1A3CFE870496ECp+57); - test__floattitf(0x023479FD0E092DDF, 0x1.1A3CFE870496EF8p+57); - test__floattitf(0x023479FD0E092DE0, 0x1.1A3CFE870496Fp+57); + try test__floattitf(0x023479FD0E092DC0, 0x1.1A3CFE870496Ep+57); + try test__floattitf(0x023479FD0E092DA1, 0x1.1A3CFE870496D08p+57); + try test__floattitf(0x023479FD0E092DB0, 0x1.1A3CFE870496D8p+57); + try test__floattitf(0x023479FD0E092DB8, 0x1.1A3CFE870496DCp+57); + try test__floattitf(0x023479FD0E092DB6, 0x1.1A3CFE870496DBp+57); + try test__floattitf(0x023479FD0E092DBF, 0x1.1A3CFE870496DF8p+57); + try test__floattitf(0x023479FD0E092DC1, 0x1.1A3CFE870496E08p+57); + try test__floattitf(0x023479FD0E092DC7, 0x1.1A3CFE870496E38p+57); + try test__floattitf(0x023479FD0E092DC8, 0x1.1A3CFE870496E4p+57); + try test__floattitf(0x023479FD0E092DCF, 0x1.1A3CFE870496E78p+57); + try test__floattitf(0x023479FD0E092DD0, 0x1.1A3CFE870496E8p+57); + try test__floattitf(0x023479FD0E092DD1, 0x1.1A3CFE870496E88p+57); + try test__floattitf(0x023479FD0E092DD8, 0x1.1A3CFE870496ECp+57); + try test__floattitf(0x023479FD0E092DDF, 0x1.1A3CFE870496EF8p+57); + try test__floattitf(0x023479FD0E092DE0, 0x1.1A3CFE870496Fp+57); - test__floattitf(make_ti(0x023479FD0E092DC0, 0), 0x1.1A3CFE870496Ep+121); - test__floattitf(make_ti(0x023479FD0E092DA1, 1), 0x1.1A3CFE870496D08p+121); - test__floattitf(make_ti(0x023479FD0E092DB0, 2), 0x1.1A3CFE870496D8p+121); - test__floattitf(make_ti(0x023479FD0E092DB8, 3), 0x1.1A3CFE870496DCp+121); - test__floattitf(make_ti(0x023479FD0E092DB6, 4), 0x1.1A3CFE870496DBp+121); - test__floattitf(make_ti(0x023479FD0E092DBF, 5), 0x1.1A3CFE870496DF8p+121); - test__floattitf(make_ti(0x023479FD0E092DC1, 6), 0x1.1A3CFE870496E08p+121); - test__floattitf(make_ti(0x023479FD0E092DC7, 7), 0x1.1A3CFE870496E38p+121); - test__floattitf(make_ti(0x023479FD0E092DC8, 8), 0x1.1A3CFE870496E4p+121); - test__floattitf(make_ti(0x023479FD0E092DCF, 9), 0x1.1A3CFE870496E78p+121); - test__floattitf(make_ti(0x023479FD0E092DD0, 0), 0x1.1A3CFE870496E8p+121); - test__floattitf(make_ti(0x023479FD0E092DD1, 11), 0x1.1A3CFE870496E88p+121); - test__floattitf(make_ti(0x023479FD0E092DD8, 12), 0x1.1A3CFE870496ECp+121); - test__floattitf(make_ti(0x023479FD0E092DDF, 13), 0x1.1A3CFE870496EF8p+121); - test__floattitf(make_ti(0x023479FD0E092DE0, 14), 0x1.1A3CFE870496Fp+121); + try test__floattitf(make_ti(0x023479FD0E092DC0, 0), 0x1.1A3CFE870496Ep+121); + try test__floattitf(make_ti(0x023479FD0E092DA1, 1), 0x1.1A3CFE870496D08p+121); + try test__floattitf(make_ti(0x023479FD0E092DB0, 2), 0x1.1A3CFE870496D8p+121); + try test__floattitf(make_ti(0x023479FD0E092DB8, 3), 0x1.1A3CFE870496DCp+121); + try test__floattitf(make_ti(0x023479FD0E092DB6, 4), 0x1.1A3CFE870496DBp+121); + try test__floattitf(make_ti(0x023479FD0E092DBF, 5), 0x1.1A3CFE870496DF8p+121); + try test__floattitf(make_ti(0x023479FD0E092DC1, 6), 0x1.1A3CFE870496E08p+121); + try test__floattitf(make_ti(0x023479FD0E092DC7, 7), 0x1.1A3CFE870496E38p+121); + try test__floattitf(make_ti(0x023479FD0E092DC8, 8), 0x1.1A3CFE870496E4p+121); + try test__floattitf(make_ti(0x023479FD0E092DCF, 9), 0x1.1A3CFE870496E78p+121); + try test__floattitf(make_ti(0x023479FD0E092DD0, 0), 0x1.1A3CFE870496E8p+121); + try test__floattitf(make_ti(0x023479FD0E092DD1, 11), 0x1.1A3CFE870496E88p+121); + try test__floattitf(make_ti(0x023479FD0E092DD8, 12), 0x1.1A3CFE870496ECp+121); + try test__floattitf(make_ti(0x023479FD0E092DDF, 13), 0x1.1A3CFE870496EF8p+121); + try test__floattitf(make_ti(0x023479FD0E092DE0, 14), 0x1.1A3CFE870496Fp+121); - test__floattitf(make_ti(0, 0xFFFFFFFFFFFFFFFF), 0x1.FFFFFFFFFFFFFFFEp+63); + try test__floattitf(make_ti(0, 0xFFFFFFFFFFFFFFFF), 0x1.FFFFFFFFFFFFFFFEp+63); - test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC2801), 0x1.23456789ABCDEF0123456789ABC3p+124); - test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC3000), 0x1.23456789ABCDEF0123456789ABC3p+124); - test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC37FF), 0x1.23456789ABCDEF0123456789ABC3p+124); - test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC3800), 0x1.23456789ABCDEF0123456789ABC4p+124); - test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC4000), 0x1.23456789ABCDEF0123456789ABC4p+124); - test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC47FF), 0x1.23456789ABCDEF0123456789ABC4p+124); - test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC4800), 0x1.23456789ABCDEF0123456789ABC4p+124); - test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC4801), 0x1.23456789ABCDEF0123456789ABC5p+124); - test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC57FF), 0x1.23456789ABCDEF0123456789ABC5p+124); + try test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC2801), 0x1.23456789ABCDEF0123456789ABC3p+124); + try test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC3000), 0x1.23456789ABCDEF0123456789ABC3p+124); + try test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC37FF), 0x1.23456789ABCDEF0123456789ABC3p+124); + try test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC3800), 0x1.23456789ABCDEF0123456789ABC4p+124); + try test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC4000), 0x1.23456789ABCDEF0123456789ABC4p+124); + try test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC47FF), 0x1.23456789ABCDEF0123456789ABC4p+124); + try test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC4800), 0x1.23456789ABCDEF0123456789ABC4p+124); + try test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC4801), 0x1.23456789ABCDEF0123456789ABC5p+124); + try test__floattitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC57FF), 0x1.23456789ABCDEF0123456789ABC5p+124); } fn make_ti(high: u64, low: u64) i128 { diff --git a/lib/std/special/compiler_rt/floatundidf_test.zig b/lib/std/special/compiler_rt/floatundidf_test.zig index 5c92d74106..3094396326 100644 --- a/lib/std/special/compiler_rt/floatundidf_test.zig +++ b/lib/std/special/compiler_rt/floatundidf_test.zig @@ -6,50 +6,50 @@ const __floatundidf = @import("floatundidf.zig").__floatundidf; const testing = @import("std").testing; -fn test__floatundidf(a: u64, expected: f64) void { +fn test__floatundidf(a: u64, expected: f64) !void { const r = __floatundidf(a); try testing.expect(r == expected); } test "floatundidf" { - test__floatundidf(0, 0.0); - test__floatundidf(1, 1.0); - test__floatundidf(2, 2.0); - test__floatundidf(20, 20.0); - test__floatundidf(0x7FFFFF8000000000, 0x1.FFFFFEp+62); - test__floatundidf(0x7FFFFFFFFFFFF800, 0x1.FFFFFFFFFFFFEp+62); - test__floatundidf(0x7FFFFF0000000000, 0x1.FFFFFCp+62); - test__floatundidf(0x7FFFFFFFFFFFF000, 0x1.FFFFFFFFFFFFCp+62); - test__floatundidf(0x8000008000000000, 0x1.000001p+63); - test__floatundidf(0x8000000000000800, 0x1.0000000000001p+63); - test__floatundidf(0x8000010000000000, 0x1.000002p+63); - test__floatundidf(0x8000000000001000, 0x1.0000000000002p+63); - test__floatundidf(0x8000000000000000, 0x1p+63); - test__floatundidf(0x8000000000000001, 0x1p+63); - test__floatundidf(0x0007FB72E8000000, 0x1.FEDCBAp+50); - test__floatundidf(0x0007FB72EA000000, 0x1.FEDCBA8p+50); - test__floatundidf(0x0007FB72EB000000, 0x1.FEDCBACp+50); - test__floatundidf(0x0007FB72EBFFFFFF, 0x1.FEDCBAFFFFFFCp+50); - test__floatundidf(0x0007FB72EC000000, 0x1.FEDCBBp+50); - test__floatundidf(0x0007FB72E8000001, 0x1.FEDCBA0000004p+50); - test__floatundidf(0x0007FB72E6000000, 0x1.FEDCB98p+50); - test__floatundidf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50); - test__floatundidf(0x0007FB72E7FFFFFF, 0x1.FEDCB9FFFFFFCp+50); - test__floatundidf(0x0007FB72E4000001, 0x1.FEDCB90000004p+50); - test__floatundidf(0x0007FB72E4000000, 0x1.FEDCB9p+50); - test__floatundidf(0x023479FD0E092DC0, 0x1.1A3CFE870496Ep+57); - test__floatundidf(0x023479FD0E092DA1, 0x1.1A3CFE870496Dp+57); - test__floatundidf(0x023479FD0E092DB0, 0x1.1A3CFE870496Ep+57); - test__floatundidf(0x023479FD0E092DB8, 0x1.1A3CFE870496Ep+57); - test__floatundidf(0x023479FD0E092DB6, 0x1.1A3CFE870496Ep+57); - test__floatundidf(0x023479FD0E092DBF, 0x1.1A3CFE870496Ep+57); - test__floatundidf(0x023479FD0E092DC1, 0x1.1A3CFE870496Ep+57); - test__floatundidf(0x023479FD0E092DC7, 0x1.1A3CFE870496Ep+57); - test__floatundidf(0x023479FD0E092DC8, 0x1.1A3CFE870496Ep+57); - test__floatundidf(0x023479FD0E092DCF, 0x1.1A3CFE870496Ep+57); - test__floatundidf(0x023479FD0E092DD0, 0x1.1A3CFE870496Ep+57); - test__floatundidf(0x023479FD0E092DD1, 0x1.1A3CFE870496Fp+57); - test__floatundidf(0x023479FD0E092DD8, 0x1.1A3CFE870496Fp+57); - test__floatundidf(0x023479FD0E092DDF, 0x1.1A3CFE870496Fp+57); - test__floatundidf(0x023479FD0E092DE0, 0x1.1A3CFE870496Fp+57); + try test__floatundidf(0, 0.0); + try test__floatundidf(1, 1.0); + try test__floatundidf(2, 2.0); + try test__floatundidf(20, 20.0); + try test__floatundidf(0x7FFFFF8000000000, 0x1.FFFFFEp+62); + try test__floatundidf(0x7FFFFFFFFFFFF800, 0x1.FFFFFFFFFFFFEp+62); + try test__floatundidf(0x7FFFFF0000000000, 0x1.FFFFFCp+62); + try test__floatundidf(0x7FFFFFFFFFFFF000, 0x1.FFFFFFFFFFFFCp+62); + try test__floatundidf(0x8000008000000000, 0x1.000001p+63); + try test__floatundidf(0x8000000000000800, 0x1.0000000000001p+63); + try test__floatundidf(0x8000010000000000, 0x1.000002p+63); + try test__floatundidf(0x8000000000001000, 0x1.0000000000002p+63); + try test__floatundidf(0x8000000000000000, 0x1p+63); + try test__floatundidf(0x8000000000000001, 0x1p+63); + try test__floatundidf(0x0007FB72E8000000, 0x1.FEDCBAp+50); + try test__floatundidf(0x0007FB72EA000000, 0x1.FEDCBA8p+50); + try test__floatundidf(0x0007FB72EB000000, 0x1.FEDCBACp+50); + try test__floatundidf(0x0007FB72EBFFFFFF, 0x1.FEDCBAFFFFFFCp+50); + try test__floatundidf(0x0007FB72EC000000, 0x1.FEDCBBp+50); + try test__floatundidf(0x0007FB72E8000001, 0x1.FEDCBA0000004p+50); + try test__floatundidf(0x0007FB72E6000000, 0x1.FEDCB98p+50); + try test__floatundidf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50); + try test__floatundidf(0x0007FB72E7FFFFFF, 0x1.FEDCB9FFFFFFCp+50); + try test__floatundidf(0x0007FB72E4000001, 0x1.FEDCB90000004p+50); + try test__floatundidf(0x0007FB72E4000000, 0x1.FEDCB9p+50); + try test__floatundidf(0x023479FD0E092DC0, 0x1.1A3CFE870496Ep+57); + try test__floatundidf(0x023479FD0E092DA1, 0x1.1A3CFE870496Dp+57); + try test__floatundidf(0x023479FD0E092DB0, 0x1.1A3CFE870496Ep+57); + try test__floatundidf(0x023479FD0E092DB8, 0x1.1A3CFE870496Ep+57); + try test__floatundidf(0x023479FD0E092DB6, 0x1.1A3CFE870496Ep+57); + try test__floatundidf(0x023479FD0E092DBF, 0x1.1A3CFE870496Ep+57); + try test__floatundidf(0x023479FD0E092DC1, 0x1.1A3CFE870496Ep+57); + try test__floatundidf(0x023479FD0E092DC7, 0x1.1A3CFE870496Ep+57); + try test__floatundidf(0x023479FD0E092DC8, 0x1.1A3CFE870496Ep+57); + try test__floatundidf(0x023479FD0E092DCF, 0x1.1A3CFE870496Ep+57); + try test__floatundidf(0x023479FD0E092DD0, 0x1.1A3CFE870496Ep+57); + try test__floatundidf(0x023479FD0E092DD1, 0x1.1A3CFE870496Fp+57); + try test__floatundidf(0x023479FD0E092DD8, 0x1.1A3CFE870496Fp+57); + try test__floatundidf(0x023479FD0E092DDF, 0x1.1A3CFE870496Fp+57); + try test__floatundidf(0x023479FD0E092DE0, 0x1.1A3CFE870496Fp+57); } diff --git a/lib/std/special/compiler_rt/floatundisf.zig b/lib/std/special/compiler_rt/floatundisf.zig index ac7e576316..2367416847 100644 --- a/lib/std/special/compiler_rt/floatundisf.zig +++ b/lib/std/special/compiler_rt/floatundisf.zig @@ -66,31 +66,31 @@ pub fn __aeabi_ul2f(arg: u64) callconv(.AAPCS) f32 { return @call(.{ .modifier = .always_inline }, __floatundisf, .{arg}); } -fn test__floatundisf(a: u64, expected: f32) void { - std.testing.expectEqual(expected, __floatundisf(a)); +fn test__floatundisf(a: u64, expected: f32) !void { + try std.testing.expectEqual(expected, __floatundisf(a)); } test "floatundisf" { - test__floatundisf(0, 0.0); - test__floatundisf(1, 1.0); - test__floatundisf(2, 2.0); - test__floatundisf(0x7FFFFF8000000000, 0x1.FFFFFEp+62); - test__floatundisf(0x7FFFFF0000000000, 0x1.FFFFFCp+62); - test__floatundisf(0x8000008000000000, 0x1p+63); - test__floatundisf(0x8000010000000000, 0x1.000002p+63); - test__floatundisf(0x8000000000000000, 0x1p+63); - test__floatundisf(0x8000000000000001, 0x1p+63); - test__floatundisf(0xFFFFFFFFFFFFFFFE, 0x1p+64); - test__floatundisf(0xFFFFFFFFFFFFFFFF, 0x1p+64); - test__floatundisf(0x0007FB72E8000000, 0x1.FEDCBAp+50); - test__floatundisf(0x0007FB72EA000000, 0x1.FEDCBAp+50); - test__floatundisf(0x0007FB72EB000000, 0x1.FEDCBAp+50); - test__floatundisf(0x0007FB72EBFFFFFF, 0x1.FEDCBAp+50); - test__floatundisf(0x0007FB72EC000000, 0x1.FEDCBCp+50); - test__floatundisf(0x0007FB72E8000001, 0x1.FEDCBAp+50); - test__floatundisf(0x0007FB72E6000000, 0x1.FEDCBAp+50); - test__floatundisf(0x0007FB72E7000000, 0x1.FEDCBAp+50); - test__floatundisf(0x0007FB72E7FFFFFF, 0x1.FEDCBAp+50); - test__floatundisf(0x0007FB72E4000001, 0x1.FEDCBAp+50); - test__floatundisf(0x0007FB72E4000000, 0x1.FEDCB8p+50); + try test__floatundisf(0, 0.0); + try test__floatundisf(1, 1.0); + try test__floatundisf(2, 2.0); + try test__floatundisf(0x7FFFFF8000000000, 0x1.FFFFFEp+62); + try test__floatundisf(0x7FFFFF0000000000, 0x1.FFFFFCp+62); + try test__floatundisf(0x8000008000000000, 0x1p+63); + try test__floatundisf(0x8000010000000000, 0x1.000002p+63); + try test__floatundisf(0x8000000000000000, 0x1p+63); + try test__floatundisf(0x8000000000000001, 0x1p+63); + try test__floatundisf(0xFFFFFFFFFFFFFFFE, 0x1p+64); + try test__floatundisf(0xFFFFFFFFFFFFFFFF, 0x1p+64); + try test__floatundisf(0x0007FB72E8000000, 0x1.FEDCBAp+50); + try test__floatundisf(0x0007FB72EA000000, 0x1.FEDCBAp+50); + try test__floatundisf(0x0007FB72EB000000, 0x1.FEDCBAp+50); + try test__floatundisf(0x0007FB72EBFFFFFF, 0x1.FEDCBAp+50); + try test__floatundisf(0x0007FB72EC000000, 0x1.FEDCBCp+50); + try test__floatundisf(0x0007FB72E8000001, 0x1.FEDCBAp+50); + try test__floatundisf(0x0007FB72E6000000, 0x1.FEDCBAp+50); + try test__floatundisf(0x0007FB72E7000000, 0x1.FEDCBAp+50); + try test__floatundisf(0x0007FB72E7FFFFFF, 0x1.FEDCBAp+50); + try test__floatundisf(0x0007FB72E4000001, 0x1.FEDCBAp+50); + try test__floatundisf(0x0007FB72E4000000, 0x1.FEDCB8p+50); } diff --git a/lib/std/special/compiler_rt/floatunditf_test.zig b/lib/std/special/compiler_rt/floatunditf_test.zig index e734355589..20dca4df4e 100644 --- a/lib/std/special/compiler_rt/floatunditf_test.zig +++ b/lib/std/special/compiler_rt/floatunditf_test.zig @@ -5,7 +5,7 @@ // and substantial portions of the software. const __floatunditf = @import("floatunditf.zig").__floatunditf; -fn test__floatunditf(a: u64, expected_hi: u64, expected_lo: u64) void { +fn test__floatunditf(a: u64, expected_hi: u64, expected_lo: u64) !void { const x = __floatunditf(a); const x_repr = @bitCast(u128, x); @@ -26,12 +26,12 @@ fn test__floatunditf(a: u64, expected_hi: u64, expected_lo: u64) void { } test "floatunditf" { - test__floatunditf(0xffffffffffffffff, 0x403effffffffffff, 0xfffe000000000000); - test__floatunditf(0xfffffffffffffffe, 0x403effffffffffff, 0xfffc000000000000); - test__floatunditf(0x8000000000000000, 0x403e000000000000, 0x0); - test__floatunditf(0x7fffffffffffffff, 0x403dffffffffffff, 0xfffc000000000000); - test__floatunditf(0x123456789abcdef1, 0x403b23456789abcd, 0xef10000000000000); - test__floatunditf(0x2, 0x4000000000000000, 0x0); - test__floatunditf(0x1, 0x3fff000000000000, 0x0); - test__floatunditf(0x0, 0x0, 0x0); + try test__floatunditf(0xffffffffffffffff, 0x403effffffffffff, 0xfffe000000000000); + try test__floatunditf(0xfffffffffffffffe, 0x403effffffffffff, 0xfffc000000000000); + try test__floatunditf(0x8000000000000000, 0x403e000000000000, 0x0); + try test__floatunditf(0x7fffffffffffffff, 0x403dffffffffffff, 0xfffc000000000000); + try test__floatunditf(0x123456789abcdef1, 0x403b23456789abcd, 0xef10000000000000); + try test__floatunditf(0x2, 0x4000000000000000, 0x0); + try test__floatunditf(0x1, 0x3fff000000000000, 0x0); + try test__floatunditf(0x0, 0x0, 0x0); } diff --git a/lib/std/special/compiler_rt/floatunsidf.zig b/lib/std/special/compiler_rt/floatunsidf.zig index c97cc6ae47..e3f54e8042 100644 --- a/lib/std/special/compiler_rt/floatunsidf.zig +++ b/lib/std/special/compiler_rt/floatunsidf.zig @@ -28,16 +28,16 @@ pub fn __aeabi_ui2d(arg: u32) callconv(.AAPCS) f64 { return @call(.{ .modifier = .always_inline }, __floatunsidf, .{arg}); } -fn test_one_floatunsidf(a: u32, expected: u64) void { +fn test_one_floatunsidf(a: u32, expected: u64) !void { const r = __floatunsidf(a); try std.testing.expect(@bitCast(u64, r) == expected); } test "floatsidf" { // Test the produced bit pattern - test_one_floatunsidf(0, 0x0000000000000000); - test_one_floatunsidf(1, 0x3ff0000000000000); - test_one_floatunsidf(0x7FFFFFFF, 0x41dfffffffc00000); - test_one_floatunsidf(@intCast(u32, 0x80000000), 0x41e0000000000000); - test_one_floatunsidf(@intCast(u32, 0xFFFFFFFF), 0x41efffffffe00000); + try test_one_floatunsidf(0, 0x0000000000000000); + try test_one_floatunsidf(1, 0x3ff0000000000000); + try test_one_floatunsidf(0x7FFFFFFF, 0x41dfffffffc00000); + try test_one_floatunsidf(@intCast(u32, 0x80000000), 0x41e0000000000000); + try test_one_floatunsidf(@intCast(u32, 0xFFFFFFFF), 0x41efffffffe00000); } diff --git a/lib/std/special/compiler_rt/floatunsisf.zig b/lib/std/special/compiler_rt/floatunsisf.zig index d707217671..1ff11c6388 100644 --- a/lib/std/special/compiler_rt/floatunsisf.zig +++ b/lib/std/special/compiler_rt/floatunsisf.zig @@ -48,16 +48,16 @@ pub fn __aeabi_ui2f(arg: u32) callconv(.AAPCS) f32 { return @call(.{ .modifier = .always_inline }, __floatunsisf, .{arg}); } -fn test_one_floatunsisf(a: u32, expected: u32) void { +fn test_one_floatunsisf(a: u32, expected: u32) !void { const r = __floatunsisf(a); try std.testing.expect(@bitCast(u32, r) == expected); } test "floatunsisf" { // Test the produced bit pattern - test_one_floatunsisf(0, 0); - test_one_floatunsisf(1, 0x3f800000); - test_one_floatunsisf(0x7FFFFFFF, 0x4f000000); - test_one_floatunsisf(0x80000000, 0x4f000000); - test_one_floatunsisf(0xFFFFFFFF, 0x4f800000); + try test_one_floatunsisf(0, 0); + try test_one_floatunsisf(1, 0x3f800000); + try test_one_floatunsisf(0x7FFFFFFF, 0x4f000000); + try test_one_floatunsisf(0x80000000, 0x4f000000); + try test_one_floatunsisf(0xFFFFFFFF, 0x4f800000); } diff --git a/lib/std/special/compiler_rt/floatunsitf_test.zig b/lib/std/special/compiler_rt/floatunsitf_test.zig index 7e7b8b69b9..4e62282422 100644 --- a/lib/std/special/compiler_rt/floatunsitf_test.zig +++ b/lib/std/special/compiler_rt/floatunsitf_test.zig @@ -5,7 +5,7 @@ // and substantial portions of the software. const __floatunsitf = @import("floatunsitf.zig").__floatunsitf; -fn test__floatunsitf(a: u64, expected_hi: u64, expected_lo: u64) void { +fn test__floatunsitf(a: u64, expected_hi: u64, expected_lo: u64) !void { const x = __floatunsitf(a); const x_repr = @bitCast(u128, x); @@ -26,8 +26,8 @@ fn test__floatunsitf(a: u64, expected_hi: u64, expected_lo: u64) void { } test "floatunsitf" { - test__floatunsitf(0x7fffffff, 0x401dfffffffc0000, 0x0); - test__floatunsitf(0, 0x0, 0x0); - test__floatunsitf(0xffffffff, 0x401efffffffe0000, 0x0); - test__floatunsitf(0x12345678, 0x401b234567800000, 0x0); + try test__floatunsitf(0x7fffffff, 0x401dfffffffc0000, 0x0); + try test__floatunsitf(0, 0x0, 0x0); + try test__floatunsitf(0xffffffff, 0x401efffffffe0000, 0x0); + try test__floatunsitf(0x12345678, 0x401b234567800000, 0x0); } diff --git a/lib/std/special/compiler_rt/floatuntidf_test.zig b/lib/std/special/compiler_rt/floatuntidf_test.zig index 53f32d0fd7..735b5bcdbb 100644 --- a/lib/std/special/compiler_rt/floatuntidf_test.zig +++ b/lib/std/special/compiler_rt/floatuntidf_test.zig @@ -6,76 +6,76 @@ const __floatuntidf = @import("floatuntidf.zig").__floatuntidf; const testing = @import("std").testing; -fn test__floatuntidf(a: u128, expected: f64) void { +fn test__floatuntidf(a: u128, expected: f64) !void { const x = __floatuntidf(a); try testing.expect(x == expected); } test "floatuntidf" { - test__floatuntidf(0, 0.0); + try test__floatuntidf(0, 0.0); - test__floatuntidf(1, 1.0); - test__floatuntidf(2, 2.0); - test__floatuntidf(20, 20.0); + try test__floatuntidf(1, 1.0); + try test__floatuntidf(2, 2.0); + try test__floatuntidf(20, 20.0); - test__floatuntidf(0x7FFFFF8000000000, 0x1.FFFFFEp+62); - test__floatuntidf(0x7FFFFFFFFFFFF800, 0x1.FFFFFFFFFFFFEp+62); - test__floatuntidf(0x7FFFFF0000000000, 0x1.FFFFFCp+62); - test__floatuntidf(0x7FFFFFFFFFFFF000, 0x1.FFFFFFFFFFFFCp+62); + try test__floatuntidf(0x7FFFFF8000000000, 0x1.FFFFFEp+62); + try test__floatuntidf(0x7FFFFFFFFFFFF800, 0x1.FFFFFFFFFFFFEp+62); + try test__floatuntidf(0x7FFFFF0000000000, 0x1.FFFFFCp+62); + try test__floatuntidf(0x7FFFFFFFFFFFF000, 0x1.FFFFFFFFFFFFCp+62); - test__floatuntidf(make_ti(0x8000008000000000, 0), 0x1.000001p+127); - test__floatuntidf(make_ti(0x8000000000000800, 0), 0x1.0000000000001p+127); - test__floatuntidf(make_ti(0x8000010000000000, 0), 0x1.000002p+127); - test__floatuntidf(make_ti(0x8000000000001000, 0), 0x1.0000000000002p+127); + try test__floatuntidf(make_ti(0x8000008000000000, 0), 0x1.000001p+127); + try test__floatuntidf(make_ti(0x8000000000000800, 0), 0x1.0000000000001p+127); + try test__floatuntidf(make_ti(0x8000010000000000, 0), 0x1.000002p+127); + try test__floatuntidf(make_ti(0x8000000000001000, 0), 0x1.0000000000002p+127); - test__floatuntidf(make_ti(0x8000000000000000, 0), 0x1.000000p+127); - test__floatuntidf(make_ti(0x8000000000000001, 0), 0x1.0000000000000002p+127); + try test__floatuntidf(make_ti(0x8000000000000000, 0), 0x1.000000p+127); + try test__floatuntidf(make_ti(0x8000000000000001, 0), 0x1.0000000000000002p+127); - test__floatuntidf(0x0007FB72E8000000, 0x1.FEDCBAp+50); + try test__floatuntidf(0x0007FB72E8000000, 0x1.FEDCBAp+50); - test__floatuntidf(0x0007FB72EA000000, 0x1.FEDCBA8p+50); - test__floatuntidf(0x0007FB72EB000000, 0x1.FEDCBACp+50); - test__floatuntidf(0x0007FB72EBFFFFFF, 0x1.FEDCBAFFFFFFCp+50); - test__floatuntidf(0x0007FB72EC000000, 0x1.FEDCBBp+50); - test__floatuntidf(0x0007FB72E8000001, 0x1.FEDCBA0000004p+50); + try test__floatuntidf(0x0007FB72EA000000, 0x1.FEDCBA8p+50); + try test__floatuntidf(0x0007FB72EB000000, 0x1.FEDCBACp+50); + try test__floatuntidf(0x0007FB72EBFFFFFF, 0x1.FEDCBAFFFFFFCp+50); + try test__floatuntidf(0x0007FB72EC000000, 0x1.FEDCBBp+50); + try test__floatuntidf(0x0007FB72E8000001, 0x1.FEDCBA0000004p+50); - test__floatuntidf(0x0007FB72E6000000, 0x1.FEDCB98p+50); - test__floatuntidf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50); - test__floatuntidf(0x0007FB72E7FFFFFF, 0x1.FEDCB9FFFFFFCp+50); - test__floatuntidf(0x0007FB72E4000001, 0x1.FEDCB90000004p+50); - test__floatuntidf(0x0007FB72E4000000, 0x1.FEDCB9p+50); + try test__floatuntidf(0x0007FB72E6000000, 0x1.FEDCB98p+50); + try test__floatuntidf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50); + try test__floatuntidf(0x0007FB72E7FFFFFF, 0x1.FEDCB9FFFFFFCp+50); + try test__floatuntidf(0x0007FB72E4000001, 0x1.FEDCB90000004p+50); + try test__floatuntidf(0x0007FB72E4000000, 0x1.FEDCB9p+50); - test__floatuntidf(0x023479FD0E092DC0, 0x1.1A3CFE870496Ep+57); - test__floatuntidf(0x023479FD0E092DA1, 0x1.1A3CFE870496Dp+57); - test__floatuntidf(0x023479FD0E092DB0, 0x1.1A3CFE870496Ep+57); - test__floatuntidf(0x023479FD0E092DB8, 0x1.1A3CFE870496Ep+57); - test__floatuntidf(0x023479FD0E092DB6, 0x1.1A3CFE870496Ep+57); - test__floatuntidf(0x023479FD0E092DBF, 0x1.1A3CFE870496Ep+57); - test__floatuntidf(0x023479FD0E092DC1, 0x1.1A3CFE870496Ep+57); - test__floatuntidf(0x023479FD0E092DC7, 0x1.1A3CFE870496Ep+57); - test__floatuntidf(0x023479FD0E092DC8, 0x1.1A3CFE870496Ep+57); - test__floatuntidf(0x023479FD0E092DCF, 0x1.1A3CFE870496Ep+57); - test__floatuntidf(0x023479FD0E092DD0, 0x1.1A3CFE870496Ep+57); - test__floatuntidf(0x023479FD0E092DD1, 0x1.1A3CFE870496Fp+57); - test__floatuntidf(0x023479FD0E092DD8, 0x1.1A3CFE870496Fp+57); - test__floatuntidf(0x023479FD0E092DDF, 0x1.1A3CFE870496Fp+57); - test__floatuntidf(0x023479FD0E092DE0, 0x1.1A3CFE870496Fp+57); + try test__floatuntidf(0x023479FD0E092DC0, 0x1.1A3CFE870496Ep+57); + try test__floatuntidf(0x023479FD0E092DA1, 0x1.1A3CFE870496Dp+57); + try test__floatuntidf(0x023479FD0E092DB0, 0x1.1A3CFE870496Ep+57); + try test__floatuntidf(0x023479FD0E092DB8, 0x1.1A3CFE870496Ep+57); + try test__floatuntidf(0x023479FD0E092DB6, 0x1.1A3CFE870496Ep+57); + try test__floatuntidf(0x023479FD0E092DBF, 0x1.1A3CFE870496Ep+57); + try test__floatuntidf(0x023479FD0E092DC1, 0x1.1A3CFE870496Ep+57); + try test__floatuntidf(0x023479FD0E092DC7, 0x1.1A3CFE870496Ep+57); + try test__floatuntidf(0x023479FD0E092DC8, 0x1.1A3CFE870496Ep+57); + try test__floatuntidf(0x023479FD0E092DCF, 0x1.1A3CFE870496Ep+57); + try test__floatuntidf(0x023479FD0E092DD0, 0x1.1A3CFE870496Ep+57); + try test__floatuntidf(0x023479FD0E092DD1, 0x1.1A3CFE870496Fp+57); + try test__floatuntidf(0x023479FD0E092DD8, 0x1.1A3CFE870496Fp+57); + try test__floatuntidf(0x023479FD0E092DDF, 0x1.1A3CFE870496Fp+57); + try test__floatuntidf(0x023479FD0E092DE0, 0x1.1A3CFE870496Fp+57); - test__floatuntidf(make_ti(0x023479FD0E092DC0, 0), 0x1.1A3CFE870496Ep+121); - test__floatuntidf(make_ti(0x023479FD0E092DA1, 1), 0x1.1A3CFE870496Dp+121); - test__floatuntidf(make_ti(0x023479FD0E092DB0, 2), 0x1.1A3CFE870496Ep+121); - test__floatuntidf(make_ti(0x023479FD0E092DB8, 3), 0x1.1A3CFE870496Ep+121); - test__floatuntidf(make_ti(0x023479FD0E092DB6, 4), 0x1.1A3CFE870496Ep+121); - test__floatuntidf(make_ti(0x023479FD0E092DBF, 5), 0x1.1A3CFE870496Ep+121); - test__floatuntidf(make_ti(0x023479FD0E092DC1, 6), 0x1.1A3CFE870496Ep+121); - test__floatuntidf(make_ti(0x023479FD0E092DC7, 7), 0x1.1A3CFE870496Ep+121); - test__floatuntidf(make_ti(0x023479FD0E092DC8, 8), 0x1.1A3CFE870496Ep+121); - test__floatuntidf(make_ti(0x023479FD0E092DCF, 9), 0x1.1A3CFE870496Ep+121); - test__floatuntidf(make_ti(0x023479FD0E092DD0, 0), 0x1.1A3CFE870496Ep+121); - test__floatuntidf(make_ti(0x023479FD0E092DD1, 11), 0x1.1A3CFE870496Fp+121); - test__floatuntidf(make_ti(0x023479FD0E092DD8, 12), 0x1.1A3CFE870496Fp+121); - test__floatuntidf(make_ti(0x023479FD0E092DDF, 13), 0x1.1A3CFE870496Fp+121); - test__floatuntidf(make_ti(0x023479FD0E092DE0, 14), 0x1.1A3CFE870496Fp+121); + try test__floatuntidf(make_ti(0x023479FD0E092DC0, 0), 0x1.1A3CFE870496Ep+121); + try test__floatuntidf(make_ti(0x023479FD0E092DA1, 1), 0x1.1A3CFE870496Dp+121); + try test__floatuntidf(make_ti(0x023479FD0E092DB0, 2), 0x1.1A3CFE870496Ep+121); + try test__floatuntidf(make_ti(0x023479FD0E092DB8, 3), 0x1.1A3CFE870496Ep+121); + try test__floatuntidf(make_ti(0x023479FD0E092DB6, 4), 0x1.1A3CFE870496Ep+121); + try test__floatuntidf(make_ti(0x023479FD0E092DBF, 5), 0x1.1A3CFE870496Ep+121); + try test__floatuntidf(make_ti(0x023479FD0E092DC1, 6), 0x1.1A3CFE870496Ep+121); + try test__floatuntidf(make_ti(0x023479FD0E092DC7, 7), 0x1.1A3CFE870496Ep+121); + try test__floatuntidf(make_ti(0x023479FD0E092DC8, 8), 0x1.1A3CFE870496Ep+121); + try test__floatuntidf(make_ti(0x023479FD0E092DCF, 9), 0x1.1A3CFE870496Ep+121); + try test__floatuntidf(make_ti(0x023479FD0E092DD0, 0), 0x1.1A3CFE870496Ep+121); + try test__floatuntidf(make_ti(0x023479FD0E092DD1, 11), 0x1.1A3CFE870496Fp+121); + try test__floatuntidf(make_ti(0x023479FD0E092DD8, 12), 0x1.1A3CFE870496Fp+121); + try test__floatuntidf(make_ti(0x023479FD0E092DDF, 13), 0x1.1A3CFE870496Fp+121); + try test__floatuntidf(make_ti(0x023479FD0E092DE0, 14), 0x1.1A3CFE870496Fp+121); } fn make_ti(high: u64, low: u64) u128 { diff --git a/lib/std/special/compiler_rt/floatuntisf_test.zig b/lib/std/special/compiler_rt/floatuntisf_test.zig index 464118fe3b..5657db1c82 100644 --- a/lib/std/special/compiler_rt/floatuntisf_test.zig +++ b/lib/std/special/compiler_rt/floatuntisf_test.zig @@ -6,67 +6,67 @@ const __floatuntisf = @import("floatuntisf.zig").__floatuntisf; const testing = @import("std").testing; -fn test__floatuntisf(a: u128, expected: f32) void { +fn test__floatuntisf(a: u128, expected: f32) !void { const x = __floatuntisf(a); try testing.expect(x == expected); } test "floatuntisf" { - test__floatuntisf(0, 0.0); + try test__floatuntisf(0, 0.0); - test__floatuntisf(1, 1.0); - test__floatuntisf(2, 2.0); - test__floatuntisf(20, 20.0); + try test__floatuntisf(1, 1.0); + try test__floatuntisf(2, 2.0); + try test__floatuntisf(20, 20.0); - test__floatuntisf(0x7FFFFF8000000000, 0x1.FFFFFEp+62); - test__floatuntisf(0x7FFFFF0000000000, 0x1.FFFFFCp+62); + try test__floatuntisf(0x7FFFFF8000000000, 0x1.FFFFFEp+62); + try test__floatuntisf(0x7FFFFF0000000000, 0x1.FFFFFCp+62); - test__floatuntisf(make_ti(0x8000008000000000, 0), 0x1.000001p+127); - test__floatuntisf(make_ti(0x8000000000000800, 0), 0x1.0p+127); - test__floatuntisf(make_ti(0x8000010000000000, 0), 0x1.000002p+127); + try test__floatuntisf(make_ti(0x8000008000000000, 0), 0x1.000001p+127); + try test__floatuntisf(make_ti(0x8000000000000800, 0), 0x1.0p+127); + try test__floatuntisf(make_ti(0x8000010000000000, 0), 0x1.000002p+127); - test__floatuntisf(make_ti(0x8000000000000000, 0), 0x1.000000p+127); + try test__floatuntisf(make_ti(0x8000000000000000, 0), 0x1.000000p+127); - test__floatuntisf(0x0007FB72E8000000, 0x1.FEDCBAp+50); + try test__floatuntisf(0x0007FB72E8000000, 0x1.FEDCBAp+50); - test__floatuntisf(0x0007FB72EA000000, 0x1.FEDCBA8p+50); - test__floatuntisf(0x0007FB72EB000000, 0x1.FEDCBACp+50); + try test__floatuntisf(0x0007FB72EA000000, 0x1.FEDCBA8p+50); + try test__floatuntisf(0x0007FB72EB000000, 0x1.FEDCBACp+50); - test__floatuntisf(0x0007FB72EC000000, 0x1.FEDCBBp+50); + try test__floatuntisf(0x0007FB72EC000000, 0x1.FEDCBBp+50); - test__floatuntisf(0x0007FB72E6000000, 0x1.FEDCB98p+50); - test__floatuntisf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50); - test__floatuntisf(0x0007FB72E4000000, 0x1.FEDCB9p+50); + try test__floatuntisf(0x0007FB72E6000000, 0x1.FEDCB98p+50); + try test__floatuntisf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50); + try test__floatuntisf(0x0007FB72E4000000, 0x1.FEDCB9p+50); - test__floatuntisf(0xFFFFFFFFFFFFFFFE, 0x1p+64); - test__floatuntisf(0xFFFFFFFFFFFFFFFF, 0x1p+64); + try test__floatuntisf(0xFFFFFFFFFFFFFFFE, 0x1p+64); + try test__floatuntisf(0xFFFFFFFFFFFFFFFF, 0x1p+64); - test__floatuntisf(0x0007FB72E8000000, 0x1.FEDCBAp+50); + try test__floatuntisf(0x0007FB72E8000000, 0x1.FEDCBAp+50); - test__floatuntisf(0x0007FB72EA000000, 0x1.FEDCBAp+50); - test__floatuntisf(0x0007FB72EB000000, 0x1.FEDCBAp+50); - test__floatuntisf(0x0007FB72EBFFFFFF, 0x1.FEDCBAp+50); - test__floatuntisf(0x0007FB72EC000000, 0x1.FEDCBCp+50); - test__floatuntisf(0x0007FB72E8000001, 0x1.FEDCBAp+50); + try test__floatuntisf(0x0007FB72EA000000, 0x1.FEDCBAp+50); + try test__floatuntisf(0x0007FB72EB000000, 0x1.FEDCBAp+50); + try test__floatuntisf(0x0007FB72EBFFFFFF, 0x1.FEDCBAp+50); + try test__floatuntisf(0x0007FB72EC000000, 0x1.FEDCBCp+50); + try test__floatuntisf(0x0007FB72E8000001, 0x1.FEDCBAp+50); - test__floatuntisf(0x0007FB72E6000000, 0x1.FEDCBAp+50); - test__floatuntisf(0x0007FB72E7000000, 0x1.FEDCBAp+50); - test__floatuntisf(0x0007FB72E7FFFFFF, 0x1.FEDCBAp+50); - test__floatuntisf(0x0007FB72E4000001, 0x1.FEDCBAp+50); - test__floatuntisf(0x0007FB72E4000000, 0x1.FEDCB8p+50); + try test__floatuntisf(0x0007FB72E6000000, 0x1.FEDCBAp+50); + try test__floatuntisf(0x0007FB72E7000000, 0x1.FEDCBAp+50); + try test__floatuntisf(0x0007FB72E7FFFFFF, 0x1.FEDCBAp+50); + try test__floatuntisf(0x0007FB72E4000001, 0x1.FEDCBAp+50); + try test__floatuntisf(0x0007FB72E4000000, 0x1.FEDCB8p+50); - test__floatuntisf(make_ti(0x0000000000001FED, 0xCB90000000000001), 0x1.FEDCBAp+76); - test__floatuntisf(make_ti(0x0000000000001FED, 0xCBA0000000000000), 0x1.FEDCBAp+76); - test__floatuntisf(make_ti(0x0000000000001FED, 0xCBAFFFFFFFFFFFFF), 0x1.FEDCBAp+76); - test__floatuntisf(make_ti(0x0000000000001FED, 0xCBB0000000000000), 0x1.FEDCBCp+76); - test__floatuntisf(make_ti(0x0000000000001FED, 0xCBB0000000000001), 0x1.FEDCBCp+76); - test__floatuntisf(make_ti(0x0000000000001FED, 0xCBBFFFFFFFFFFFFF), 0x1.FEDCBCp+76); - test__floatuntisf(make_ti(0x0000000000001FED, 0xCBC0000000000000), 0x1.FEDCBCp+76); - test__floatuntisf(make_ti(0x0000000000001FED, 0xCBC0000000000001), 0x1.FEDCBCp+76); - test__floatuntisf(make_ti(0x0000000000001FED, 0xCBD0000000000000), 0x1.FEDCBCp+76); - test__floatuntisf(make_ti(0x0000000000001FED, 0xCBD0000000000001), 0x1.FEDCBEp+76); - test__floatuntisf(make_ti(0x0000000000001FED, 0xCBDFFFFFFFFFFFFF), 0x1.FEDCBEp+76); - test__floatuntisf(make_ti(0x0000000000001FED, 0xCBE0000000000000), 0x1.FEDCBEp+76); + try test__floatuntisf(make_ti(0x0000000000001FED, 0xCB90000000000001), 0x1.FEDCBAp+76); + try test__floatuntisf(make_ti(0x0000000000001FED, 0xCBA0000000000000), 0x1.FEDCBAp+76); + try test__floatuntisf(make_ti(0x0000000000001FED, 0xCBAFFFFFFFFFFFFF), 0x1.FEDCBAp+76); + try test__floatuntisf(make_ti(0x0000000000001FED, 0xCBB0000000000000), 0x1.FEDCBCp+76); + try test__floatuntisf(make_ti(0x0000000000001FED, 0xCBB0000000000001), 0x1.FEDCBCp+76); + try test__floatuntisf(make_ti(0x0000000000001FED, 0xCBBFFFFFFFFFFFFF), 0x1.FEDCBCp+76); + try test__floatuntisf(make_ti(0x0000000000001FED, 0xCBC0000000000000), 0x1.FEDCBCp+76); + try test__floatuntisf(make_ti(0x0000000000001FED, 0xCBC0000000000001), 0x1.FEDCBCp+76); + try test__floatuntisf(make_ti(0x0000000000001FED, 0xCBD0000000000000), 0x1.FEDCBCp+76); + try test__floatuntisf(make_ti(0x0000000000001FED, 0xCBD0000000000001), 0x1.FEDCBEp+76); + try test__floatuntisf(make_ti(0x0000000000001FED, 0xCBDFFFFFFFFFFFFF), 0x1.FEDCBEp+76); + try test__floatuntisf(make_ti(0x0000000000001FED, 0xCBE0000000000000), 0x1.FEDCBEp+76); } fn make_ti(high: u64, low: u64) u128 { diff --git a/lib/std/special/compiler_rt/floatuntitf_test.zig b/lib/std/special/compiler_rt/floatuntitf_test.zig index 80f7eec96b..41057aa38c 100644 --- a/lib/std/special/compiler_rt/floatuntitf_test.zig +++ b/lib/std/special/compiler_rt/floatuntitf_test.zig @@ -6,94 +6,94 @@ const __floatuntitf = @import("floatuntitf.zig").__floatuntitf; const testing = @import("std").testing; -fn test__floatuntitf(a: u128, expected: f128) void { +fn test__floatuntitf(a: u128, expected: f128) !void { const x = __floatuntitf(a); try testing.expect(x == expected); } test "floatuntitf" { - test__floatuntitf(0, 0.0); + try test__floatuntitf(0, 0.0); - test__floatuntitf(1, 1.0); - test__floatuntitf(2, 2.0); - test__floatuntitf(20, 20.0); + try test__floatuntitf(1, 1.0); + try test__floatuntitf(2, 2.0); + try test__floatuntitf(20, 20.0); - test__floatuntitf(0x7FFFFF8000000000, 0x1.FFFFFEp+62); - test__floatuntitf(0x7FFFFFFFFFFFF800, 0x1.FFFFFFFFFFFFEp+62); - test__floatuntitf(0x7FFFFF0000000000, 0x1.FFFFFCp+62); - test__floatuntitf(0x7FFFFFFFFFFFF000, 0x1.FFFFFFFFFFFFCp+62); - test__floatuntitf(0x7FFFFFFFFFFFFFFF, 0xF.FFFFFFFFFFFFFFEp+59); - test__floatuntitf(0xFFFFFFFFFFFFFFFE, 0xF.FFFFFFFFFFFFFFEp+60); - test__floatuntitf(0xFFFFFFFFFFFFFFFF, 0xF.FFFFFFFFFFFFFFFp+60); + try test__floatuntitf(0x7FFFFF8000000000, 0x1.FFFFFEp+62); + try test__floatuntitf(0x7FFFFFFFFFFFF800, 0x1.FFFFFFFFFFFFEp+62); + try test__floatuntitf(0x7FFFFF0000000000, 0x1.FFFFFCp+62); + try test__floatuntitf(0x7FFFFFFFFFFFF000, 0x1.FFFFFFFFFFFFCp+62); + try test__floatuntitf(0x7FFFFFFFFFFFFFFF, 0xF.FFFFFFFFFFFFFFEp+59); + try test__floatuntitf(0xFFFFFFFFFFFFFFFE, 0xF.FFFFFFFFFFFFFFEp+60); + try test__floatuntitf(0xFFFFFFFFFFFFFFFF, 0xF.FFFFFFFFFFFFFFFp+60); - test__floatuntitf(0x8000008000000000, 0x8.000008p+60); - test__floatuntitf(0x8000000000000800, 0x8.0000000000008p+60); - test__floatuntitf(0x8000010000000000, 0x8.00001p+60); - test__floatuntitf(0x8000000000001000, 0x8.000000000001p+60); + try test__floatuntitf(0x8000008000000000, 0x8.000008p+60); + try test__floatuntitf(0x8000000000000800, 0x8.0000000000008p+60); + try test__floatuntitf(0x8000010000000000, 0x8.00001p+60); + try test__floatuntitf(0x8000000000001000, 0x8.000000000001p+60); - test__floatuntitf(0x8000000000000000, 0x8p+60); - test__floatuntitf(0x8000000000000001, 0x8.000000000000001p+60); + try test__floatuntitf(0x8000000000000000, 0x8p+60); + try test__floatuntitf(0x8000000000000001, 0x8.000000000000001p+60); - test__floatuntitf(0x0007FB72E8000000, 0x1.FEDCBAp+50); + try test__floatuntitf(0x0007FB72E8000000, 0x1.FEDCBAp+50); - test__floatuntitf(0x0007FB72EA000000, 0x1.FEDCBA8p+50); - test__floatuntitf(0x0007FB72EB000000, 0x1.FEDCBACp+50); - test__floatuntitf(0x0007FB72EBFFFFFF, 0x1.FEDCBAFFFFFFCp+50); - test__floatuntitf(0x0007FB72EC000000, 0x1.FEDCBBp+50); - test__floatuntitf(0x0007FB72E8000001, 0x1.FEDCBA0000004p+50); + try test__floatuntitf(0x0007FB72EA000000, 0x1.FEDCBA8p+50); + try test__floatuntitf(0x0007FB72EB000000, 0x1.FEDCBACp+50); + try test__floatuntitf(0x0007FB72EBFFFFFF, 0x1.FEDCBAFFFFFFCp+50); + try test__floatuntitf(0x0007FB72EC000000, 0x1.FEDCBBp+50); + try test__floatuntitf(0x0007FB72E8000001, 0x1.FEDCBA0000004p+50); - test__floatuntitf(0x0007FB72E6000000, 0x1.FEDCB98p+50); - test__floatuntitf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50); - test__floatuntitf(0x0007FB72E7FFFFFF, 0x1.FEDCB9FFFFFFCp+50); - test__floatuntitf(0x0007FB72E4000001, 0x1.FEDCB90000004p+50); - test__floatuntitf(0x0007FB72E4000000, 0x1.FEDCB9p+50); + try test__floatuntitf(0x0007FB72E6000000, 0x1.FEDCB98p+50); + try test__floatuntitf(0x0007FB72E7000000, 0x1.FEDCB9Cp+50); + try test__floatuntitf(0x0007FB72E7FFFFFF, 0x1.FEDCB9FFFFFFCp+50); + try test__floatuntitf(0x0007FB72E4000001, 0x1.FEDCB90000004p+50); + try test__floatuntitf(0x0007FB72E4000000, 0x1.FEDCB9p+50); - test__floatuntitf(0x023479FD0E092DC0, 0x1.1A3CFE870496Ep+57); - test__floatuntitf(0x023479FD0E092DA1, 0x1.1A3CFE870496D08p+57); - test__floatuntitf(0x023479FD0E092DB0, 0x1.1A3CFE870496D8p+57); - test__floatuntitf(0x023479FD0E092DB8, 0x1.1A3CFE870496DCp+57); - test__floatuntitf(0x023479FD0E092DB6, 0x1.1A3CFE870496DBp+57); - test__floatuntitf(0x023479FD0E092DBF, 0x1.1A3CFE870496DF8p+57); - test__floatuntitf(0x023479FD0E092DC1, 0x1.1A3CFE870496E08p+57); - test__floatuntitf(0x023479FD0E092DC7, 0x1.1A3CFE870496E38p+57); - test__floatuntitf(0x023479FD0E092DC8, 0x1.1A3CFE870496E4p+57); - test__floatuntitf(0x023479FD0E092DCF, 0x1.1A3CFE870496E78p+57); - test__floatuntitf(0x023479FD0E092DD0, 0x1.1A3CFE870496E8p+57); - test__floatuntitf(0x023479FD0E092DD1, 0x1.1A3CFE870496E88p+57); - test__floatuntitf(0x023479FD0E092DD8, 0x1.1A3CFE870496ECp+57); - test__floatuntitf(0x023479FD0E092DDF, 0x1.1A3CFE870496EF8p+57); - test__floatuntitf(0x023479FD0E092DE0, 0x1.1A3CFE870496Fp+57); + try test__floatuntitf(0x023479FD0E092DC0, 0x1.1A3CFE870496Ep+57); + try test__floatuntitf(0x023479FD0E092DA1, 0x1.1A3CFE870496D08p+57); + try test__floatuntitf(0x023479FD0E092DB0, 0x1.1A3CFE870496D8p+57); + try test__floatuntitf(0x023479FD0E092DB8, 0x1.1A3CFE870496DCp+57); + try test__floatuntitf(0x023479FD0E092DB6, 0x1.1A3CFE870496DBp+57); + try test__floatuntitf(0x023479FD0E092DBF, 0x1.1A3CFE870496DF8p+57); + try test__floatuntitf(0x023479FD0E092DC1, 0x1.1A3CFE870496E08p+57); + try test__floatuntitf(0x023479FD0E092DC7, 0x1.1A3CFE870496E38p+57); + try test__floatuntitf(0x023479FD0E092DC8, 0x1.1A3CFE870496E4p+57); + try test__floatuntitf(0x023479FD0E092DCF, 0x1.1A3CFE870496E78p+57); + try test__floatuntitf(0x023479FD0E092DD0, 0x1.1A3CFE870496E8p+57); + try test__floatuntitf(0x023479FD0E092DD1, 0x1.1A3CFE870496E88p+57); + try test__floatuntitf(0x023479FD0E092DD8, 0x1.1A3CFE870496ECp+57); + try test__floatuntitf(0x023479FD0E092DDF, 0x1.1A3CFE870496EF8p+57); + try test__floatuntitf(0x023479FD0E092DE0, 0x1.1A3CFE870496Fp+57); - test__floatuntitf(make_ti(0x023479FD0E092DC0, 0), 0x1.1A3CFE870496Ep+121); - test__floatuntitf(make_ti(0x023479FD0E092DA1, 1), 0x1.1A3CFE870496D08p+121); - test__floatuntitf(make_ti(0x023479FD0E092DB0, 2), 0x1.1A3CFE870496D8p+121); - test__floatuntitf(make_ti(0x023479FD0E092DB8, 3), 0x1.1A3CFE870496DCp+121); - test__floatuntitf(make_ti(0x023479FD0E092DB6, 4), 0x1.1A3CFE870496DBp+121); - test__floatuntitf(make_ti(0x023479FD0E092DBF, 5), 0x1.1A3CFE870496DF8p+121); - test__floatuntitf(make_ti(0x023479FD0E092DC1, 6), 0x1.1A3CFE870496E08p+121); - test__floatuntitf(make_ti(0x023479FD0E092DC7, 7), 0x1.1A3CFE870496E38p+121); - test__floatuntitf(make_ti(0x023479FD0E092DC8, 8), 0x1.1A3CFE870496E4p+121); - test__floatuntitf(make_ti(0x023479FD0E092DCF, 9), 0x1.1A3CFE870496E78p+121); - test__floatuntitf(make_ti(0x023479FD0E092DD0, 0), 0x1.1A3CFE870496E8p+121); - test__floatuntitf(make_ti(0x023479FD0E092DD1, 11), 0x1.1A3CFE870496E88p+121); - test__floatuntitf(make_ti(0x023479FD0E092DD8, 12), 0x1.1A3CFE870496ECp+121); - test__floatuntitf(make_ti(0x023479FD0E092DDF, 13), 0x1.1A3CFE870496EF8p+121); - test__floatuntitf(make_ti(0x023479FD0E092DE0, 14), 0x1.1A3CFE870496Fp+121); + try test__floatuntitf(make_ti(0x023479FD0E092DC0, 0), 0x1.1A3CFE870496Ep+121); + try test__floatuntitf(make_ti(0x023479FD0E092DA1, 1), 0x1.1A3CFE870496D08p+121); + try test__floatuntitf(make_ti(0x023479FD0E092DB0, 2), 0x1.1A3CFE870496D8p+121); + try test__floatuntitf(make_ti(0x023479FD0E092DB8, 3), 0x1.1A3CFE870496DCp+121); + try test__floatuntitf(make_ti(0x023479FD0E092DB6, 4), 0x1.1A3CFE870496DBp+121); + try test__floatuntitf(make_ti(0x023479FD0E092DBF, 5), 0x1.1A3CFE870496DF8p+121); + try test__floatuntitf(make_ti(0x023479FD0E092DC1, 6), 0x1.1A3CFE870496E08p+121); + try test__floatuntitf(make_ti(0x023479FD0E092DC7, 7), 0x1.1A3CFE870496E38p+121); + try test__floatuntitf(make_ti(0x023479FD0E092DC8, 8), 0x1.1A3CFE870496E4p+121); + try test__floatuntitf(make_ti(0x023479FD0E092DCF, 9), 0x1.1A3CFE870496E78p+121); + try test__floatuntitf(make_ti(0x023479FD0E092DD0, 0), 0x1.1A3CFE870496E8p+121); + try test__floatuntitf(make_ti(0x023479FD0E092DD1, 11), 0x1.1A3CFE870496E88p+121); + try test__floatuntitf(make_ti(0x023479FD0E092DD8, 12), 0x1.1A3CFE870496ECp+121); + try test__floatuntitf(make_ti(0x023479FD0E092DDF, 13), 0x1.1A3CFE870496EF8p+121); + try test__floatuntitf(make_ti(0x023479FD0E092DE0, 14), 0x1.1A3CFE870496Fp+121); - test__floatuntitf(make_ti(0, 0xFFFFFFFFFFFFFFFF), 0x1.FFFFFFFFFFFFFFFEp+63); + try test__floatuntitf(make_ti(0, 0xFFFFFFFFFFFFFFFF), 0x1.FFFFFFFFFFFFFFFEp+63); - test__floatuntitf(make_ti(0xFFFFFFFFFFFFFFFF, 0x0000000000000000), 0x1.FFFFFFFFFFFFFFFEp+127); - test__floatuntitf(make_ti(0xFFFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFF), 0x1.0000000000000000p+128); + try test__floatuntitf(make_ti(0xFFFFFFFFFFFFFFFF, 0x0000000000000000), 0x1.FFFFFFFFFFFFFFFEp+127); + try test__floatuntitf(make_ti(0xFFFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFF), 0x1.0000000000000000p+128); - test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC2801), 0x1.23456789ABCDEF0123456789ABC3p+124); - test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC3000), 0x1.23456789ABCDEF0123456789ABC3p+124); - test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC37FF), 0x1.23456789ABCDEF0123456789ABC3p+124); - test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC3800), 0x1.23456789ABCDEF0123456789ABC4p+124); - test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC4000), 0x1.23456789ABCDEF0123456789ABC4p+124); - test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC47FF), 0x1.23456789ABCDEF0123456789ABC4p+124); - test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC4800), 0x1.23456789ABCDEF0123456789ABC4p+124); - test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC4801), 0x1.23456789ABCDEF0123456789ABC5p+124); - test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC57FF), 0x1.23456789ABCDEF0123456789ABC5p+124); + try test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC2801), 0x1.23456789ABCDEF0123456789ABC3p+124); + try test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC3000), 0x1.23456789ABCDEF0123456789ABC3p+124); + try test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC37FF), 0x1.23456789ABCDEF0123456789ABC3p+124); + try test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC3800), 0x1.23456789ABCDEF0123456789ABC4p+124); + try test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC4000), 0x1.23456789ABCDEF0123456789ABC4p+124); + try test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC47FF), 0x1.23456789ABCDEF0123456789ABC4p+124); + try test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC4800), 0x1.23456789ABCDEF0123456789ABC4p+124); + try test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC4801), 0x1.23456789ABCDEF0123456789ABC5p+124); + try test__floatuntitf(make_ti(0x123456789ABCDEF0, 0x123456789ABC57FF), 0x1.23456789ABCDEF0123456789ABC5p+124); } fn make_ti(high: u64, low: u64) u128 { diff --git a/lib/std/special/compiler_rt/int.zig b/lib/std/special/compiler_rt/int.zig index 1e519252a3..4533d10ab9 100644 --- a/lib/std/special/compiler_rt/int.zig +++ b/lib/std/special/compiler_rt/int.zig @@ -58,11 +58,11 @@ test "test_divdi3" { }; for (cases) |case| { - test_one_divdi3(case[0], case[1], case[2]); + try test_one_divdi3(case[0], case[1], case[2]); } } -fn test_one_divdi3(a: i64, b: i64, expected_q: i64) void { +fn test_one_divdi3(a: i64, b: i64, expected_q: i64) !void { const q: i64 = __divdi3(a, b); try testing.expect(q == expected_q); } @@ -98,11 +98,11 @@ test "test_moddi3" { }; for (cases) |case| { - test_one_moddi3(case[0], case[1], case[2]); + try test_one_moddi3(case[0], case[1], case[2]); } } -fn test_one_moddi3(a: i64, b: i64, expected_r: i64) void { +fn test_one_moddi3(a: i64, b: i64, expected_r: i64) !void { const r: i64 = __moddi3(a, b); try testing.expect(r == expected_r); } @@ -121,14 +121,14 @@ pub fn __umoddi3(a: u64, b: u64) callconv(.C) u64 { } test "test_umoddi3" { - test_one_umoddi3(0, 1, 0); - test_one_umoddi3(2, 1, 0); - test_one_umoddi3(0x8000000000000000, 1, 0x0); - test_one_umoddi3(0x8000000000000000, 2, 0x0); - test_one_umoddi3(0xFFFFFFFFFFFFFFFF, 2, 0x1); + try test_one_umoddi3(0, 1, 0); + try test_one_umoddi3(2, 1, 0); + try test_one_umoddi3(0x8000000000000000, 1, 0x0); + try test_one_umoddi3(0x8000000000000000, 2, 0x0); + try test_one_umoddi3(0xFFFFFFFFFFFFFFFF, 2, 0x1); } -fn test_one_umoddi3(a: u64, b: u64, expected_r: u64) void { +fn test_one_umoddi3(a: u64, b: u64, expected_r: u64) !void { const r = __umoddi3(a, b); try testing.expect(r == expected_r); } @@ -159,11 +159,11 @@ test "test_divmodsi4" { }; for (cases) |case| { - test_one_divmodsi4(case[0], case[1], case[2], case[3]); + try test_one_divmodsi4(case[0], case[1], case[2], case[3]); } } -fn test_one_divmodsi4(a: i32, b: i32, expected_q: i32, expected_r: i32) void { +fn test_one_divmodsi4(a: i32, b: i32, expected_q: i32, expected_r: i32) !void { var r: i32 = undefined; const q: i32 = __divmodsi4(a, b, &r); try testing.expect(q == expected_q and r == expected_r); @@ -207,11 +207,11 @@ test "test_divsi3" { }; for (cases) |case| { - test_one_divsi3(case[0], case[1], case[2]); + try test_one_divsi3(case[0], case[1], case[2]); } } -fn test_one_divsi3(a: i32, b: i32, expected_q: i32) void { +fn test_one_divsi3(a: i32, b: i32, expected_q: i32) !void { const q: i32 = __divsi3(a, b); try testing.expect(q == expected_q); } @@ -394,11 +394,11 @@ test "test_udivsi3" { }; for (cases) |case| { - test_one_udivsi3(case[0], case[1], case[2]); + try test_one_udivsi3(case[0], case[1], case[2]); } } -fn test_one_udivsi3(a: u32, b: u32, expected_q: u32) void { +fn test_one_udivsi3(a: u32, b: u32, expected_q: u32) !void { const q: u32 = __udivsi3(a, b); try testing.expect(q == expected_q); } @@ -425,11 +425,11 @@ test "test_modsi3" { }; for (cases) |case| { - test_one_modsi3(case[0], case[1], case[2]); + try test_one_modsi3(case[0], case[1], case[2]); } } -fn test_one_modsi3(a: i32, b: i32, expected_r: i32) void { +fn test_one_modsi3(a: i32, b: i32, expected_r: i32) !void { const r: i32 = __modsi3(a, b); try testing.expect(r == expected_r); } @@ -577,11 +577,11 @@ test "test_umodsi3" { }; for (cases) |case| { - test_one_umodsi3(case[0], case[1], case[2]); + try test_one_umodsi3(case[0], case[1], case[2]); } } -fn test_one_umodsi3(a: u32, b: u32, expected_r: u32) void { +fn test_one_umodsi3(a: u32, b: u32, expected_r: u32) !void { const r: u32 = __umodsi3(a, b); try testing.expect(r == expected_r); } @@ -602,44 +602,44 @@ pub fn __mulsi3(a: i32, b: i32) callconv(.C) i32 { return @bitCast(i32, r); } -fn test_one_mulsi3(a: i32, b: i32, result: i32) void { - testing.expectEqual(result, __mulsi3(a, b)); +fn test_one_mulsi3(a: i32, b: i32, result: i32) !void { + try testing.expectEqual(result, __mulsi3(a, b)); } test "mulsi3" { - test_one_mulsi3(0, 0, 0); - test_one_mulsi3(0, 1, 0); - test_one_mulsi3(1, 0, 0); - test_one_mulsi3(0, 10, 0); - test_one_mulsi3(10, 0, 0); - test_one_mulsi3(0, maxInt(i32), 0); - test_one_mulsi3(maxInt(i32), 0, 0); - test_one_mulsi3(0, -1, 0); - test_one_mulsi3(-1, 0, 0); - test_one_mulsi3(0, -10, 0); - test_one_mulsi3(-10, 0, 0); - test_one_mulsi3(0, minInt(i32), 0); - test_one_mulsi3(minInt(i32), 0, 0); - test_one_mulsi3(1, 1, 1); - test_one_mulsi3(1, 10, 10); - test_one_mulsi3(10, 1, 10); - test_one_mulsi3(1, maxInt(i32), maxInt(i32)); - test_one_mulsi3(maxInt(i32), 1, maxInt(i32)); - test_one_mulsi3(1, -1, -1); - test_one_mulsi3(1, -10, -10); - test_one_mulsi3(-10, 1, -10); - test_one_mulsi3(1, minInt(i32), minInt(i32)); - test_one_mulsi3(minInt(i32), 1, minInt(i32)); - test_one_mulsi3(46340, 46340, 2147395600); - test_one_mulsi3(-46340, 46340, -2147395600); - test_one_mulsi3(46340, -46340, -2147395600); - test_one_mulsi3(-46340, -46340, 2147395600); - test_one_mulsi3(4194303, 8192, @truncate(i32, 34359730176)); - test_one_mulsi3(-4194303, 8192, @truncate(i32, -34359730176)); - test_one_mulsi3(4194303, -8192, @truncate(i32, -34359730176)); - test_one_mulsi3(-4194303, -8192, @truncate(i32, 34359730176)); - test_one_mulsi3(8192, 4194303, @truncate(i32, 34359730176)); - test_one_mulsi3(-8192, 4194303, @truncate(i32, -34359730176)); - test_one_mulsi3(8192, -4194303, @truncate(i32, -34359730176)); - test_one_mulsi3(-8192, -4194303, @truncate(i32, 34359730176)); + try test_one_mulsi3(0, 0, 0); + try test_one_mulsi3(0, 1, 0); + try test_one_mulsi3(1, 0, 0); + try test_one_mulsi3(0, 10, 0); + try test_one_mulsi3(10, 0, 0); + try test_one_mulsi3(0, maxInt(i32), 0); + try test_one_mulsi3(maxInt(i32), 0, 0); + try test_one_mulsi3(0, -1, 0); + try test_one_mulsi3(-1, 0, 0); + try test_one_mulsi3(0, -10, 0); + try test_one_mulsi3(-10, 0, 0); + try test_one_mulsi3(0, minInt(i32), 0); + try test_one_mulsi3(minInt(i32), 0, 0); + try test_one_mulsi3(1, 1, 1); + try test_one_mulsi3(1, 10, 10); + try test_one_mulsi3(10, 1, 10); + try test_one_mulsi3(1, maxInt(i32), maxInt(i32)); + try test_one_mulsi3(maxInt(i32), 1, maxInt(i32)); + try test_one_mulsi3(1, -1, -1); + try test_one_mulsi3(1, -10, -10); + try test_one_mulsi3(-10, 1, -10); + try test_one_mulsi3(1, minInt(i32), minInt(i32)); + try test_one_mulsi3(minInt(i32), 1, minInt(i32)); + try test_one_mulsi3(46340, 46340, 2147395600); + try test_one_mulsi3(-46340, 46340, -2147395600); + try test_one_mulsi3(46340, -46340, -2147395600); + try test_one_mulsi3(-46340, -46340, 2147395600); + try test_one_mulsi3(4194303, 8192, @truncate(i32, 34359730176)); + try test_one_mulsi3(-4194303, 8192, @truncate(i32, -34359730176)); + try test_one_mulsi3(4194303, -8192, @truncate(i32, -34359730176)); + try test_one_mulsi3(-4194303, -8192, @truncate(i32, 34359730176)); + try test_one_mulsi3(8192, 4194303, @truncate(i32, 34359730176)); + try test_one_mulsi3(-8192, 4194303, @truncate(i32, -34359730176)); + try test_one_mulsi3(8192, -4194303, @truncate(i32, -34359730176)); + try test_one_mulsi3(-8192, -4194303, @truncate(i32, 34359730176)); } diff --git a/lib/std/special/compiler_rt/lshrdi3_test.zig b/lib/std/special/compiler_rt/lshrdi3_test.zig index 5443fd9bce..1e3270711e 100644 --- a/lib/std/special/compiler_rt/lshrdi3_test.zig +++ b/lib/std/special/compiler_rt/lshrdi3_test.zig @@ -6,55 +6,55 @@ const __lshrdi3 = @import("shift.zig").__lshrdi3; const testing = @import("std").testing; -fn test__lshrdi3(a: i64, b: i32, expected: u64) void { +fn test__lshrdi3(a: i64, b: i32, expected: u64) !void { const x = __lshrdi3(a, b); - testing.expectEqual(@bitCast(i64, expected), x); + try testing.expectEqual(@bitCast(i64, expected), x); } test "lshrdi3" { - test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 0, 0x123456789ABCDEF); - test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 1, 0x91A2B3C4D5E6F7); - test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 2, 0x48D159E26AF37B); - test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 3, 0x2468ACF13579BD); - test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 4, 0x123456789ABCDE); + try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 0, 0x123456789ABCDEF); + try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 1, 0x91A2B3C4D5E6F7); + try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 2, 0x48D159E26AF37B); + try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 3, 0x2468ACF13579BD); + try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 4, 0x123456789ABCDE); - test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 28, 0x12345678); - test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 29, 0x91A2B3C); - test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 30, 0x48D159E); - test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 31, 0x2468ACF); + try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 28, 0x12345678); + try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 29, 0x91A2B3C); + try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 30, 0x48D159E); + try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 31, 0x2468ACF); - test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 32, 0x1234567); + try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 32, 0x1234567); - test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 33, 0x91A2B3); - test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 34, 0x48D159); - test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 35, 0x2468AC); - test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 36, 0x123456); + try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 33, 0x91A2B3); + try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 34, 0x48D159); + try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 35, 0x2468AC); + try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 36, 0x123456); - test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 60, 0); - test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 61, 0); - test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 62, 0); - test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 63, 0); + try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 60, 0); + try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 61, 0); + try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 62, 0); + try test__lshrdi3(@bitCast(i64, @as(u64, 0x0123456789ABCDEF)), 63, 0); - test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 0, 0xFEDCBA9876543210); - test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 1, 0x7F6E5D4C3B2A1908); - test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 2, 0x3FB72EA61D950C84); - test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 3, 0x1FDB97530ECA8642); - test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 4, 0xFEDCBA987654321); + try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 0, 0xFEDCBA9876543210); + try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 1, 0x7F6E5D4C3B2A1908); + try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 2, 0x3FB72EA61D950C84); + try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 3, 0x1FDB97530ECA8642); + try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 4, 0xFEDCBA987654321); - test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 28, 0xFEDCBA987); - test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 29, 0x7F6E5D4C3); - test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 30, 0x3FB72EA61); - test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 31, 0x1FDB97530); + try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 28, 0xFEDCBA987); + try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 29, 0x7F6E5D4C3); + try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 30, 0x3FB72EA61); + try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 31, 0x1FDB97530); - test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 32, 0xFEDCBA98); + try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 32, 0xFEDCBA98); - test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 33, 0x7F6E5D4C); - test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 34, 0x3FB72EA6); - test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 35, 0x1FDB9753); - test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 36, 0xFEDCBA9); + try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 33, 0x7F6E5D4C); + try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 34, 0x3FB72EA6); + try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 35, 0x1FDB9753); + try test__lshrdi3(@bitCast(i64, @as(u64, 0xFEDCBA9876543210)), 36, 0xFEDCBA9); - test__lshrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 60, 0xA); - test__lshrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 61, 0x5); - test__lshrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 62, 0x2); - test__lshrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 63, 0x1); + try test__lshrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 60, 0xA); + try test__lshrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 61, 0x5); + try test__lshrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 62, 0x2); + try test__lshrdi3(@bitCast(i64, @as(u64, 0xAEDCBA9876543210)), 63, 0x1); } diff --git a/lib/std/special/compiler_rt/lshrti3_test.zig b/lib/std/special/compiler_rt/lshrti3_test.zig index bfd812f028..3cb134f777 100644 --- a/lib/std/special/compiler_rt/lshrti3_test.zig +++ b/lib/std/special/compiler_rt/lshrti3_test.zig @@ -6,46 +6,46 @@ const __lshrti3 = @import("shift.zig").__lshrti3; const testing = @import("std").testing; -fn test__lshrti3(a: i128, b: i32, expected: i128) void { +fn test__lshrti3(a: i128, b: i32, expected: i128) !void { const x = __lshrti3(a, b); - testing.expectEqual(expected, x); + try testing.expectEqual(expected, x); } test "lshrti3" { - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 0, @bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 1, @bitCast(i128, @intCast(u128, 0x7F6E5D4C3B2A190AFF6E5D4C3B2A190A))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 2, @bitCast(i128, @intCast(u128, 0x3FB72EA61D950C857FB72EA61D950C85))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 3, @bitCast(i128, @intCast(u128, 0x1FDB97530ECA8642BFDB97530ECA8642))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 4, @bitCast(i128, @intCast(u128, 0x0FEDCBA9876543215FEDCBA987654321))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 28, @bitCast(i128, @intCast(u128, 0x0000000FEDCBA9876543215FEDCBA987))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 29, @bitCast(i128, @intCast(u128, 0x00000007F6E5D4C3B2A190AFF6E5D4C3))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 30, @bitCast(i128, @intCast(u128, 0x00000003FB72EA61D950C857FB72EA61))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 31, @bitCast(i128, @intCast(u128, 0x00000001FDB97530ECA8642BFDB97530))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 32, @bitCast(i128, @intCast(u128, 0x00000000FEDCBA9876543215FEDCBA98))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 33, @bitCast(i128, @intCast(u128, 0x000000007F6E5D4C3B2A190AFF6E5D4C))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 34, @bitCast(i128, @intCast(u128, 0x000000003FB72EA61D950C857FB72EA6))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 35, @bitCast(i128, @intCast(u128, 0x000000001FDB97530ECA8642BFDB9753))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 36, @bitCast(i128, @intCast(u128, 0x000000000FEDCBA9876543215FEDCBA9))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 60, @bitCast(i128, @intCast(u128, 0x000000000000000FEDCBA9876543215F))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 61, @bitCast(i128, @intCast(u128, 0x0000000000000007F6E5D4C3B2A190AF))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 62, @bitCast(i128, @intCast(u128, 0x0000000000000003FB72EA61D950C857))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 63, @bitCast(i128, @intCast(u128, 0x0000000000000001FDB97530ECA8642B))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 64, @bitCast(i128, @intCast(u128, 0x0000000000000000FEDCBA9876543215))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 65, @bitCast(i128, @intCast(u128, 0x00000000000000007F6E5D4C3B2A190A))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 66, @bitCast(i128, @intCast(u128, 0x00000000000000003FB72EA61D950C85))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 67, @bitCast(i128, @intCast(u128, 0x00000000000000001FDB97530ECA8642))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 68, @bitCast(i128, @intCast(u128, 0x00000000000000000FEDCBA987654321))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 92, @bitCast(i128, @intCast(u128, 0x00000000000000000000000FEDCBA987))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 93, @bitCast(i128, @intCast(u128, 0x000000000000000000000007F6E5D4C3))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 94, @bitCast(i128, @intCast(u128, 0x000000000000000000000003FB72EA61))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 95, @bitCast(i128, @intCast(u128, 0x000000000000000000000001FDB97530))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 96, @bitCast(i128, @intCast(u128, 0x000000000000000000000000FEDCBA98))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 97, @bitCast(i128, @intCast(u128, 0x0000000000000000000000007F6E5D4C))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 98, @bitCast(i128, @intCast(u128, 0x0000000000000000000000003FB72EA6))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 99, @bitCast(i128, @intCast(u128, 0x0000000000000000000000001FDB9753))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 100, @bitCast(i128, @intCast(u128, 0x0000000000000000000000000FEDCBA9))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 124, @bitCast(i128, @intCast(u128, 0x0000000000000000000000000000000F))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 125, @bitCast(i128, @intCast(u128, 0x00000000000000000000000000000007))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 126, @bitCast(i128, @intCast(u128, 0x00000000000000000000000000000003))); - test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 127, @bitCast(i128, @intCast(u128, 0x00000000000000000000000000000001))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 0, @bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 1, @bitCast(i128, @intCast(u128, 0x7F6E5D4C3B2A190AFF6E5D4C3B2A190A))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 2, @bitCast(i128, @intCast(u128, 0x3FB72EA61D950C857FB72EA61D950C85))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 3, @bitCast(i128, @intCast(u128, 0x1FDB97530ECA8642BFDB97530ECA8642))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 4, @bitCast(i128, @intCast(u128, 0x0FEDCBA9876543215FEDCBA987654321))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 28, @bitCast(i128, @intCast(u128, 0x0000000FEDCBA9876543215FEDCBA987))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 29, @bitCast(i128, @intCast(u128, 0x00000007F6E5D4C3B2A190AFF6E5D4C3))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 30, @bitCast(i128, @intCast(u128, 0x00000003FB72EA61D950C857FB72EA61))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 31, @bitCast(i128, @intCast(u128, 0x00000001FDB97530ECA8642BFDB97530))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 32, @bitCast(i128, @intCast(u128, 0x00000000FEDCBA9876543215FEDCBA98))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 33, @bitCast(i128, @intCast(u128, 0x000000007F6E5D4C3B2A190AFF6E5D4C))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 34, @bitCast(i128, @intCast(u128, 0x000000003FB72EA61D950C857FB72EA6))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 35, @bitCast(i128, @intCast(u128, 0x000000001FDB97530ECA8642BFDB9753))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 36, @bitCast(i128, @intCast(u128, 0x000000000FEDCBA9876543215FEDCBA9))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 60, @bitCast(i128, @intCast(u128, 0x000000000000000FEDCBA9876543215F))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 61, @bitCast(i128, @intCast(u128, 0x0000000000000007F6E5D4C3B2A190AF))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 62, @bitCast(i128, @intCast(u128, 0x0000000000000003FB72EA61D950C857))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 63, @bitCast(i128, @intCast(u128, 0x0000000000000001FDB97530ECA8642B))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 64, @bitCast(i128, @intCast(u128, 0x0000000000000000FEDCBA9876543215))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 65, @bitCast(i128, @intCast(u128, 0x00000000000000007F6E5D4C3B2A190A))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 66, @bitCast(i128, @intCast(u128, 0x00000000000000003FB72EA61D950C85))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 67, @bitCast(i128, @intCast(u128, 0x00000000000000001FDB97530ECA8642))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 68, @bitCast(i128, @intCast(u128, 0x00000000000000000FEDCBA987654321))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 92, @bitCast(i128, @intCast(u128, 0x00000000000000000000000FEDCBA987))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 93, @bitCast(i128, @intCast(u128, 0x000000000000000000000007F6E5D4C3))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 94, @bitCast(i128, @intCast(u128, 0x000000000000000000000003FB72EA61))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 95, @bitCast(i128, @intCast(u128, 0x000000000000000000000001FDB97530))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 96, @bitCast(i128, @intCast(u128, 0x000000000000000000000000FEDCBA98))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 97, @bitCast(i128, @intCast(u128, 0x0000000000000000000000007F6E5D4C))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 98, @bitCast(i128, @intCast(u128, 0x0000000000000000000000003FB72EA6))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 99, @bitCast(i128, @intCast(u128, 0x0000000000000000000000001FDB9753))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 100, @bitCast(i128, @intCast(u128, 0x0000000000000000000000000FEDCBA9))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 124, @bitCast(i128, @intCast(u128, 0x0000000000000000000000000000000F))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 125, @bitCast(i128, @intCast(u128, 0x00000000000000000000000000000007))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 126, @bitCast(i128, @intCast(u128, 0x00000000000000000000000000000003))); + try test__lshrti3(@bitCast(i128, @intCast(u128, 0xFEDCBA9876543215FEDCBA9876543215)), 127, @bitCast(i128, @intCast(u128, 0x00000000000000000000000000000001))); } diff --git a/lib/std/special/compiler_rt/modti3_test.zig b/lib/std/special/compiler_rt/modti3_test.zig index e3d670ef13..e053941730 100644 --- a/lib/std/special/compiler_rt/modti3_test.zig +++ b/lib/std/special/compiler_rt/modti3_test.zig @@ -6,32 +6,32 @@ const __modti3 = @import("modti3.zig").__modti3; const testing = @import("std").testing; -fn test__modti3(a: i128, b: i128, expected: i128) void { +fn test__modti3(a: i128, b: i128, expected: i128) !void { const x = __modti3(a, b); try testing.expect(x == expected); } test "modti3" { - test__modti3(0, 1, 0); - test__modti3(0, -1, 0); - test__modti3(5, 3, 2); - test__modti3(5, -3, 2); - test__modti3(-5, 3, -2); - test__modti3(-5, -3, -2); + try test__modti3(0, 1, 0); + try test__modti3(0, -1, 0); + try test__modti3(5, 3, 2); + try test__modti3(5, -3, 2); + try test__modti3(-5, 3, -2); + try test__modti3(-5, -3, -2); - test__modti3(0x8000000000000000, 1, 0x0); - test__modti3(0x8000000000000000, -1, 0x0); - test__modti3(0x8000000000000000, 2, 0x0); - test__modti3(0x8000000000000000, -2, 0x0); - test__modti3(0x8000000000000000, 3, 2); - test__modti3(0x8000000000000000, -3, 2); + try test__modti3(0x8000000000000000, 1, 0x0); + try test__modti3(0x8000000000000000, -1, 0x0); + try test__modti3(0x8000000000000000, 2, 0x0); + try test__modti3(0x8000000000000000, -2, 0x0); + try test__modti3(0x8000000000000000, 3, 2); + try test__modti3(0x8000000000000000, -3, 2); - test__modti3(make_ti(0x8000000000000000, 0), 1, 0x0); - test__modti3(make_ti(0x8000000000000000, 0), -1, 0x0); - test__modti3(make_ti(0x8000000000000000, 0), 2, 0x0); - test__modti3(make_ti(0x8000000000000000, 0), -2, 0x0); - test__modti3(make_ti(0x8000000000000000, 0), 3, -2); - test__modti3(make_ti(0x8000000000000000, 0), -3, -2); + try test__modti3(make_ti(0x8000000000000000, 0), 1, 0x0); + try test__modti3(make_ti(0x8000000000000000, 0), -1, 0x0); + try test__modti3(make_ti(0x8000000000000000, 0), 2, 0x0); + try test__modti3(make_ti(0x8000000000000000, 0), -2, 0x0); + try test__modti3(make_ti(0x8000000000000000, 0), 3, -2); + try test__modti3(make_ti(0x8000000000000000, 0), -3, -2); } fn make_ti(high: u64, low: u64) i128 { diff --git a/lib/std/special/compiler_rt/mulXf3_test.zig b/lib/std/special/compiler_rt/mulXf3_test.zig index 272c96522d..b73f03d6c1 100644 --- a/lib/std/special/compiler_rt/mulXf3_test.zig +++ b/lib/std/special/compiler_rt/mulXf3_test.zig @@ -34,7 +34,7 @@ fn compareResultLD(result: f128, expectedHi: u64, expectedLo: u64) bool { return false; } -fn test__multf3(a: f128, b: f128, expected_hi: u64, expected_lo: u64) void { +fn test__multf3(a: f128, b: f128, expected_hi: u64, expected_lo: u64) !void { const x = __multf3(a, b); if (compareResultLD(x, expected_hi, expected_lo)) @@ -50,42 +50,42 @@ fn makeNaN128(rand: u64) f128 { } test "multf3" { // qNaN * any = qNaN - test__multf3(qnan128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0); + try test__multf3(qnan128, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0); // NaN * any = NaN const a = makeNaN128(0x800030000000); - test__multf3(a, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0); + try test__multf3(a, 0x1.23456789abcdefp+5, 0x7fff800000000000, 0x0); // inf * any = inf - test__multf3(inf128, 0x1.23456789abcdefp+5, 0x7fff000000000000, 0x0); + try test__multf3(inf128, 0x1.23456789abcdefp+5, 0x7fff000000000000, 0x0); // any * any - test__multf3( + try test__multf3( @bitCast(f128, @as(u128, 0x40042eab345678439abcdefea5678234)), @bitCast(f128, @as(u128, 0x3ffeedcb34a235253948765432134675)), 0x400423e7f9e3c9fc, 0xd906c2c2a85777c4, ); - test__multf3( + try test__multf3( @bitCast(f128, @as(u128, 0x3fcd353e45674d89abacc3a2ebf3ff50)), @bitCast(f128, @as(u128, 0x3ff6ed8764648369535adf4be3214568)), 0x3fc52a163c6223fc, 0xc94c4bf0430768b4, ); - test__multf3( + try test__multf3( 0x1.234425696abcad34a35eeffefdcbap+456, 0x451.ed98d76e5d46e5f24323dff21ffp+600, 0x44293a91de5e0e94, 0xe8ed17cc2cdf64ac, ); - test__multf3( + try test__multf3( @bitCast(f128, @as(u128, 0x3f154356473c82a9fabf2d22ace345df)), @bitCast(f128, @as(u128, 0x3e38eda98765476743ab21da23d45679)), 0x3d4f37c1a3137cae, 0xfc6807048bc2836a, ); - test__multf3(0x1.23456734245345p-10000, 0x1.edcba524498724p-6497, 0x0, 0x0); + try test__multf3(0x1.23456734245345p-10000, 0x1.edcba524498724p-6497, 0x0, 0x0); } diff --git a/lib/std/special/compiler_rt/muldi3_test.zig b/lib/std/special/compiler_rt/muldi3_test.zig index 3bf3e7626f..914e42bd15 100644 --- a/lib/std/special/compiler_rt/muldi3_test.zig +++ b/lib/std/special/compiler_rt/muldi3_test.zig @@ -6,51 +6,51 @@ const __muldi3 = @import("muldi3.zig").__muldi3; const testing = @import("std").testing; -fn test__muldi3(a: i64, b: i64, expected: i64) void { +fn test__muldi3(a: i64, b: i64, expected: i64) !void { const x = __muldi3(a, b); try testing.expect(x == expected); } test "muldi3" { - test__muldi3(0, 0, 0); - test__muldi3(0, 1, 0); - test__muldi3(1, 0, 0); - test__muldi3(0, 10, 0); - test__muldi3(10, 0, 0); - test__muldi3(0, 81985529216486895, 0); - test__muldi3(81985529216486895, 0, 0); + try test__muldi3(0, 0, 0); + try test__muldi3(0, 1, 0); + try test__muldi3(1, 0, 0); + try test__muldi3(0, 10, 0); + try test__muldi3(10, 0, 0); + try test__muldi3(0, 81985529216486895, 0); + try test__muldi3(81985529216486895, 0, 0); - test__muldi3(0, -1, 0); - test__muldi3(-1, 0, 0); - test__muldi3(0, -10, 0); - test__muldi3(-10, 0, 0); - test__muldi3(0, -81985529216486895, 0); - test__muldi3(-81985529216486895, 0, 0); + try test__muldi3(0, -1, 0); + try test__muldi3(-1, 0, 0); + try test__muldi3(0, -10, 0); + try test__muldi3(-10, 0, 0); + try test__muldi3(0, -81985529216486895, 0); + try test__muldi3(-81985529216486895, 0, 0); - test__muldi3(1, 1, 1); - test__muldi3(1, 10, 10); - test__muldi3(10, 1, 10); - test__muldi3(1, 81985529216486895, 81985529216486895); - test__muldi3(81985529216486895, 1, 81985529216486895); + try test__muldi3(1, 1, 1); + try test__muldi3(1, 10, 10); + try test__muldi3(10, 1, 10); + try test__muldi3(1, 81985529216486895, 81985529216486895); + try test__muldi3(81985529216486895, 1, 81985529216486895); - test__muldi3(1, -1, -1); - test__muldi3(1, -10, -10); - test__muldi3(-10, 1, -10); - test__muldi3(1, -81985529216486895, -81985529216486895); - test__muldi3(-81985529216486895, 1, -81985529216486895); + try test__muldi3(1, -1, -1); + try test__muldi3(1, -10, -10); + try test__muldi3(-10, 1, -10); + try test__muldi3(1, -81985529216486895, -81985529216486895); + try test__muldi3(-81985529216486895, 1, -81985529216486895); - test__muldi3(3037000499, 3037000499, 9223372030926249001); - test__muldi3(-3037000499, 3037000499, -9223372030926249001); - test__muldi3(3037000499, -3037000499, -9223372030926249001); - test__muldi3(-3037000499, -3037000499, 9223372030926249001); + try test__muldi3(3037000499, 3037000499, 9223372030926249001); + try test__muldi3(-3037000499, 3037000499, -9223372030926249001); + try test__muldi3(3037000499, -3037000499, -9223372030926249001); + try test__muldi3(-3037000499, -3037000499, 9223372030926249001); - test__muldi3(4398046511103, 2097152, 9223372036852678656); - test__muldi3(-4398046511103, 2097152, -9223372036852678656); - test__muldi3(4398046511103, -2097152, -9223372036852678656); - test__muldi3(-4398046511103, -2097152, 9223372036852678656); + try test__muldi3(4398046511103, 2097152, 9223372036852678656); + try test__muldi3(-4398046511103, 2097152, -9223372036852678656); + try test__muldi3(4398046511103, -2097152, -9223372036852678656); + try test__muldi3(-4398046511103, -2097152, 9223372036852678656); - test__muldi3(2097152, 4398046511103, 9223372036852678656); - test__muldi3(-2097152, 4398046511103, -9223372036852678656); - test__muldi3(2097152, -4398046511103, -9223372036852678656); - test__muldi3(-2097152, -4398046511103, 9223372036852678656); + try test__muldi3(2097152, 4398046511103, 9223372036852678656); + try test__muldi3(-2097152, 4398046511103, -9223372036852678656); + try test__muldi3(2097152, -4398046511103, -9223372036852678656); + try test__muldi3(-2097152, -4398046511103, 9223372036852678656); } diff --git a/lib/std/special/compiler_rt/mulodi4_test.zig b/lib/std/special/compiler_rt/mulodi4_test.zig index 26082cf74e..c865b7a0c5 100644 --- a/lib/std/special/compiler_rt/mulodi4_test.zig +++ b/lib/std/special/compiler_rt/mulodi4_test.zig @@ -6,85 +6,85 @@ const __mulodi4 = @import("mulodi4.zig").__mulodi4; const testing = @import("std").testing; -fn test__mulodi4(a: i64, b: i64, expected: i64, expected_overflow: c_int) void { +fn test__mulodi4(a: i64, b: i64, expected: i64, expected_overflow: c_int) !void { var overflow: c_int = undefined; const x = __mulodi4(a, b, &overflow); try testing.expect(overflow == expected_overflow and (expected_overflow != 0 or x == expected)); } test "mulodi4" { - test__mulodi4(0, 0, 0, 0); - test__mulodi4(0, 1, 0, 0); - test__mulodi4(1, 0, 0, 0); - test__mulodi4(0, 10, 0, 0); - test__mulodi4(10, 0, 0, 0); - test__mulodi4(0, 81985529216486895, 0, 0); - test__mulodi4(81985529216486895, 0, 0, 0); + try test__mulodi4(0, 0, 0, 0); + try test__mulodi4(0, 1, 0, 0); + try test__mulodi4(1, 0, 0, 0); + try test__mulodi4(0, 10, 0, 0); + try test__mulodi4(10, 0, 0, 0); + try test__mulodi4(0, 81985529216486895, 0, 0); + try test__mulodi4(81985529216486895, 0, 0, 0); - test__mulodi4(0, -1, 0, 0); - test__mulodi4(-1, 0, 0, 0); - test__mulodi4(0, -10, 0, 0); - test__mulodi4(-10, 0, 0, 0); - test__mulodi4(0, -81985529216486895, 0, 0); - test__mulodi4(-81985529216486895, 0, 0, 0); + try test__mulodi4(0, -1, 0, 0); + try test__mulodi4(-1, 0, 0, 0); + try test__mulodi4(0, -10, 0, 0); + try test__mulodi4(-10, 0, 0, 0); + try test__mulodi4(0, -81985529216486895, 0, 0); + try test__mulodi4(-81985529216486895, 0, 0, 0); - test__mulodi4(1, 1, 1, 0); - test__mulodi4(1, 10, 10, 0); - test__mulodi4(10, 1, 10, 0); - test__mulodi4(1, 81985529216486895, 81985529216486895, 0); - test__mulodi4(81985529216486895, 1, 81985529216486895, 0); + try test__mulodi4(1, 1, 1, 0); + try test__mulodi4(1, 10, 10, 0); + try test__mulodi4(10, 1, 10, 0); + try test__mulodi4(1, 81985529216486895, 81985529216486895, 0); + try test__mulodi4(81985529216486895, 1, 81985529216486895, 0); - test__mulodi4(1, -1, -1, 0); - test__mulodi4(1, -10, -10, 0); - test__mulodi4(-10, 1, -10, 0); - test__mulodi4(1, -81985529216486895, -81985529216486895, 0); - test__mulodi4(-81985529216486895, 1, -81985529216486895, 0); + try test__mulodi4(1, -1, -1, 0); + try test__mulodi4(1, -10, -10, 0); + try test__mulodi4(-10, 1, -10, 0); + try test__mulodi4(1, -81985529216486895, -81985529216486895, 0); + try test__mulodi4(-81985529216486895, 1, -81985529216486895, 0); - test__mulodi4(3037000499, 3037000499, 9223372030926249001, 0); - test__mulodi4(-3037000499, 3037000499, -9223372030926249001, 0); - test__mulodi4(3037000499, -3037000499, -9223372030926249001, 0); - test__mulodi4(-3037000499, -3037000499, 9223372030926249001, 0); + try test__mulodi4(3037000499, 3037000499, 9223372030926249001, 0); + try test__mulodi4(-3037000499, 3037000499, -9223372030926249001, 0); + try test__mulodi4(3037000499, -3037000499, -9223372030926249001, 0); + try test__mulodi4(-3037000499, -3037000499, 9223372030926249001, 0); - test__mulodi4(4398046511103, 2097152, 9223372036852678656, 0); - test__mulodi4(-4398046511103, 2097152, -9223372036852678656, 0); - test__mulodi4(4398046511103, -2097152, -9223372036852678656, 0); - test__mulodi4(-4398046511103, -2097152, 9223372036852678656, 0); + try test__mulodi4(4398046511103, 2097152, 9223372036852678656, 0); + try test__mulodi4(-4398046511103, 2097152, -9223372036852678656, 0); + try test__mulodi4(4398046511103, -2097152, -9223372036852678656, 0); + try test__mulodi4(-4398046511103, -2097152, 9223372036852678656, 0); - test__mulodi4(2097152, 4398046511103, 9223372036852678656, 0); - test__mulodi4(-2097152, 4398046511103, -9223372036852678656, 0); - test__mulodi4(2097152, -4398046511103, -9223372036852678656, 0); - test__mulodi4(-2097152, -4398046511103, 9223372036852678656, 0); + try test__mulodi4(2097152, 4398046511103, 9223372036852678656, 0); + try test__mulodi4(-2097152, 4398046511103, -9223372036852678656, 0); + try test__mulodi4(2097152, -4398046511103, -9223372036852678656, 0); + try test__mulodi4(-2097152, -4398046511103, 9223372036852678656, 0); - test__mulodi4(0x7FFFFFFFFFFFFFFF, -2, 2, 1); - test__mulodi4(-2, 0x7FFFFFFFFFFFFFFF, 2, 1); - test__mulodi4(0x7FFFFFFFFFFFFFFF, -1, @bitCast(i64, @as(u64, 0x8000000000000001)), 0); - test__mulodi4(-1, 0x7FFFFFFFFFFFFFFF, @bitCast(i64, @as(u64, 0x8000000000000001)), 0); - test__mulodi4(0x7FFFFFFFFFFFFFFF, 0, 0, 0); - test__mulodi4(0, 0x7FFFFFFFFFFFFFFF, 0, 0); - test__mulodi4(0x7FFFFFFFFFFFFFFF, 1, 0x7FFFFFFFFFFFFFFF, 0); - test__mulodi4(1, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF, 0); - test__mulodi4(0x7FFFFFFFFFFFFFFF, 2, @bitCast(i64, @as(u64, 0x8000000000000001)), 1); - test__mulodi4(2, 0x7FFFFFFFFFFFFFFF, @bitCast(i64, @as(u64, 0x8000000000000001)), 1); + try test__mulodi4(0x7FFFFFFFFFFFFFFF, -2, 2, 1); + try test__mulodi4(-2, 0x7FFFFFFFFFFFFFFF, 2, 1); + try test__mulodi4(0x7FFFFFFFFFFFFFFF, -1, @bitCast(i64, @as(u64, 0x8000000000000001)), 0); + try test__mulodi4(-1, 0x7FFFFFFFFFFFFFFF, @bitCast(i64, @as(u64, 0x8000000000000001)), 0); + try test__mulodi4(0x7FFFFFFFFFFFFFFF, 0, 0, 0); + try test__mulodi4(0, 0x7FFFFFFFFFFFFFFF, 0, 0); + try test__mulodi4(0x7FFFFFFFFFFFFFFF, 1, 0x7FFFFFFFFFFFFFFF, 0); + try test__mulodi4(1, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF, 0); + try test__mulodi4(0x7FFFFFFFFFFFFFFF, 2, @bitCast(i64, @as(u64, 0x8000000000000001)), 1); + try test__mulodi4(2, 0x7FFFFFFFFFFFFFFF, @bitCast(i64, @as(u64, 0x8000000000000001)), 1); - test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000000)), -2, @bitCast(i64, @as(u64, 0x8000000000000000)), 1); - test__mulodi4(-2, @bitCast(i64, @as(u64, 0x8000000000000000)), @bitCast(i64, @as(u64, 0x8000000000000000)), 1); - test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000000)), -1, @bitCast(i64, @as(u64, 0x8000000000000000)), 1); - test__mulodi4(-1, @bitCast(i64, @as(u64, 0x8000000000000000)), @bitCast(i64, @as(u64, 0x8000000000000000)), 1); - test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000000)), 0, 0, 0); - test__mulodi4(0, @bitCast(i64, @as(u64, 0x8000000000000000)), 0, 0); - test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000000)), 1, @bitCast(i64, @as(u64, 0x8000000000000000)), 0); - test__mulodi4(1, @bitCast(i64, @as(u64, 0x8000000000000000)), @bitCast(i64, @as(u64, 0x8000000000000000)), 0); - test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000000)), 2, @bitCast(i64, @as(u64, 0x8000000000000000)), 1); - test__mulodi4(2, @bitCast(i64, @as(u64, 0x8000000000000000)), @bitCast(i64, @as(u64, 0x8000000000000000)), 1); + try test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000000)), -2, @bitCast(i64, @as(u64, 0x8000000000000000)), 1); + try test__mulodi4(-2, @bitCast(i64, @as(u64, 0x8000000000000000)), @bitCast(i64, @as(u64, 0x8000000000000000)), 1); + try test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000000)), -1, @bitCast(i64, @as(u64, 0x8000000000000000)), 1); + try test__mulodi4(-1, @bitCast(i64, @as(u64, 0x8000000000000000)), @bitCast(i64, @as(u64, 0x8000000000000000)), 1); + try test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000000)), 0, 0, 0); + try test__mulodi4(0, @bitCast(i64, @as(u64, 0x8000000000000000)), 0, 0); + try test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000000)), 1, @bitCast(i64, @as(u64, 0x8000000000000000)), 0); + try test__mulodi4(1, @bitCast(i64, @as(u64, 0x8000000000000000)), @bitCast(i64, @as(u64, 0x8000000000000000)), 0); + try test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000000)), 2, @bitCast(i64, @as(u64, 0x8000000000000000)), 1); + try test__mulodi4(2, @bitCast(i64, @as(u64, 0x8000000000000000)), @bitCast(i64, @as(u64, 0x8000000000000000)), 1); - test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000001)), -2, @bitCast(i64, @as(u64, 0x8000000000000001)), 1); - test__mulodi4(-2, @bitCast(i64, @as(u64, 0x8000000000000001)), @bitCast(i64, @as(u64, 0x8000000000000001)), 1); - test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000001)), -1, 0x7FFFFFFFFFFFFFFF, 0); - test__mulodi4(-1, @bitCast(i64, @as(u64, 0x8000000000000001)), 0x7FFFFFFFFFFFFFFF, 0); - test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000001)), 0, 0, 0); - test__mulodi4(0, @bitCast(i64, @as(u64, 0x8000000000000001)), 0, 0); - test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000001)), 1, @bitCast(i64, @as(u64, 0x8000000000000001)), 0); - test__mulodi4(1, @bitCast(i64, @as(u64, 0x8000000000000001)), @bitCast(i64, @as(u64, 0x8000000000000001)), 0); - test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000001)), 2, @bitCast(i64, @as(u64, 0x8000000000000000)), 1); - test__mulodi4(2, @bitCast(i64, @as(u64, 0x8000000000000001)), @bitCast(i64, @as(u64, 0x8000000000000000)), 1); + try test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000001)), -2, @bitCast(i64, @as(u64, 0x8000000000000001)), 1); + try test__mulodi4(-2, @bitCast(i64, @as(u64, 0x8000000000000001)), @bitCast(i64, @as(u64, 0x8000000000000001)), 1); + try test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000001)), -1, 0x7FFFFFFFFFFFFFFF, 0); + try test__mulodi4(-1, @bitCast(i64, @as(u64, 0x8000000000000001)), 0x7FFFFFFFFFFFFFFF, 0); + try test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000001)), 0, 0, 0); + try test__mulodi4(0, @bitCast(i64, @as(u64, 0x8000000000000001)), 0, 0); + try test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000001)), 1, @bitCast(i64, @as(u64, 0x8000000000000001)), 0); + try test__mulodi4(1, @bitCast(i64, @as(u64, 0x8000000000000001)), @bitCast(i64, @as(u64, 0x8000000000000001)), 0); + try test__mulodi4(@bitCast(i64, @as(u64, 0x8000000000000001)), 2, @bitCast(i64, @as(u64, 0x8000000000000000)), 1); + try test__mulodi4(2, @bitCast(i64, @as(u64, 0x8000000000000001)), @bitCast(i64, @as(u64, 0x8000000000000000)), 1); } diff --git a/lib/std/special/compiler_rt/muloti4_test.zig b/lib/std/special/compiler_rt/muloti4_test.zig index 7ff0650145..34c1d2daab 100644 --- a/lib/std/special/compiler_rt/muloti4_test.zig +++ b/lib/std/special/compiler_rt/muloti4_test.zig @@ -6,76 +6,76 @@ const __muloti4 = @import("muloti4.zig").__muloti4; const testing = @import("std").testing; -fn test__muloti4(a: i128, b: i128, expected: i128, expected_overflow: c_int) void { +fn test__muloti4(a: i128, b: i128, expected: i128, expected_overflow: c_int) !void { var overflow: c_int = undefined; const x = __muloti4(a, b, &overflow); try testing.expect(overflow == expected_overflow and (expected_overflow != 0 or x == expected)); } test "muloti4" { - test__muloti4(0, 0, 0, 0); - test__muloti4(0, 1, 0, 0); - test__muloti4(1, 0, 0, 0); - test__muloti4(0, 10, 0, 0); - test__muloti4(10, 0, 0, 0); + try test__muloti4(0, 0, 0, 0); + try test__muloti4(0, 1, 0, 0); + try test__muloti4(1, 0, 0, 0); + try test__muloti4(0, 10, 0, 0); + try test__muloti4(10, 0, 0, 0); - test__muloti4(0, 81985529216486895, 0, 0); - test__muloti4(81985529216486895, 0, 0, 0); + try test__muloti4(0, 81985529216486895, 0, 0); + try test__muloti4(81985529216486895, 0, 0, 0); - test__muloti4(0, -1, 0, 0); - test__muloti4(-1, 0, 0, 0); - test__muloti4(0, -10, 0, 0); - test__muloti4(-10, 0, 0, 0); - test__muloti4(0, -81985529216486895, 0, 0); - test__muloti4(-81985529216486895, 0, 0, 0); + try test__muloti4(0, -1, 0, 0); + try test__muloti4(-1, 0, 0, 0); + try test__muloti4(0, -10, 0, 0); + try test__muloti4(-10, 0, 0, 0); + try test__muloti4(0, -81985529216486895, 0, 0); + try test__muloti4(-81985529216486895, 0, 0, 0); - test__muloti4(3037000499, 3037000499, 9223372030926249001, 0); - test__muloti4(-3037000499, 3037000499, -9223372030926249001, 0); - test__muloti4(3037000499, -3037000499, -9223372030926249001, 0); - test__muloti4(-3037000499, -3037000499, 9223372030926249001, 0); + try test__muloti4(3037000499, 3037000499, 9223372030926249001, 0); + try test__muloti4(-3037000499, 3037000499, -9223372030926249001, 0); + try test__muloti4(3037000499, -3037000499, -9223372030926249001, 0); + try test__muloti4(-3037000499, -3037000499, 9223372030926249001, 0); - test__muloti4(4398046511103, 2097152, 9223372036852678656, 0); - test__muloti4(-4398046511103, 2097152, -9223372036852678656, 0); - test__muloti4(4398046511103, -2097152, -9223372036852678656, 0); - test__muloti4(-4398046511103, -2097152, 9223372036852678656, 0); + try test__muloti4(4398046511103, 2097152, 9223372036852678656, 0); + try test__muloti4(-4398046511103, 2097152, -9223372036852678656, 0); + try test__muloti4(4398046511103, -2097152, -9223372036852678656, 0); + try test__muloti4(-4398046511103, -2097152, 9223372036852678656, 0); - test__muloti4(2097152, 4398046511103, 9223372036852678656, 0); - test__muloti4(-2097152, 4398046511103, -9223372036852678656, 0); - test__muloti4(2097152, -4398046511103, -9223372036852678656, 0); - test__muloti4(-2097152, -4398046511103, 9223372036852678656, 0); + try test__muloti4(2097152, 4398046511103, 9223372036852678656, 0); + try test__muloti4(-2097152, 4398046511103, -9223372036852678656, 0); + try test__muloti4(2097152, -4398046511103, -9223372036852678656, 0); + try test__muloti4(-2097152, -4398046511103, 9223372036852678656, 0); - test__muloti4(@bitCast(i128, @as(u128, 0x00000000000000B504F333F9DE5BE000)), @bitCast(i128, @as(u128, 0x000000000000000000B504F333F9DE5B)), @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFF328DF915DA296E8A000)), 0); - test__muloti4(@bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), -2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1); - test__muloti4(-2, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1); + try test__muloti4(@bitCast(i128, @as(u128, 0x00000000000000B504F333F9DE5BE000)), @bitCast(i128, @as(u128, 0x000000000000000000B504F333F9DE5B)), @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFF328DF915DA296E8A000)), 0); + try test__muloti4(@bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), -2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1); + try test__muloti4(-2, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1); - test__muloti4(@bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), -1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 0); - test__muloti4(-1, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 0); - test__muloti4(@bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 0, 0, 0); - test__muloti4(0, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 0, 0); - test__muloti4(@bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 1, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 0); - test__muloti4(1, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 0); - test__muloti4(@bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1); - test__muloti4(2, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1); + try test__muloti4(@bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), -1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 0); + try test__muloti4(-1, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 0); + try test__muloti4(@bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 0, 0, 0); + try test__muloti4(0, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 0, 0); + try test__muloti4(@bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 1, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 0); + try test__muloti4(1, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 0); + try test__muloti4(@bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1); + try test__muloti4(2, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1); - test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), -2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1); - test__muloti4(-2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1); - test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), -1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1); - test__muloti4(-1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1); - test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 0, 0, 0); - test__muloti4(0, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 0, 0); - test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 0); - test__muloti4(1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 0); - test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1); - test__muloti4(2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1); + try test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), -2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1); + try test__muloti4(-2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1); + try test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), -1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1); + try test__muloti4(-1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1); + try test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 0, 0, 0); + try test__muloti4(0, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 0, 0); + try test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 0); + try test__muloti4(1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 0); + try test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1); + try test__muloti4(2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1); - test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), -2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1); - test__muloti4(-2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1); - test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), -1, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 0); - test__muloti4(-1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 0); - test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 0, 0, 0); - test__muloti4(0, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 0, 0); - test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 0); - test__muloti4(1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 0); - test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1); - test__muloti4(2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1); + try test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), -2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1); + try test__muloti4(-2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1); + try test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), -1, @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 0); + try test__muloti4(-1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), @bitCast(i128, @as(u128, 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)), 0); + try test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 0, 0, 0); + try test__muloti4(0, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 0, 0); + try test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 0); + try test__muloti4(1, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 0); + try test__muloti4(@bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), 2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1); + try test__muloti4(2, @bitCast(i128, @as(u128, 0x80000000000000000000000000000001)), @bitCast(i128, @as(u128, 0x80000000000000000000000000000000)), 1); } diff --git a/lib/std/special/compiler_rt/multi3_test.zig b/lib/std/special/compiler_rt/multi3_test.zig index b5c5bd3836..a9ac760099 100644 --- a/lib/std/special/compiler_rt/multi3_test.zig +++ b/lib/std/special/compiler_rt/multi3_test.zig @@ -6,53 +6,53 @@ const __multi3 = @import("multi3.zig").__multi3; const testing = @import("std").testing; -fn test__multi3(a: i128, b: i128, expected: i128) void { +fn test__multi3(a: i128, b: i128, expected: i128) !void { const x = __multi3(a, b); try testing.expect(x == expected); } test "multi3" { - test__multi3(0, 0, 0); - test__multi3(0, 1, 0); - test__multi3(1, 0, 0); - test__multi3(0, 10, 0); - test__multi3(10, 0, 0); - test__multi3(0, 81985529216486895, 0); - test__multi3(81985529216486895, 0, 0); + try test__multi3(0, 0, 0); + try test__multi3(0, 1, 0); + try test__multi3(1, 0, 0); + try test__multi3(0, 10, 0); + try test__multi3(10, 0, 0); + try test__multi3(0, 81985529216486895, 0); + try test__multi3(81985529216486895, 0, 0); - test__multi3(0, -1, 0); - test__multi3(-1, 0, 0); - test__multi3(0, -10, 0); - test__multi3(-10, 0, 0); - test__multi3(0, -81985529216486895, 0); - test__multi3(-81985529216486895, 0, 0); + try test__multi3(0, -1, 0); + try test__multi3(-1, 0, 0); + try test__multi3(0, -10, 0); + try test__multi3(-10, 0, 0); + try test__multi3(0, -81985529216486895, 0); + try test__multi3(-81985529216486895, 0, 0); - test__multi3(1, 1, 1); - test__multi3(1, 10, 10); - test__multi3(10, 1, 10); - test__multi3(1, 81985529216486895, 81985529216486895); - test__multi3(81985529216486895, 1, 81985529216486895); + try test__multi3(1, 1, 1); + try test__multi3(1, 10, 10); + try test__multi3(10, 1, 10); + try test__multi3(1, 81985529216486895, 81985529216486895); + try test__multi3(81985529216486895, 1, 81985529216486895); - test__multi3(1, -1, -1); - test__multi3(1, -10, -10); - test__multi3(-10, 1, -10); - test__multi3(1, -81985529216486895, -81985529216486895); - test__multi3(-81985529216486895, 1, -81985529216486895); + try test__multi3(1, -1, -1); + try test__multi3(1, -10, -10); + try test__multi3(-10, 1, -10); + try test__multi3(1, -81985529216486895, -81985529216486895); + try test__multi3(-81985529216486895, 1, -81985529216486895); - test__multi3(3037000499, 3037000499, 9223372030926249001); - test__multi3(-3037000499, 3037000499, -9223372030926249001); - test__multi3(3037000499, -3037000499, -9223372030926249001); - test__multi3(-3037000499, -3037000499, 9223372030926249001); + try test__multi3(3037000499, 3037000499, 9223372030926249001); + try test__multi3(-3037000499, 3037000499, -9223372030926249001); + try test__multi3(3037000499, -3037000499, -9223372030926249001); + try test__multi3(-3037000499, -3037000499, 9223372030926249001); - test__multi3(4398046511103, 2097152, 9223372036852678656); - test__multi3(-4398046511103, 2097152, -9223372036852678656); - test__multi3(4398046511103, -2097152, -9223372036852678656); - test__multi3(-4398046511103, -2097152, 9223372036852678656); + try test__multi3(4398046511103, 2097152, 9223372036852678656); + try test__multi3(-4398046511103, 2097152, -9223372036852678656); + try test__multi3(4398046511103, -2097152, -9223372036852678656); + try test__multi3(-4398046511103, -2097152, 9223372036852678656); - test__multi3(2097152, 4398046511103, 9223372036852678656); - test__multi3(-2097152, 4398046511103, -9223372036852678656); - test__multi3(2097152, -4398046511103, -9223372036852678656); - test__multi3(-2097152, -4398046511103, 9223372036852678656); + try test__multi3(2097152, 4398046511103, 9223372036852678656); + try test__multi3(-2097152, 4398046511103, -9223372036852678656); + try test__multi3(2097152, -4398046511103, -9223372036852678656); + try test__multi3(-2097152, -4398046511103, 9223372036852678656); - test__multi3(0x00000000000000B504F333F9DE5BE000, 0x000000000000000000B504F333F9DE5B, 0x7FFFFFFFFFFFF328DF915DA296E8A000); + try test__multi3(0x00000000000000B504F333F9DE5BE000, 0x000000000000000000B504F333F9DE5B, 0x7FFFFFFFFFFFF328DF915DA296E8A000); } diff --git a/lib/std/special/compiler_rt/popcountdi2_test.zig b/lib/std/special/compiler_rt/popcountdi2_test.zig index 3cb7d00c97..056b9827ef 100644 --- a/lib/std/special/compiler_rt/popcountdi2_test.zig +++ b/lib/std/special/compiler_rt/popcountdi2_test.zig @@ -15,18 +15,18 @@ fn naive_popcount(a_param: i64) i32 { return r; } -fn test__popcountdi2(a: i64) void { +fn test__popcountdi2(a: i64) !void { const x = __popcountdi2(a); const expected = naive_popcount(a); try testing.expect(expected == x); } test "popcountdi2" { - test__popcountdi2(0); - test__popcountdi2(1); - test__popcountdi2(2); - test__popcountdi2(@bitCast(i64, @as(u64, 0xFFFFFFFFFFFFFFFD))); - test__popcountdi2(@bitCast(i64, @as(u64, 0xFFFFFFFFFFFFFFFE))); - test__popcountdi2(@bitCast(i64, @as(u64, 0xFFFFFFFFFFFFFFFF))); + try test__popcountdi2(0); + try test__popcountdi2(1); + try test__popcountdi2(2); + try test__popcountdi2(@bitCast(i64, @as(u64, 0xFFFFFFFFFFFFFFFD))); + try test__popcountdi2(@bitCast(i64, @as(u64, 0xFFFFFFFFFFFFFFFE))); + try test__popcountdi2(@bitCast(i64, @as(u64, 0xFFFFFFFFFFFFFFFF))); // TODO some fuzz testing } diff --git a/lib/std/special/compiler_rt/truncXfYf2_test.zig b/lib/std/special/compiler_rt/truncXfYf2_test.zig index 4fae5d1fc0..9e581fd636 100644 --- a/lib/std/special/compiler_rt/truncXfYf2_test.zig +++ b/lib/std/special/compiler_rt/truncXfYf2_test.zig @@ -5,67 +5,67 @@ // and substantial portions of the software. const __truncsfhf2 = @import("truncXfYf2.zig").__truncsfhf2; -fn test__truncsfhf2(a: u32, expected: u16) void { +fn test__truncsfhf2(a: u32, expected: u16) !void { const actual = __truncsfhf2(@bitCast(f32, a)); if (actual == expected) { return; } - @panic("__truncsfhf2 test failure"); + return error.TestFailure; } test "truncsfhf2" { - test__truncsfhf2(0x7fc00000, 0x7e00); // qNaN - test__truncsfhf2(0x7fe00000, 0x7f00); // sNaN + try test__truncsfhf2(0x7fc00000, 0x7e00); // qNaN + try test__truncsfhf2(0x7fe00000, 0x7f00); // sNaN - test__truncsfhf2(0, 0); // 0 - test__truncsfhf2(0x80000000, 0x8000); // -0 + try test__truncsfhf2(0, 0); // 0 + try test__truncsfhf2(0x80000000, 0x8000); // -0 - test__truncsfhf2(0x7f800000, 0x7c00); // inf - test__truncsfhf2(0xff800000, 0xfc00); // -inf + try test__truncsfhf2(0x7f800000, 0x7c00); // inf + try test__truncsfhf2(0xff800000, 0xfc00); // -inf - test__truncsfhf2(0x477ff000, 0x7c00); // 65520 -> inf - test__truncsfhf2(0xc77ff000, 0xfc00); // -65520 -> -inf + try test__truncsfhf2(0x477ff000, 0x7c00); // 65520 -> inf + try test__truncsfhf2(0xc77ff000, 0xfc00); // -65520 -> -inf - test__truncsfhf2(0x71cc3892, 0x7c00); // 0x1.987124876876324p+100 -> inf - test__truncsfhf2(0xf1cc3892, 0xfc00); // -0x1.987124876876324p+100 -> -inf + try test__truncsfhf2(0x71cc3892, 0x7c00); // 0x1.987124876876324p+100 -> inf + try test__truncsfhf2(0xf1cc3892, 0xfc00); // -0x1.987124876876324p+100 -> -inf - test__truncsfhf2(0x38800000, 0x0400); // normal (min), 2**-14 - test__truncsfhf2(0xb8800000, 0x8400); // normal (min), -2**-14 + try test__truncsfhf2(0x38800000, 0x0400); // normal (min), 2**-14 + try test__truncsfhf2(0xb8800000, 0x8400); // normal (min), -2**-14 - test__truncsfhf2(0x477fe000, 0x7bff); // normal (max), 65504 - test__truncsfhf2(0xc77fe000, 0xfbff); // normal (max), -65504 + try test__truncsfhf2(0x477fe000, 0x7bff); // normal (max), 65504 + try test__truncsfhf2(0xc77fe000, 0xfbff); // normal (max), -65504 - test__truncsfhf2(0x477fe100, 0x7bff); // normal, 65505 -> 65504 - test__truncsfhf2(0xc77fe100, 0xfbff); // normal, -65505 -> -65504 + try test__truncsfhf2(0x477fe100, 0x7bff); // normal, 65505 -> 65504 + try test__truncsfhf2(0xc77fe100, 0xfbff); // normal, -65505 -> -65504 - test__truncsfhf2(0x477fef00, 0x7bff); // normal, 65519 -> 65504 - test__truncsfhf2(0xc77fef00, 0xfbff); // normal, -65519 -> -65504 + try test__truncsfhf2(0x477fef00, 0x7bff); // normal, 65519 -> 65504 + try test__truncsfhf2(0xc77fef00, 0xfbff); // normal, -65519 -> -65504 - test__truncsfhf2(0x3f802000, 0x3c01); // normal, 1 + 2**-10 - test__truncsfhf2(0xbf802000, 0xbc01); // normal, -1 - 2**-10 + try test__truncsfhf2(0x3f802000, 0x3c01); // normal, 1 + 2**-10 + try test__truncsfhf2(0xbf802000, 0xbc01); // normal, -1 - 2**-10 - test__truncsfhf2(0x3eaaa000, 0x3555); // normal, approx. 1/3 - test__truncsfhf2(0xbeaaa000, 0xb555); // normal, approx. -1/3 + try test__truncsfhf2(0x3eaaa000, 0x3555); // normal, approx. 1/3 + try test__truncsfhf2(0xbeaaa000, 0xb555); // normal, approx. -1/3 - test__truncsfhf2(0x40490fdb, 0x4248); // normal, 3.1415926535 - test__truncsfhf2(0xc0490fdb, 0xc248); // normal, -3.1415926535 + try test__truncsfhf2(0x40490fdb, 0x4248); // normal, 3.1415926535 + try test__truncsfhf2(0xc0490fdb, 0xc248); // normal, -3.1415926535 - test__truncsfhf2(0x45cc3892, 0x6e62); // normal, 0x1.987124876876324p+12 + try test__truncsfhf2(0x45cc3892, 0x6e62); // normal, 0x1.987124876876324p+12 - test__truncsfhf2(0x3f800000, 0x3c00); // normal, 1 - test__truncsfhf2(0x38800000, 0x0400); // normal, 0x1.0p-14 + try test__truncsfhf2(0x3f800000, 0x3c00); // normal, 1 + try test__truncsfhf2(0x38800000, 0x0400); // normal, 0x1.0p-14 - test__truncsfhf2(0x33800000, 0x0001); // denormal (min), 2**-24 - test__truncsfhf2(0xb3800000, 0x8001); // denormal (min), -2**-24 + try test__truncsfhf2(0x33800000, 0x0001); // denormal (min), 2**-24 + try test__truncsfhf2(0xb3800000, 0x8001); // denormal (min), -2**-24 - test__truncsfhf2(0x387fc000, 0x03ff); // denormal (max), 2**-14 - 2**-24 - test__truncsfhf2(0xb87fc000, 0x83ff); // denormal (max), -2**-14 + 2**-24 + try test__truncsfhf2(0x387fc000, 0x03ff); // denormal (max), 2**-14 - 2**-24 + try test__truncsfhf2(0xb87fc000, 0x83ff); // denormal (max), -2**-14 + 2**-24 - test__truncsfhf2(0x35800000, 0x0010); // denormal, 0x1.0p-20 - test__truncsfhf2(0x33280000, 0x0001); // denormal, 0x1.5p-25 -> 0x1.0p-24 - test__truncsfhf2(0x33000000, 0x0000); // 0x1.0p-25 -> zero + try test__truncsfhf2(0x35800000, 0x0010); // denormal, 0x1.0p-20 + try test__truncsfhf2(0x33280000, 0x0001); // denormal, 0x1.5p-25 -> 0x1.0p-24 + try test__truncsfhf2(0x33000000, 0x0000); // 0x1.0p-25 -> zero } const __truncdfhf2 = @import("truncXfYf2.zig").__truncdfhf2; diff --git a/lib/std/special/compiler_rt/udivmoddi4_test.zig b/lib/std/special/compiler_rt/udivmoddi4_test.zig index e652afa316..edc07bc1db 100644 --- a/lib/std/special/compiler_rt/udivmoddi4_test.zig +++ b/lib/std/special/compiler_rt/udivmoddi4_test.zig @@ -8,7 +8,7 @@ const __udivmoddi4 = @import("int.zig").__udivmoddi4; const testing = @import("std").testing; -fn test__udivmoddi4(a: u64, b: u64, expected_q: u64, expected_r: u64) void { +fn test__udivmoddi4(a: u64, b: u64, expected_q: u64, expected_r: u64) !void { var r: u64 = undefined; const q = __udivmoddi4(a, b, &r); try testing.expect(q == expected_q); @@ -17,7 +17,7 @@ fn test__udivmoddi4(a: u64, b: u64, expected_q: u64, expected_r: u64) void { test "udivmoddi4" { for (cases) |case| { - test__udivmoddi4(case[0], case[1], case[2], case[3]); + try test__udivmoddi4(case[0], case[1], case[2], case[3]); } } diff --git a/lib/std/special/compiler_rt/udivmodti4_test.zig b/lib/std/special/compiler_rt/udivmodti4_test.zig index 2ada7eda09..5d39470f53 100644 --- a/lib/std/special/compiler_rt/udivmodti4_test.zig +++ b/lib/std/special/compiler_rt/udivmodti4_test.zig @@ -8,7 +8,7 @@ const __udivmodti4 = @import("udivmodti4.zig").__udivmodti4; const testing = @import("std").testing; -fn test__udivmodti4(a: u128, b: u128, expected_q: u128, expected_r: u128) void { +fn test__udivmodti4(a: u128, b: u128, expected_q: u128, expected_r: u128) !void { var r: u128 = undefined; const q = __udivmodti4(a, b, &r); try testing.expect(q == expected_q); @@ -17,7 +17,7 @@ fn test__udivmodti4(a: u128, b: u128, expected_q: u128, expected_r: u128) void { test "udivmodti4" { for (cases) |case| { - test__udivmodti4(case[0], case[1], case[2], case[3]); + try test__udivmodti4(case[0], case[1], case[2], case[3]); } }