master
1const testing = @import("std").testing;
2
3const __absvdi2 = @import("absvdi2.zig").__absvdi2;
4
5fn test__absvdi2(a: i64, expected: i64) !void {
6 const result = __absvdi2(a);
7 try testing.expectEqual(expected, result);
8}
9
10test "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}