absvdi2_test.zig (1216B) - Raw
1 const testing = @import("std").testing; 2 3 const __absvdi2 = @import("absvdi2.zig").__absvdi2; 4 5 fn test__absvdi2(a: i64, expected: i64) !void { 6 const result = __absvdi2(a); 7 try testing.expectEqual(expected, result); 8 } 9 10 test "absvdi2" { 11 // -2^63 <= i64 <= 2^63-1 12 // 2^63 = 9223372036854775808 13 // 2^63-1 = 9223372036854775807 14 // TODO write panic handler for testing panics 15 //try test__absvdi2(-9223372036854775808, -5); // tested with return -5; and panic 16 try test__absvdi2(-9223372036854775807, 9223372036854775807); 17 try test__absvdi2(-9223372036854775806, 9223372036854775806); 18 try test__absvdi2(-9223372036854775805, 9223372036854775805); 19 try test__absvdi2(-9223372036854775804, 9223372036854775804); 20 try test__absvdi2(-42, 42); 21 try test__absvdi2(-7, 7); 22 try test__absvdi2(-1, 1); 23 try test__absvdi2(0, 0); 24 try test__absvdi2(1, 1); 25 try test__absvdi2(7, 7); 26 try test__absvdi2(42, 42); 27 try test__absvdi2(9223372036854775804, 9223372036854775804); 28 try test__absvdi2(9223372036854775805, 9223372036854775805); 29 try test__absvdi2(9223372036854775806, 9223372036854775806); 30 try test__absvdi2(9223372036854775807, 9223372036854775807); 31 }