aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2025-01-30 22:06:18 -0500
committerJacob Young <jacobly0@users.noreply.github.com>2025-01-31 23:09:36 -0500
commitf0ac14ce97c4fa7f10ddd0d74a6dfade0a04cbc1 (patch)
tree62c0e3cfebfb19f775063ba354e2870b7c282e34 /test
parentb9531f5de6a36d016a551be68080a314b90eb154 (diff)
downloadzig-f0ac14ce97c4fa7f10ddd0d74a6dfade0a04cbc1.tar.gz
zig-f0ac14ce97c4fa7f10ddd0d74a6dfade0a04cbc1.zip
x86_64: rewrite scalar `@intCast`
Diffstat (limited to 'test')
-rw-r--r--test/behavior/x86_64/math.zig3935
1 files changed, 1544 insertions, 2391 deletions
diff --git a/test/behavior/x86_64/math.zig b/test/behavior/x86_64/math.zig
index 4642f822a3..9cc957614c 100644
--- a/test/behavior/x86_64/math.zig
+++ b/test/behavior/x86_64/math.zig
@@ -1680,165 +1680,85 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
imm_arg,
);
}
- fn testInts() !void {
+ fn testSameSignednessInts() !void {
try testArgs(i8, i1, -1);
try testArgs(i8, i1, 0);
- try testArgs(u8, i1, -1);
- try testArgs(u8, i1, 0);
try testArgs(i16, i1, -1);
try testArgs(i16, i1, 0);
- try testArgs(u16, i1, -1);
- try testArgs(u16, i1, 0);
try testArgs(i32, i1, -1);
try testArgs(i32, i1, 0);
- try testArgs(u32, i1, -1);
- try testArgs(u32, i1, 0);
try testArgs(i64, i1, -1);
try testArgs(i64, i1, 0);
- try testArgs(u64, i1, -1);
- try testArgs(u64, i1, 0);
try testArgs(i128, i1, -1);
try testArgs(i128, i1, 0);
- try testArgs(u128, i1, -1);
- try testArgs(u128, i1, 0);
try testArgs(i256, i1, -1);
try testArgs(i256, i1, 0);
- try testArgs(u256, i1, -1);
- try testArgs(u256, i1, 0);
try testArgs(i512, i1, -1);
try testArgs(i512, i1, 0);
- try testArgs(u512, i1, -1);
- try testArgs(u512, i1, 0);
try testArgs(i1024, i1, -1);
try testArgs(i1024, i1, 0);
- try testArgs(u1024, i1, -1);
- try testArgs(u1024, i1, 0);
- try testArgs(i8, u1, 0);
- try testArgs(i8, u1, 1 << 0);
try testArgs(u8, u1, 0);
try testArgs(u8, u1, 1 << 0);
- try testArgs(i16, u1, 0);
- try testArgs(i16, u1, 1 << 0);
try testArgs(u16, u1, 0);
try testArgs(u16, u1, 1 << 0);
- try testArgs(i32, u1, 0);
- try testArgs(i32, u1, 1 << 0);
try testArgs(u32, u1, 0);
try testArgs(u32, u1, 1 << 0);
- try testArgs(i64, u1, 0);
- try testArgs(i64, u1, 1 << 0);
try testArgs(u64, u1, 0);
try testArgs(u64, u1, 1 << 0);
- try testArgs(i128, u1, 0);
- try testArgs(i128, u1, 1 << 0);
try testArgs(u128, u1, 0);
try testArgs(u128, u1, 1 << 0);
- try testArgs(i256, u1, 0);
- try testArgs(i256, u1, 1 << 0);
try testArgs(u256, u1, 0);
try testArgs(u256, u1, 1 << 0);
- try testArgs(i512, u1, 0);
- try testArgs(i512, u1, 1 << 0);
try testArgs(u512, u1, 0);
try testArgs(u512, u1, 1 << 0);
- try testArgs(i1024, u1, 0);
- try testArgs(i1024, u1, 1 << 0);
try testArgs(u1024, u1, 0);
try testArgs(u1024, u1, 1 << 0);
try testArgs(i8, i2, -1 << 1);
try testArgs(i8, i2, -1);
try testArgs(i8, i2, 0);
- try testArgs(u8, i2, -1 << 1);
- try testArgs(u8, i2, -1);
- try testArgs(u8, i2, 0);
try testArgs(i16, i2, -1 << 1);
try testArgs(i16, i2, -1);
try testArgs(i16, i2, 0);
- try testArgs(u16, i2, -1 << 1);
- try testArgs(u16, i2, -1);
- try testArgs(u16, i2, 0);
try testArgs(i32, i2, -1 << 1);
try testArgs(i32, i2, -1);
try testArgs(i32, i2, 0);
- try testArgs(u32, i2, -1 << 1);
- try testArgs(u32, i2, -1);
- try testArgs(u32, i2, 0);
try testArgs(i64, i2, -1 << 1);
try testArgs(i64, i2, -1);
try testArgs(i64, i2, 0);
- try testArgs(u64, i2, -1 << 1);
- try testArgs(u64, i2, -1);
- try testArgs(u64, i2, 0);
try testArgs(i128, i2, -1 << 1);
try testArgs(i128, i2, -1);
try testArgs(i128, i2, 0);
- try testArgs(u128, i2, -1 << 1);
- try testArgs(u128, i2, -1);
- try testArgs(u128, i2, 0);
try testArgs(i256, i2, -1 << 1);
try testArgs(i256, i2, -1);
try testArgs(i256, i2, 0);
- try testArgs(u256, i2, -1 << 1);
- try testArgs(u256, i2, -1);
- try testArgs(u256, i2, 0);
try testArgs(i512, i2, -1 << 1);
try testArgs(i512, i2, -1);
try testArgs(i512, i2, 0);
- try testArgs(u512, i2, -1 << 1);
- try testArgs(u512, i2, -1);
- try testArgs(u512, i2, 0);
try testArgs(i1024, i2, -1 << 1);
try testArgs(i1024, i2, -1);
try testArgs(i1024, i2, 0);
- try testArgs(u1024, i2, -1 << 1);
- try testArgs(u1024, i2, -1);
- try testArgs(u1024, i2, 0);
- try testArgs(i8, u2, 0);
- try testArgs(i8, u2, 1 << 0);
- try testArgs(i8, u2, 1 << 1);
try testArgs(u8, u2, 0);
try testArgs(u8, u2, 1 << 0);
try testArgs(u8, u2, 1 << 1);
- try testArgs(i16, u2, 0);
- try testArgs(i16, u2, 1 << 0);
- try testArgs(i16, u2, 1 << 1);
try testArgs(u16, u2, 0);
try testArgs(u16, u2, 1 << 0);
try testArgs(u16, u2, 1 << 1);
- try testArgs(i32, u2, 0);
- try testArgs(i32, u2, 1 << 0);
- try testArgs(i32, u2, 1 << 1);
try testArgs(u32, u2, 0);
try testArgs(u32, u2, 1 << 0);
try testArgs(u32, u2, 1 << 1);
- try testArgs(i64, u2, 0);
- try testArgs(i64, u2, 1 << 0);
- try testArgs(i64, u2, 1 << 1);
try testArgs(u64, u2, 0);
try testArgs(u64, u2, 1 << 0);
try testArgs(u64, u2, 1 << 1);
- try testArgs(i128, u2, 0);
- try testArgs(i128, u2, 1 << 0);
- try testArgs(i128, u2, 1 << 1);
try testArgs(u128, u2, 0);
try testArgs(u128, u2, 1 << 0);
try testArgs(u128, u2, 1 << 1);
- try testArgs(i256, u2, 0);
- try testArgs(i256, u2, 1 << 0);
- try testArgs(i256, u2, 1 << 1);
try testArgs(u256, u2, 0);
try testArgs(u256, u2, 1 << 0);
try testArgs(u256, u2, 1 << 1);
- try testArgs(i512, u2, 0);
- try testArgs(i512, u2, 1 << 0);
- try testArgs(i512, u2, 1 << 1);
try testArgs(u512, u2, 0);
try testArgs(u512, u2, 1 << 0);
try testArgs(u512, u2, 1 << 1);
- try testArgs(i1024, u2, 0);
- try testArgs(i1024, u2, 1 << 0);
- try testArgs(i1024, u2, 1 << 1);
try testArgs(u1024, u2, 0);
try testArgs(u1024, u2, 1 << 0);
try testArgs(u1024, u2, 1 << 1);
@@ -1846,96 +1766,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
try testArgs(i8, i3, -1 << 2);
try testArgs(i8, i3, -1);
try testArgs(i8, i3, 0);
- try testArgs(u8, i3, -1 << 2);
- try testArgs(u8, i3, -1);
- try testArgs(u8, i3, 0);
try testArgs(i16, i3, -1 << 2);
try testArgs(i16, i3, -1);
try testArgs(i16, i3, 0);
- try testArgs(u16, i3, -1 << 2);
- try testArgs(u16, i3, -1);
- try testArgs(u16, i3, 0);
try testArgs(i32, i3, -1 << 2);
try testArgs(i32, i3, -1);
try testArgs(i32, i3, 0);
- try testArgs(u32, i3, -1 << 2);
- try testArgs(u32, i3, -1);
- try testArgs(u32, i3, 0);
try testArgs(i64, i3, -1 << 2);
try testArgs(i64, i3, -1);
try testArgs(i64, i3, 0);
- try testArgs(u64, i3, -1 << 2);
- try testArgs(u64, i3, -1);
- try testArgs(u64, i3, 0);
try testArgs(i128, i3, -1 << 2);
try testArgs(i128, i3, -1);
try testArgs(i128, i3, 0);
- try testArgs(u128, i3, -1 << 2);
- try testArgs(u128, i3, -1);
- try testArgs(u128, i3, 0);
try testArgs(i256, i3, -1 << 2);
try testArgs(i256, i3, -1);
try testArgs(i256, i3, 0);
- try testArgs(u256, i3, -1 << 2);
- try testArgs(u256, i3, -1);
- try testArgs(u256, i3, 0);
try testArgs(i512, i3, -1 << 2);
try testArgs(i512, i3, -1);
try testArgs(i512, i3, 0);
- try testArgs(u512, i3, -1 << 2);
- try testArgs(u512, i3, -1);
- try testArgs(u512, i3, 0);
try testArgs(i1024, i3, -1 << 2);
try testArgs(i1024, i3, -1);
try testArgs(i1024, i3, 0);
- try testArgs(u1024, i3, -1 << 2);
- try testArgs(u1024, i3, -1);
- try testArgs(u1024, i3, 0);
- try testArgs(i8, u3, 0);
- try testArgs(i8, u3, 1 << 0);
- try testArgs(i8, u3, 1 << 2);
try testArgs(u8, u3, 0);
try testArgs(u8, u3, 1 << 0);
try testArgs(u8, u3, 1 << 2);
- try testArgs(i16, u3, 0);
- try testArgs(i16, u3, 1 << 0);
- try testArgs(i16, u3, 1 << 2);
try testArgs(u16, u3, 0);
try testArgs(u16, u3, 1 << 0);
try testArgs(u16, u3, 1 << 2);
- try testArgs(i32, u3, 0);
- try testArgs(i32, u3, 1 << 0);
- try testArgs(i32, u3, 1 << 2);
try testArgs(u32, u3, 0);
try testArgs(u32, u3, 1 << 0);
try testArgs(u32, u3, 1 << 2);
- try testArgs(i64, u3, 0);
- try testArgs(i64, u3, 1 << 0);
- try testArgs(i64, u3, 1 << 2);
try testArgs(u64, u3, 0);
try testArgs(u64, u3, 1 << 0);
try testArgs(u64, u3, 1 << 2);
- try testArgs(i128, u3, 0);
- try testArgs(i128, u3, 1 << 0);
- try testArgs(i128, u3, 1 << 2);
try testArgs(u128, u3, 0);
try testArgs(u128, u3, 1 << 0);
try testArgs(u128, u3, 1 << 2);
- try testArgs(i256, u3, 0);
- try testArgs(i256, u3, 1 << 0);
- try testArgs(i256, u3, 1 << 2);
try testArgs(u256, u3, 0);
try testArgs(u256, u3, 1 << 0);
try testArgs(u256, u3, 1 << 2);
- try testArgs(i512, u3, 0);
- try testArgs(i512, u3, 1 << 0);
- try testArgs(i512, u3, 1 << 2);
try testArgs(u512, u3, 0);
try testArgs(u512, u3, 1 << 0);
try testArgs(u512, u3, 1 << 2);
- try testArgs(i1024, u3, 0);
- try testArgs(i1024, u3, 1 << 0);
- try testArgs(i1024, u3, 1 << 2);
try testArgs(u1024, u3, 0);
try testArgs(u1024, u3, 1 << 0);
try testArgs(u1024, u3, 1 << 2);
@@ -1943,96 +1815,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
try testArgs(i8, i4, -1 << 3);
try testArgs(i8, i4, -1);
try testArgs(i8, i4, 0);
- try testArgs(u8, i4, -1 << 3);
- try testArgs(u8, i4, -1);
- try testArgs(u8, i4, 0);
try testArgs(i16, i4, -1 << 3);
try testArgs(i16, i4, -1);
try testArgs(i16, i4, 0);
- try testArgs(u16, i4, -1 << 3);
- try testArgs(u16, i4, -1);
- try testArgs(u16, i4, 0);
try testArgs(i32, i4, -1 << 3);
try testArgs(i32, i4, -1);
try testArgs(i32, i4, 0);
- try testArgs(u32, i4, -1 << 3);
- try testArgs(u32, i4, -1);
- try testArgs(u32, i4, 0);
try testArgs(i64, i4, -1 << 3);
try testArgs(i64, i4, -1);
try testArgs(i64, i4, 0);
- try testArgs(u64, i4, -1 << 3);
- try testArgs(u64, i4, -1);
- try testArgs(u64, i4, 0);
try testArgs(i128, i4, -1 << 3);
try testArgs(i128, i4, -1);
try testArgs(i128, i4, 0);
- try testArgs(u128, i4, -1 << 3);
- try testArgs(u128, i4, -1);
- try testArgs(u128, i4, 0);
try testArgs(i256, i4, -1 << 3);
try testArgs(i256, i4, -1);
try testArgs(i256, i4, 0);
- try testArgs(u256, i4, -1 << 3);
- try testArgs(u256, i4, -1);
- try testArgs(u256, i4, 0);
try testArgs(i512, i4, -1 << 3);
try testArgs(i512, i4, -1);
try testArgs(i512, i4, 0);
- try testArgs(u512, i4, -1 << 3);
- try testArgs(u512, i4, -1);
- try testArgs(u512, i4, 0);
try testArgs(i1024, i4, -1 << 3);
try testArgs(i1024, i4, -1);
try testArgs(i1024, i4, 0);
- try testArgs(u1024, i4, -1 << 3);
- try testArgs(u1024, i4, -1);
- try testArgs(u1024, i4, 0);
- try testArgs(i8, u4, 0);
- try testArgs(i8, u4, 1 << 0);
- try testArgs(i8, u4, 1 << 3);
try testArgs(u8, u4, 0);
try testArgs(u8, u4, 1 << 0);
try testArgs(u8, u4, 1 << 3);
- try testArgs(i16, u4, 0);
- try testArgs(i16, u4, 1 << 0);
- try testArgs(i16, u4, 1 << 3);
try testArgs(u16, u4, 0);
try testArgs(u16, u4, 1 << 0);
try testArgs(u16, u4, 1 << 3);
- try testArgs(i32, u4, 0);
- try testArgs(i32, u4, 1 << 0);
- try testArgs(i32, u4, 1 << 3);
try testArgs(u32, u4, 0);
try testArgs(u32, u4, 1 << 0);
try testArgs(u32, u4, 1 << 3);
- try testArgs(i64, u4, 0);
- try testArgs(i64, u4, 1 << 0);
- try testArgs(i64, u4, 1 << 3);
try testArgs(u64, u4, 0);
try testArgs(u64, u4, 1 << 0);
try testArgs(u64, u4, 1 << 3);
- try testArgs(i128, u4, 0);
- try testArgs(i128, u4, 1 << 0);
- try testArgs(i128, u4, 1 << 3);
try testArgs(u128, u4, 0);
try testArgs(u128, u4, 1 << 0);
try testArgs(u128, u4, 1 << 3);
- try testArgs(i256, u4, 0);
- try testArgs(i256, u4, 1 << 0);
- try testArgs(i256, u4, 1 << 3);
try testArgs(u256, u4, 0);
try testArgs(u256, u4, 1 << 0);
try testArgs(u256, u4, 1 << 3);
- try testArgs(i512, u4, 0);
- try testArgs(i512, u4, 1 << 0);
- try testArgs(i512, u4, 1 << 3);
try testArgs(u512, u4, 0);
try testArgs(u512, u4, 1 << 0);
try testArgs(u512, u4, 1 << 3);
- try testArgs(i1024, u4, 0);
- try testArgs(i1024, u4, 1 << 0);
- try testArgs(i1024, u4, 1 << 3);
try testArgs(u1024, u4, 0);
try testArgs(u1024, u4, 1 << 0);
try testArgs(u1024, u4, 1 << 3);
@@ -2040,96 +1864,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
try testArgs(i8, i5, -1 << 4);
try testArgs(i8, i5, -1);
try testArgs(i8, i5, 0);
- try testArgs(u8, i5, -1 << 4);
- try testArgs(u8, i5, -1);
- try testArgs(u8, i5, 0);
try testArgs(i16, i5, -1 << 4);
try testArgs(i16, i5, -1);
try testArgs(i16, i5, 0);
- try testArgs(u16, i5, -1 << 4);
- try testArgs(u16, i5, -1);
- try testArgs(u16, i5, 0);
try testArgs(i32, i5, -1 << 4);
try testArgs(i32, i5, -1);
try testArgs(i32, i5, 0);
- try testArgs(u32, i5, -1 << 4);
- try testArgs(u32, i5, -1);
- try testArgs(u32, i5, 0);
try testArgs(i64, i5, -1 << 4);
try testArgs(i64, i5, -1);
try testArgs(i64, i5, 0);
- try testArgs(u64, i5, -1 << 4);
- try testArgs(u64, i5, -1);
- try testArgs(u64, i5, 0);
try testArgs(i128, i5, -1 << 4);
try testArgs(i128, i5, -1);
try testArgs(i128, i5, 0);
- try testArgs(u128, i5, -1 << 4);
- try testArgs(u128, i5, -1);
- try testArgs(u128, i5, 0);
try testArgs(i256, i5, -1 << 4);
try testArgs(i256, i5, -1);
try testArgs(i256, i5, 0);
- try testArgs(u256, i5, -1 << 4);
- try testArgs(u256, i5, -1);
- try testArgs(u256, i5, 0);
try testArgs(i512, i5, -1 << 4);
try testArgs(i512, i5, -1);
try testArgs(i512, i5, 0);
- try testArgs(u512, i5, -1 << 4);
- try testArgs(u512, i5, -1);
- try testArgs(u512, i5, 0);
try testArgs(i1024, i5, -1 << 4);
try testArgs(i1024, i5, -1);
try testArgs(i1024, i5, 0);
- try testArgs(u1024, i5, -1 << 4);
- try testArgs(u1024, i5, -1);
- try testArgs(u1024, i5, 0);
- try testArgs(i8, u5, 0);
- try testArgs(i8, u5, 1 << 0);
- try testArgs(i8, u5, 1 << 4);
try testArgs(u8, u5, 0);
try testArgs(u8, u5, 1 << 0);
try testArgs(u8, u5, 1 << 4);
- try testArgs(i16, u5, 0);
- try testArgs(i16, u5, 1 << 0);
- try testArgs(i16, u5, 1 << 4);
try testArgs(u16, u5, 0);
try testArgs(u16, u5, 1 << 0);
try testArgs(u16, u5, 1 << 4);
- try testArgs(i32, u5, 0);
- try testArgs(i32, u5, 1 << 0);
- try testArgs(i32, u5, 1 << 4);
try testArgs(u32, u5, 0);
try testArgs(u32, u5, 1 << 0);
try testArgs(u32, u5, 1 << 4);
- try testArgs(i64, u5, 0);
- try testArgs(i64, u5, 1 << 0);
- try testArgs(i64, u5, 1 << 4);
try testArgs(u64, u5, 0);
try testArgs(u64, u5, 1 << 0);
try testArgs(u64, u5, 1 << 4);
- try testArgs(i128, u5, 0);
- try testArgs(i128, u5, 1 << 0);
- try testArgs(i128, u5, 1 << 4);
try testArgs(u128, u5, 0);
try testArgs(u128, u5, 1 << 0);
try testArgs(u128, u5, 1 << 4);
- try testArgs(i256, u5, 0);
- try testArgs(i256, u5, 1 << 0);
- try testArgs(i256, u5, 1 << 4);
try testArgs(u256, u5, 0);
try testArgs(u256, u5, 1 << 0);
try testArgs(u256, u5, 1 << 4);
- try testArgs(i512, u5, 0);
- try testArgs(i512, u5, 1 << 0);
- try testArgs(i512, u5, 1 << 4);
try testArgs(u512, u5, 0);
try testArgs(u512, u5, 1 << 0);
try testArgs(u512, u5, 1 << 4);
- try testArgs(i1024, u5, 0);
- try testArgs(i1024, u5, 1 << 0);
- try testArgs(i1024, u5, 1 << 4);
try testArgs(u1024, u5, 0);
try testArgs(u1024, u5, 1 << 0);
try testArgs(u1024, u5, 1 << 4);
@@ -2137,96 +1913,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
try testArgs(i8, i7, -1 << 6);
try testArgs(i8, i7, -1);
try testArgs(i8, i7, 0);
- try testArgs(u8, i7, -1 << 6);
- try testArgs(u8, i7, -1);
- try testArgs(u8, i7, 0);
try testArgs(i16, i7, -1 << 6);
try testArgs(i16, i7, -1);
try testArgs(i16, i7, 0);
- try testArgs(u16, i7, -1 << 6);
- try testArgs(u16, i7, -1);
- try testArgs(u16, i7, 0);
try testArgs(i32, i7, -1 << 6);
try testArgs(i32, i7, -1);
try testArgs(i32, i7, 0);
- try testArgs(u32, i7, -1 << 6);
- try testArgs(u32, i7, -1);
- try testArgs(u32, i7, 0);
try testArgs(i64, i7, -1 << 6);
try testArgs(i64, i7, -1);
try testArgs(i64, i7, 0);
- try testArgs(u64, i7, -1 << 6);
- try testArgs(u64, i7, -1);
- try testArgs(u64, i7, 0);
try testArgs(i128, i7, -1 << 6);
try testArgs(i128, i7, -1);
try testArgs(i128, i7, 0);
- try testArgs(u128, i7, -1 << 6);
- try testArgs(u128, i7, -1);
- try testArgs(u128, i7, 0);
try testArgs(i256, i7, -1 << 6);
try testArgs(i256, i7, -1);
try testArgs(i256, i7, 0);
- try testArgs(u256, i7, -1 << 6);
- try testArgs(u256, i7, -1);
- try testArgs(u256, i7, 0);
try testArgs(i512, i7, -1 << 6);
try testArgs(i512, i7, -1);
try testArgs(i512, i7, 0);
- try testArgs(u512, i7, -1 << 6);
- try testArgs(u512, i7, -1);
- try testArgs(u512, i7, 0);
try testArgs(i1024, i7, -1 << 6);
try testArgs(i1024, i7, -1);
try testArgs(i1024, i7, 0);
- try testArgs(u1024, i7, -1 << 6);
- try testArgs(u1024, i7, -1);
- try testArgs(u1024, i7, 0);
- try testArgs(i8, u7, 0);
- try testArgs(i8, u7, 1 << 0);
- try testArgs(i8, u7, 1 << 6);
try testArgs(u8, u7, 0);
try testArgs(u8, u7, 1 << 0);
try testArgs(u8, u7, 1 << 6);
- try testArgs(i16, u7, 0);
- try testArgs(i16, u7, 1 << 0);
- try testArgs(i16, u7, 1 << 6);
try testArgs(u16, u7, 0);
try testArgs(u16, u7, 1 << 0);
try testArgs(u16, u7, 1 << 6);
- try testArgs(i32, u7, 0);
- try testArgs(i32, u7, 1 << 0);
- try testArgs(i32, u7, 1 << 6);
try testArgs(u32, u7, 0);
try testArgs(u32, u7, 1 << 0);
try testArgs(u32, u7, 1 << 6);
- try testArgs(i64, u7, 0);
- try testArgs(i64, u7, 1 << 0);
- try testArgs(i64, u7, 1 << 6);
try testArgs(u64, u7, 0);
try testArgs(u64, u7, 1 << 0);
try testArgs(u64, u7, 1 << 6);
- try testArgs(i128, u7, 0);
- try testArgs(i128, u7, 1 << 0);
- try testArgs(i128, u7, 1 << 6);
try testArgs(u128, u7, 0);
try testArgs(u128, u7, 1 << 0);
try testArgs(u128, u7, 1 << 6);
- try testArgs(i256, u7, 0);
- try testArgs(i256, u7, 1 << 0);
- try testArgs(i256, u7, 1 << 6);
try testArgs(u256, u7, 0);
try testArgs(u256, u7, 1 << 0);
try testArgs(u256, u7, 1 << 6);
- try testArgs(i512, u7, 0);
- try testArgs(i512, u7, 1 << 0);
- try testArgs(i512, u7, 1 << 6);
try testArgs(u512, u7, 0);
try testArgs(u512, u7, 1 << 0);
try testArgs(u512, u7, 1 << 6);
- try testArgs(i1024, u7, 0);
- try testArgs(i1024, u7, 1 << 0);
- try testArgs(i1024, u7, 1 << 6);
try testArgs(u1024, u7, 0);
try testArgs(u1024, u7, 1 << 0);
try testArgs(u1024, u7, 1 << 6);
@@ -2234,96 +1962,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
try testArgs(i8, i8, -1 << 7);
try testArgs(i8, i8, -1);
try testArgs(i8, i8, 0);
- try testArgs(u8, i8, -1 << 7);
- try testArgs(u8, i8, -1);
- try testArgs(u8, i8, 0);
try testArgs(i16, i8, -1 << 7);
try testArgs(i16, i8, -1);
try testArgs(i16, i8, 0);
- try testArgs(u16, i8, -1 << 7);
- try testArgs(u16, i8, -1);
- try testArgs(u16, i8, 0);
try testArgs(i32, i8, -1 << 7);
try testArgs(i32, i8, -1);
try testArgs(i32, i8, 0);
- try testArgs(u32, i8, -1 << 7);
- try testArgs(u32, i8, -1);
- try testArgs(u32, i8, 0);
try testArgs(i64, i8, -1 << 7);
try testArgs(i64, i8, -1);
try testArgs(i64, i8, 0);
- try testArgs(u64, i8, -1 << 7);
- try testArgs(u64, i8, -1);
- try testArgs(u64, i8, 0);
try testArgs(i128, i8, -1 << 7);
try testArgs(i128, i8, -1);
try testArgs(i128, i8, 0);
- try testArgs(u128, i8, -1 << 7);
- try testArgs(u128, i8, -1);
- try testArgs(u128, i8, 0);
try testArgs(i256, i8, -1 << 7);
try testArgs(i256, i8, -1);
try testArgs(i256, i8, 0);
- try testArgs(u256, i8, -1 << 7);
- try testArgs(u256, i8, -1);
- try testArgs(u256, i8, 0);
try testArgs(i512, i8, -1 << 7);
try testArgs(i512, i8, -1);
try testArgs(i512, i8, 0);
- try testArgs(u512, i8, -1 << 7);
- try testArgs(u512, i8, -1);
- try testArgs(u512, i8, 0);
try testArgs(i1024, i8, -1 << 7);
try testArgs(i1024, i8, -1);
try testArgs(i1024, i8, 0);
- try testArgs(u1024, i8, -1 << 7);
- try testArgs(u1024, i8, -1);
- try testArgs(u1024, i8, 0);
- try testArgs(i8, u8, 0);
- try testArgs(i8, u8, 1 << 0);
- try testArgs(i8, u8, 1 << 7);
try testArgs(u8, u8, 0);
try testArgs(u8, u8, 1 << 0);
try testArgs(u8, u8, 1 << 7);
- try testArgs(i16, u8, 0);
- try testArgs(i16, u8, 1 << 0);
- try testArgs(i16, u8, 1 << 7);
try testArgs(u16, u8, 0);
try testArgs(u16, u8, 1 << 0);
try testArgs(u16, u8, 1 << 7);
- try testArgs(i32, u8, 0);
- try testArgs(i32, u8, 1 << 0);
- try testArgs(i32, u8, 1 << 7);
try testArgs(u32, u8, 0);
try testArgs(u32, u8, 1 << 0);
try testArgs(u32, u8, 1 << 7);
- try testArgs(i64, u8, 0);
- try testArgs(i64, u8, 1 << 0);
- try testArgs(i64, u8, 1 << 7);
try testArgs(u64, u8, 0);
try testArgs(u64, u8, 1 << 0);
try testArgs(u64, u8, 1 << 7);
- try testArgs(i128, u8, 0);
- try testArgs(i128, u8, 1 << 0);
- try testArgs(i128, u8, 1 << 7);
try testArgs(u128, u8, 0);
try testArgs(u128, u8, 1 << 0);
try testArgs(u128, u8, 1 << 7);
- try testArgs(i256, u8, 0);
- try testArgs(i256, u8, 1 << 0);
- try testArgs(i256, u8, 1 << 7);
try testArgs(u256, u8, 0);
try testArgs(u256, u8, 1 << 0);
try testArgs(u256, u8, 1 << 7);
- try testArgs(i512, u8, 0);
- try testArgs(i512, u8, 1 << 0);
- try testArgs(i512, u8, 1 << 7);
try testArgs(u512, u8, 0);
try testArgs(u512, u8, 1 << 0);
try testArgs(u512, u8, 1 << 7);
- try testArgs(i1024, u8, 0);
- try testArgs(i1024, u8, 1 << 0);
- try testArgs(i1024, u8, 1 << 7);
try testArgs(u1024, u8, 0);
try testArgs(u1024, u8, 1 << 0);
try testArgs(u1024, u8, 1 << 7);
@@ -2331,96 +2011,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
try testArgs(i8, i9, -1 << 8);
try testArgs(i8, i9, -1);
try testArgs(i8, i9, 0);
- try testArgs(u8, i9, -1 << 8);
- try testArgs(u8, i9, -1);
- try testArgs(u8, i9, 0);
try testArgs(i16, i9, -1 << 8);
try testArgs(i16, i9, -1);
try testArgs(i16, i9, 0);
- try testArgs(u16, i9, -1 << 8);
- try testArgs(u16, i9, -1);
- try testArgs(u16, i9, 0);
try testArgs(i32, i9, -1 << 8);
try testArgs(i32, i9, -1);
try testArgs(i32, i9, 0);
- try testArgs(u32, i9, -1 << 8);
- try testArgs(u32, i9, -1);
- try testArgs(u32, i9, 0);
try testArgs(i64, i9, -1 << 8);
try testArgs(i64, i9, -1);
try testArgs(i64, i9, 0);
- try testArgs(u64, i9, -1 << 8);
- try testArgs(u64, i9, -1);
- try testArgs(u64, i9, 0);
try testArgs(i128, i9, -1 << 8);
try testArgs(i128, i9, -1);
try testArgs(i128, i9, 0);
- try testArgs(u128, i9, -1 << 8);
- try testArgs(u128, i9, -1);
- try testArgs(u128, i9, 0);
try testArgs(i256, i9, -1 << 8);
try testArgs(i256, i9, -1);
try testArgs(i256, i9, 0);
- try testArgs(u256, i9, -1 << 8);
- try testArgs(u256, i9, -1);
- try testArgs(u256, i9, 0);
try testArgs(i512, i9, -1 << 8);
try testArgs(i512, i9, -1);
try testArgs(i512, i9, 0);
- try testArgs(u512, i9, -1 << 8);
- try testArgs(u512, i9, -1);
- try testArgs(u512, i9, 0);
try testArgs(i1024, i9, -1 << 8);
try testArgs(i1024, i9, -1);
try testArgs(i1024, i9, 0);
- try testArgs(u1024, i9, -1 << 8);
- try testArgs(u1024, i9, -1);
- try testArgs(u1024, i9, 0);
- try testArgs(i8, u9, 0);
- try testArgs(i8, u9, 1 << 0);
- try testArgs(i8, u9, 1 << 8);
try testArgs(u8, u9, 0);
try testArgs(u8, u9, 1 << 0);
try testArgs(u8, u9, 1 << 8);
- try testArgs(i16, u9, 0);
- try testArgs(i16, u9, 1 << 0);
- try testArgs(i16, u9, 1 << 8);
try testArgs(u16, u9, 0);
try testArgs(u16, u9, 1 << 0);
try testArgs(u16, u9, 1 << 8);
- try testArgs(i32, u9, 0);
- try testArgs(i32, u9, 1 << 0);
- try testArgs(i32, u9, 1 << 8);
try testArgs(u32, u9, 0);
try testArgs(u32, u9, 1 << 0);
try testArgs(u32, u9, 1 << 8);
- try testArgs(i64, u9, 0);
- try testArgs(i64, u9, 1 << 0);
- try testArgs(i64, u9, 1 << 8);
try testArgs(u64, u9, 0);
try testArgs(u64, u9, 1 << 0);
try testArgs(u64, u9, 1 << 8);
- try testArgs(i128, u9, 0);
- try testArgs(i128, u9, 1 << 0);
- try testArgs(i128, u9, 1 << 8);
try testArgs(u128, u9, 0);
try testArgs(u128, u9, 1 << 0);
try testArgs(u128, u9, 1 << 8);
- try testArgs(i256, u9, 0);
- try testArgs(i256, u9, 1 << 0);
- try testArgs(i256, u9, 1 << 8);
try testArgs(u256, u9, 0);
try testArgs(u256, u9, 1 << 0);
try testArgs(u256, u9, 1 << 8);
- try testArgs(i512, u9, 0);
- try testArgs(i512, u9, 1 << 0);
- try testArgs(i512, u9, 1 << 8);
try testArgs(u512, u9, 0);
try testArgs(u512, u9, 1 << 0);
try testArgs(u512, u9, 1 << 8);
- try testArgs(i1024, u9, 0);
- try testArgs(i1024, u9, 1 << 0);
- try testArgs(i1024, u9, 1 << 8);
try testArgs(u1024, u9, 0);
try testArgs(u1024, u9, 1 << 0);
try testArgs(u1024, u9, 1 << 8);
@@ -2428,96 +2060,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
try testArgs(i8, i15, -1 << 14);
try testArgs(i8, i15, -1);
try testArgs(i8, i15, 0);
- try testArgs(u8, i15, -1 << 14);
- try testArgs(u8, i15, -1);
- try testArgs(u8, i15, 0);
try testArgs(i16, i15, -1 << 14);
try testArgs(i16, i15, -1);
try testArgs(i16, i15, 0);
- try testArgs(u16, i15, -1 << 14);
- try testArgs(u16, i15, -1);
- try testArgs(u16, i15, 0);
try testArgs(i32, i15, -1 << 14);
try testArgs(i32, i15, -1);
try testArgs(i32, i15, 0);
- try testArgs(u32, i15, -1 << 14);
- try testArgs(u32, i15, -1);
- try testArgs(u32, i15, 0);
try testArgs(i64, i15, -1 << 14);
try testArgs(i64, i15, -1);
try testArgs(i64, i15, 0);
- try testArgs(u64, i15, -1 << 14);
- try testArgs(u64, i15, -1);
- try testArgs(u64, i15, 0);
try testArgs(i128, i15, -1 << 14);
try testArgs(i128, i15, -1);
try testArgs(i128, i15, 0);
- try testArgs(u128, i15, -1 << 14);
- try testArgs(u128, i15, -1);
- try testArgs(u128, i15, 0);
try testArgs(i256, i15, -1 << 14);
try testArgs(i256, i15, -1);
try testArgs(i256, i15, 0);
- try testArgs(u256, i15, -1 << 14);
- try testArgs(u256, i15, -1);
- try testArgs(u256, i15, 0);
try testArgs(i512, i15, -1 << 14);
try testArgs(i512, i15, -1);
try testArgs(i512, i15, 0);
- try testArgs(u512, i15, -1 << 14);
- try testArgs(u512, i15, -1);
- try testArgs(u512, i15, 0);
try testArgs(i1024, i15, -1 << 14);
try testArgs(i1024, i15, -1);
try testArgs(i1024, i15, 0);
- try testArgs(u1024, i15, -1 << 14);
- try testArgs(u1024, i15, -1);
- try testArgs(u1024, i15, 0);
- try testArgs(i8, u15, 0);
- try testArgs(i8, u15, 1 << 0);
- try testArgs(i8, u15, 1 << 14);
try testArgs(u8, u15, 0);
try testArgs(u8, u15, 1 << 0);
try testArgs(u8, u15, 1 << 14);
- try testArgs(i16, u15, 0);
- try testArgs(i16, u15, 1 << 0);
- try testArgs(i16, u15, 1 << 14);
try testArgs(u16, u15, 0);
try testArgs(u16, u15, 1 << 0);
try testArgs(u16, u15, 1 << 14);
- try testArgs(i32, u15, 0);
- try testArgs(i32, u15, 1 << 0);
- try testArgs(i32, u15, 1 << 14);
try testArgs(u32, u15, 0);
try testArgs(u32, u15, 1 << 0);
try testArgs(u32, u15, 1 << 14);
- try testArgs(i64, u15, 0);
- try testArgs(i64, u15, 1 << 0);
- try testArgs(i64, u15, 1 << 14);
try testArgs(u64, u15, 0);
try testArgs(u64, u15, 1 << 0);
try testArgs(u64, u15, 1 << 14);
- try testArgs(i128, u15, 0);
- try testArgs(i128, u15, 1 << 0);
- try testArgs(i128, u15, 1 << 14);
try testArgs(u128, u15, 0);
try testArgs(u128, u15, 1 << 0);
try testArgs(u128, u15, 1 << 14);
- try testArgs(i256, u15, 0);
- try testArgs(i256, u15, 1 << 0);
- try testArgs(i256, u15, 1 << 14);
try testArgs(u256, u15, 0);
try testArgs(u256, u15, 1 << 0);
try testArgs(u256, u15, 1 << 14);
- try testArgs(i512, u15, 0);
- try testArgs(i512, u15, 1 << 0);
- try testArgs(i512, u15, 1 << 14);
try testArgs(u512, u15, 0);
try testArgs(u512, u15, 1 << 0);
try testArgs(u512, u15, 1 << 14);
- try testArgs(i1024, u15, 0);
- try testArgs(i1024, u15, 1 << 0);
- try testArgs(i1024, u15, 1 << 14);
try testArgs(u1024, u15, 0);
try testArgs(u1024, u15, 1 << 0);
try testArgs(u1024, u15, 1 << 14);
@@ -2525,96 +2109,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
try testArgs(i8, i16, -1 << 15);
try testArgs(i8, i16, -1);
try testArgs(i8, i16, 0);
- try testArgs(u8, i16, -1 << 15);
- try testArgs(u8, i16, -1);
- try testArgs(u8, i16, 0);
try testArgs(i16, i16, -1 << 15);
try testArgs(i16, i16, -1);
try testArgs(i16, i16, 0);
- try testArgs(u16, i16, -1 << 15);
- try testArgs(u16, i16, -1);
- try testArgs(u16, i16, 0);
try testArgs(i32, i16, -1 << 15);
try testArgs(i32, i16, -1);
try testArgs(i32, i16, 0);
- try testArgs(u32, i16, -1 << 15);
- try testArgs(u32, i16, -1);
- try testArgs(u32, i16, 0);
try testArgs(i64, i16, -1 << 15);
try testArgs(i64, i16, -1);
try testArgs(i64, i16, 0);
- try testArgs(u64, i16, -1 << 15);
- try testArgs(u64, i16, -1);
- try testArgs(u64, i16, 0);
try testArgs(i128, i16, -1 << 15);
try testArgs(i128, i16, -1);
try testArgs(i128, i16, 0);
- try testArgs(u128, i16, -1 << 15);
- try testArgs(u128, i16, -1);
- try testArgs(u128, i16, 0);
try testArgs(i256, i16, -1 << 15);
try testArgs(i256, i16, -1);
try testArgs(i256, i16, 0);
- try testArgs(u256, i16, -1 << 15);
- try testArgs(u256, i16, -1);
- try testArgs(u256, i16, 0);
try testArgs(i512, i16, -1 << 15);
try testArgs(i512, i16, -1);
try testArgs(i512, i16, 0);
- try testArgs(u512, i16, -1 << 15);
- try testArgs(u512, i16, -1);
- try testArgs(u512, i16, 0);
try testArgs(i1024, i16, -1 << 15);
try testArgs(i1024, i16, -1);
try testArgs(i1024, i16, 0);
- try testArgs(u1024, i16, -1 << 15);
- try testArgs(u1024, i16, -1);
- try testArgs(u1024, i16, 0);
- try testArgs(i8, u16, 0);
- try testArgs(i8, u16, 1 << 0);
- try testArgs(i8, u16, 1 << 15);
try testArgs(u8, u16, 0);
try testArgs(u8, u16, 1 << 0);
try testArgs(u8, u16, 1 << 15);
- try testArgs(i16, u16, 0);
- try testArgs(i16, u16, 1 << 0);
- try testArgs(i16, u16, 1 << 15);
try testArgs(u16, u16, 0);
try testArgs(u16, u16, 1 << 0);
try testArgs(u16, u16, 1 << 15);
- try testArgs(i32, u16, 0);
- try testArgs(i32, u16, 1 << 0);
- try testArgs(i32, u16, 1 << 15);
try testArgs(u32, u16, 0);
try testArgs(u32, u16, 1 << 0);
try testArgs(u32, u16, 1 << 15);
- try testArgs(i64, u16, 0);
- try testArgs(i64, u16, 1 << 0);
- try testArgs(i64, u16, 1 << 15);
try testArgs(u64, u16, 0);
try testArgs(u64, u16, 1 << 0);
try testArgs(u64, u16, 1 << 15);
- try testArgs(i128, u16, 0);
- try testArgs(i128, u16, 1 << 0);
- try testArgs(i128, u16, 1 << 15);
try testArgs(u128, u16, 0);
try testArgs(u128, u16, 1 << 0);
try testArgs(u128, u16, 1 << 15);
- try testArgs(i256, u16, 0);
- try testArgs(i256, u16, 1 << 0);
- try testArgs(i256, u16, 1 << 15);
try testArgs(u256, u16, 0);
try testArgs(u256, u16, 1 << 0);
try testArgs(u256, u16, 1 << 15);
- try testArgs(i512, u16, 0);
- try testArgs(i512, u16, 1 << 0);
- try testArgs(i512, u16, 1 << 15);
try testArgs(u512, u16, 0);
try testArgs(u512, u16, 1 << 0);
try testArgs(u512, u16, 1 << 15);
- try testArgs(i1024, u16, 0);
- try testArgs(i1024, u16, 1 << 0);
- try testArgs(i1024, u16, 1 << 15);
try testArgs(u1024, u16, 0);
try testArgs(u1024, u16, 1 << 0);
try testArgs(u1024, u16, 1 << 15);
@@ -2622,96 +2158,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
try testArgs(i8, i17, -1 << 16);
try testArgs(i8, i17, -1);
try testArgs(i8, i17, 0);
- try testArgs(u8, i17, -1 << 16);
- try testArgs(u8, i17, -1);
- try testArgs(u8, i17, 0);
try testArgs(i16, i17, -1 << 16);
try testArgs(i16, i17, -1);
try testArgs(i16, i17, 0);
- try testArgs(u16, i17, -1 << 16);
- try testArgs(u16, i17, -1);
- try testArgs(u16, i17, 0);
try testArgs(i32, i17, -1 << 16);
try testArgs(i32, i17, -1);
try testArgs(i32, i17, 0);
- try testArgs(u32, i17, -1 << 16);
- try testArgs(u32, i17, -1);
- try testArgs(u32, i17, 0);
try testArgs(i64, i17, -1 << 16);
try testArgs(i64, i17, -1);
try testArgs(i64, i17, 0);
- try testArgs(u64, i17, -1 << 16);
- try testArgs(u64, i17, -1);
- try testArgs(u64, i17, 0);
try testArgs(i128, i17, -1 << 16);
try testArgs(i128, i17, -1);
try testArgs(i128, i17, 0);
- try testArgs(u128, i17, -1 << 16);
- try testArgs(u128, i17, -1);
- try testArgs(u128, i17, 0);
try testArgs(i256, i17, -1 << 16);
try testArgs(i256, i17, -1);
try testArgs(i256, i17, 0);
- try testArgs(u256, i17, -1 << 16);
- try testArgs(u256, i17, -1);
- try testArgs(u256, i17, 0);
try testArgs(i512, i17, -1 << 16);
try testArgs(i512, i17, -1);
try testArgs(i512, i17, 0);
- try testArgs(u512, i17, -1 << 16);
- try testArgs(u512, i17, -1);
- try testArgs(u512, i17, 0);
try testArgs(i1024, i17, -1 << 16);
try testArgs(i1024, i17, -1);
try testArgs(i1024, i17, 0);
- try testArgs(u1024, i17, -1 << 16);
- try testArgs(u1024, i17, -1);
- try testArgs(u1024, i17, 0);
- try testArgs(i8, u17, 0);
- try testArgs(i8, u17, 1 << 0);
- try testArgs(i8, u17, 1 << 16);
try testArgs(u8, u17, 0);
try testArgs(u8, u17, 1 << 0);
try testArgs(u8, u17, 1 << 16);
- try testArgs(i16, u17, 0);
- try testArgs(i16, u17, 1 << 0);
- try testArgs(i16, u17, 1 << 16);
try testArgs(u16, u17, 0);
try testArgs(u16, u17, 1 << 0);
try testArgs(u16, u17, 1 << 16);
- try testArgs(i32, u17, 0);
- try testArgs(i32, u17, 1 << 0);
- try testArgs(i32, u17, 1 << 16);
try testArgs(u32, u17, 0);
try testArgs(u32, u17, 1 << 0);
try testArgs(u32, u17, 1 << 16);
- try testArgs(i64, u17, 0);
- try testArgs(i64, u17, 1 << 0);
- try testArgs(i64, u17, 1 << 16);
try testArgs(u64, u17, 0);
try testArgs(u64, u17, 1 << 0);
try testArgs(u64, u17, 1 << 16);
- try testArgs(i128, u17, 0);
- try testArgs(i128, u17, 1 << 0);
- try testArgs(i128, u17, 1 << 16);
try testArgs(u128, u17, 0);
try testArgs(u128, u17, 1 << 0);
try testArgs(u128, u17, 1 << 16);
- try testArgs(i256, u17, 0);
- try testArgs(i256, u17, 1 << 0);
- try testArgs(i256, u17, 1 << 16);
try testArgs(u256, u17, 0);
try testArgs(u256, u17, 1 << 0);
try testArgs(u256, u17, 1 << 16);
- try testArgs(i512, u17, 0);
- try testArgs(i512, u17, 1 << 0);
- try testArgs(i512, u17, 1 << 16);
try testArgs(u512, u17, 0);
try testArgs(u512, u17, 1 << 0);
try testArgs(u512, u17, 1 << 16);
- try testArgs(i1024, u17, 0);
- try testArgs(i1024, u17, 1 << 0);
- try testArgs(i1024, u17, 1 << 16);
try testArgs(u1024, u17, 0);
try testArgs(u1024, u17, 1 << 0);
try testArgs(u1024, u17, 1 << 16);
@@ -2719,96 +2207,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
try testArgs(i8, i31, -1 << 30);
try testArgs(i8, i31, -1);
try testArgs(i8, i31, 0);
- try testArgs(u8, i31, -1 << 30);
- try testArgs(u8, i31, -1);
- try testArgs(u8, i31, 0);
try testArgs(i16, i31, -1 << 30);
try testArgs(i16, i31, -1);
try testArgs(i16, i31, 0);
- try testArgs(u16, i31, -1 << 30);
- try testArgs(u16, i31, -1);
- try testArgs(u16, i31, 0);
try testArgs(i32, i31, -1 << 30);
try testArgs(i32, i31, -1);
try testArgs(i32, i31, 0);
- try testArgs(u32, i31, -1 << 30);
- try testArgs(u32, i31, -1);
- try testArgs(u32, i31, 0);
try testArgs(i64, i31, -1 << 30);
try testArgs(i64, i31, -1);
try testArgs(i64, i31, 0);
- try testArgs(u64, i31, -1 << 30);
- try testArgs(u64, i31, -1);
- try testArgs(u64, i31, 0);
try testArgs(i128, i31, -1 << 30);
try testArgs(i128, i31, -1);
try testArgs(i128, i31, 0);
- try testArgs(u128, i31, -1 << 30);
- try testArgs(u128, i31, -1);
- try testArgs(u128, i31, 0);
try testArgs(i256, i31, -1 << 30);
try testArgs(i256, i31, -1);
try testArgs(i256, i31, 0);
- try testArgs(u256, i31, -1 << 30);
- try testArgs(u256, i31, -1);
- try testArgs(u256, i31, 0);
try testArgs(i512, i31, -1 << 30);
try testArgs(i512, i31, -1);
try testArgs(i512, i31, 0);
- try testArgs(u512, i31, -1 << 30);
- try testArgs(u512, i31, -1);
- try testArgs(u512, i31, 0);
try testArgs(i1024, i31, -1 << 30);
try testArgs(i1024, i31, -1);
try testArgs(i1024, i31, 0);
- try testArgs(u1024, i31, -1 << 30);
- try testArgs(u1024, i31, -1);
- try testArgs(u1024, i31, 0);
- try testArgs(i8, u31, 0);
- try testArgs(i8, u31, 1 << 0);
- try testArgs(i8, u31, 1 << 30);
try testArgs(u8, u31, 0);
try testArgs(u8, u31, 1 << 0);
try testArgs(u8, u31, 1 << 30);
- try testArgs(i16, u31, 0);
- try testArgs(i16, u31, 1 << 0);
- try testArgs(i16, u31, 1 << 30);
try testArgs(u16, u31, 0);
try testArgs(u16, u31, 1 << 0);
try testArgs(u16, u31, 1 << 30);
- try testArgs(i32, u31, 0);
- try testArgs(i32, u31, 1 << 0);
- try testArgs(i32, u31, 1 << 30);
try testArgs(u32, u31, 0);
try testArgs(u32, u31, 1 << 0);
try testArgs(u32, u31, 1 << 30);
- try testArgs(i64, u31, 0);
- try testArgs(i64, u31, 1 << 0);
- try testArgs(i64, u31, 1 << 30);
try testArgs(u64, u31, 0);
try testArgs(u64, u31, 1 << 0);
try testArgs(u64, u31, 1 << 30);
- try testArgs(i128, u31, 0);
- try testArgs(i128, u31, 1 << 0);
- try testArgs(i128, u31, 1 << 30);
try testArgs(u128, u31, 0);
try testArgs(u128, u31, 1 << 0);
try testArgs(u128, u31, 1 << 30);
- try testArgs(i256, u31, 0);
- try testArgs(i256, u31, 1 << 0);
- try testArgs(i256, u31, 1 << 30);
try testArgs(u256, u31, 0);
try testArgs(u256, u31, 1 << 0);
try testArgs(u256, u31, 1 << 30);
- try testArgs(i512, u31, 0);
- try testArgs(i512, u31, 1 << 0);
- try testArgs(i512, u31, 1 << 30);
try testArgs(u512, u31, 0);
try testArgs(u512, u31, 1 << 0);
try testArgs(u512, u31, 1 << 30);
- try testArgs(i1024, u31, 0);
- try testArgs(i1024, u31, 1 << 0);
- try testArgs(i1024, u31, 1 << 30);
try testArgs(u1024, u31, 0);
try testArgs(u1024, u31, 1 << 0);
try testArgs(u1024, u31, 1 << 30);
@@ -2816,96 +2256,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
try testArgs(i8, i32, -1 << 31);
try testArgs(i8, i32, -1);
try testArgs(i8, i32, 0);
- try testArgs(u8, i32, -1 << 31);
- try testArgs(u8, i32, -1);
- try testArgs(u8, i32, 0);
try testArgs(i16, i32, -1 << 31);
try testArgs(i16, i32, -1);
try testArgs(i16, i32, 0);
- try testArgs(u16, i32, -1 << 31);
- try testArgs(u16, i32, -1);
- try testArgs(u16, i32, 0);
try testArgs(i32, i32, -1 << 31);
try testArgs(i32, i32, -1);
try testArgs(i32, i32, 0);
- try testArgs(u32, i32, -1 << 31);
- try testArgs(u32, i32, -1);
- try testArgs(u32, i32, 0);
try testArgs(i64, i32, -1 << 31);
try testArgs(i64, i32, -1);
try testArgs(i64, i32, 0);
- try testArgs(u64, i32, -1 << 31);
- try testArgs(u64, i32, -1);
- try testArgs(u64, i32, 0);
try testArgs(i128, i32, -1 << 31);
try testArgs(i128, i32, -1);
try testArgs(i128, i32, 0);
- try testArgs(u128, i32, -1 << 31);
- try testArgs(u128, i32, -1);
- try testArgs(u128, i32, 0);
try testArgs(i256, i32, -1 << 31);
try testArgs(i256, i32, -1);
try testArgs(i256, i32, 0);
- try testArgs(u256, i32, -1 << 31);
- try testArgs(u256, i32, -1);
- try testArgs(u256, i32, 0);
try testArgs(i512, i32, -1 << 31);
try testArgs(i512, i32, -1);
try testArgs(i512, i32, 0);
- try testArgs(u512, i32, -1 << 31);
- try testArgs(u512, i32, -1);
- try testArgs(u512, i32, 0);
try testArgs(i1024, i32, -1 << 31);
try testArgs(i1024, i32, -1);
try testArgs(i1024, i32, 0);
- try testArgs(u1024, i32, -1 << 31);
- try testArgs(u1024, i32, -1);
- try testArgs(u1024, i32, 0);
- try testArgs(i8, u32, 0);
- try testArgs(i8, u32, 1 << 0);
- try testArgs(i8, u32, 1 << 31);
try testArgs(u8, u32, 0);
try testArgs(u8, u32, 1 << 0);
try testArgs(u8, u32, 1 << 31);
- try testArgs(i16, u32, 0);
- try testArgs(i16, u32, 1 << 0);
- try testArgs(i16, u32, 1 << 31);
try testArgs(u16, u32, 0);
try testArgs(u16, u32, 1 << 0);
try testArgs(u16, u32, 1 << 31);
- try testArgs(i32, u32, 0);
- try testArgs(i32, u32, 1 << 0);
- try testArgs(i32, u32, 1 << 31);
try testArgs(u32, u32, 0);
try testArgs(u32, u32, 1 << 0);
try testArgs(u32, u32, 1 << 31);
- try testArgs(i64, u32, 0);
- try testArgs(i64, u32, 1 << 0);
- try testArgs(i64, u32, 1 << 31);
try testArgs(u64, u32, 0);
try testArgs(u64, u32, 1 << 0);
try testArgs(u64, u32, 1 << 31);
- try testArgs(i128, u32, 0);
- try testArgs(i128, u32, 1 << 0);
- try testArgs(i128, u32, 1 << 31);
try testArgs(u128, u32, 0);
try testArgs(u128, u32, 1 << 0);
try testArgs(u128, u32, 1 << 31);
- try testArgs(i256, u32, 0);
- try testArgs(i256, u32, 1 << 0);
- try testArgs(i256, u32, 1 << 31);
try testArgs(u256, u32, 0);
try testArgs(u256, u32, 1 << 0);
try testArgs(u256, u32, 1 << 31);
- try testArgs(i512, u32, 0);
- try testArgs(i512, u32, 1 << 0);
- try testArgs(i512, u32, 1 << 31);
try testArgs(u512, u32, 0);
try testArgs(u512, u32, 1 << 0);
try testArgs(u512, u32, 1 << 31);
- try testArgs(i1024, u32, 0);
- try testArgs(i1024, u32, 1 << 0);
- try testArgs(i1024, u32, 1 << 31);
try testArgs(u1024, u32, 0);
try testArgs(u1024, u32, 1 << 0);
try testArgs(u1024, u32, 1 << 31);
@@ -2913,96 +2305,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
try testArgs(i8, i33, -1 << 32);
try testArgs(i8, i33, -1);
try testArgs(i8, i33, 0);
- try testArgs(u8, i33, -1 << 32);
- try testArgs(u8, i33, -1);
- try testArgs(u8, i33, 0);
try testArgs(i16, i33, -1 << 32);
try testArgs(i16, i33, -1);
try testArgs(i16, i33, 0);
- try testArgs(u16, i33, -1 << 32);
- try testArgs(u16, i33, -1);
- try testArgs(u16, i33, 0);
try testArgs(i32, i33, -1 << 32);
try testArgs(i32, i33, -1);
try testArgs(i32, i33, 0);
- try testArgs(u32, i33, -1 << 32);
- try testArgs(u32, i33, -1);
- try testArgs(u32, i33, 0);
try testArgs(i64, i33, -1 << 32);
try testArgs(i64, i33, -1);
try testArgs(i64, i33, 0);
- try testArgs(u64, i33, -1 << 32);
- try testArgs(u64, i33, -1);
- try testArgs(u64, i33, 0);
try testArgs(i128, i33, -1 << 32);
try testArgs(i128, i33, -1);
try testArgs(i128, i33, 0);
- try testArgs(u128, i33, -1 << 32);
- try testArgs(u128, i33, -1);
- try testArgs(u128, i33, 0);
try testArgs(i256, i33, -1 << 32);
try testArgs(i256, i33, -1);
try testArgs(i256, i33, 0);
- try testArgs(u256, i33, -1 << 32);
- try testArgs(u256, i33, -1);
- try testArgs(u256, i33, 0);
try testArgs(i512, i33, -1 << 32);
try testArgs(i512, i33, -1);
try testArgs(i512, i33, 0);
- try testArgs(u512, i33, -1 << 32);
- try testArgs(u512, i33, -1);
- try testArgs(u512, i33, 0);
try testArgs(i1024, i33, -1 << 32);
try testArgs(i1024, i33, -1);
try testArgs(i1024, i33, 0);
- try testArgs(u1024, i33, -1 << 32);
- try testArgs(u1024, i33, -1);
- try testArgs(u1024, i33, 0);
- try testArgs(i8, u33, 0);
- try testArgs(i8, u33, 1 << 0);
- try testArgs(i8, u33, 1 << 32);
try testArgs(u8, u33, 0);
try testArgs(u8, u33, 1 << 0);
try testArgs(u8, u33, 1 << 32);
- try testArgs(i16, u33, 0);
- try testArgs(i16, u33, 1 << 0);
- try testArgs(i16, u33, 1 << 32);
try testArgs(u16, u33, 0);
try testArgs(u16, u33, 1 << 0);
try testArgs(u16, u33, 1 << 32);
- try testArgs(i32, u33, 0);
- try testArgs(i32, u33, 1 << 0);
- try testArgs(i32, u33, 1 << 32);
try testArgs(u32, u33, 0);
try testArgs(u32, u33, 1 << 0);
try testArgs(u32, u33, 1 << 32);
- try testArgs(i64, u33, 0);
- try testArgs(i64, u33, 1 << 0);
- try testArgs(i64, u33, 1 << 32);
try testArgs(u64, u33, 0);
try testArgs(u64, u33, 1 << 0);
try testArgs(u64, u33, 1 << 32);
- try testArgs(i128, u33, 0);
- try testArgs(i128, u33, 1 << 0);
- try testArgs(i128, u33, 1 << 32);
try testArgs(u128, u33, 0);
try testArgs(u128, u33, 1 << 0);
try testArgs(u128, u33, 1 << 32);
- try testArgs(i256, u33, 0);
- try testArgs(i256, u33, 1 << 0);
- try testArgs(i256, u33, 1 << 32);
try testArgs(u256, u33, 0);
try testArgs(u256, u33, 1 << 0);
try testArgs(u256, u33, 1 << 32);
- try testArgs(i512, u33, 0);
- try testArgs(i512, u33, 1 << 0);
- try testArgs(i512, u33, 1 << 32);
try testArgs(u512, u33, 0);
try testArgs(u512, u33, 1 << 0);
try testArgs(u512, u33, 1 << 32);
- try testArgs(i1024, u33, 0);
- try testArgs(i1024, u33, 1 << 0);
- try testArgs(i1024, u33, 1 << 32);
try testArgs(u1024, u33, 0);
try testArgs(u1024, u33, 1 << 0);
try testArgs(u1024, u33, 1 << 32);
@@ -3010,96 +2354,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
try testArgs(i8, i63, -1 << 62);
try testArgs(i8, i63, -1);
try testArgs(i8, i63, 0);
- try testArgs(u8, i63, -1 << 62);
- try testArgs(u8, i63, -1);
- try testArgs(u8, i63, 0);
try testArgs(i16, i63, -1 << 62);
try testArgs(i16, i63, -1);
try testArgs(i16, i63, 0);
- try testArgs(u16, i63, -1 << 62);
- try testArgs(u16, i63, -1);
- try testArgs(u16, i63, 0);
try testArgs(i32, i63, -1 << 62);
try testArgs(i32, i63, -1);
try testArgs(i32, i63, 0);
- try testArgs(u32, i63, -1 << 62);
- try testArgs(u32, i63, -1);
- try testArgs(u32, i63, 0);
try testArgs(i64, i63, -1 << 62);
try testArgs(i64, i63, -1);
try testArgs(i64, i63, 0);
- try testArgs(u64, i63, -1 << 62);
- try testArgs(u64, i63, -1);
- try testArgs(u64, i63, 0);
try testArgs(i128, i63, -1 << 62);
try testArgs(i128, i63, -1);
try testArgs(i128, i63, 0);
- try testArgs(u128, i63, -1 << 62);
- try testArgs(u128, i63, -1);
- try testArgs(u128, i63, 0);
try testArgs(i256, i63, -1 << 62);
try testArgs(i256, i63, -1);
try testArgs(i256, i63, 0);
- try testArgs(u256, i63, -1 << 62);
- try testArgs(u256, i63, -1);
- try testArgs(u256, i63, 0);
try testArgs(i512, i63, -1 << 62);
try testArgs(i512, i63, -1);
try testArgs(i512, i63, 0);
- try testArgs(u512, i63, -1 << 62);
- try testArgs(u512, i63, -1);
- try testArgs(u512, i63, 0);
try testArgs(i1024, i63, -1 << 62);
try testArgs(i1024, i63, -1);
try testArgs(i1024, i63, 0);
- try testArgs(u1024, i63, -1 << 62);
- try testArgs(u1024, i63, -1);
- try testArgs(u1024, i63, 0);
- try testArgs(i8, u63, 0);
- try testArgs(i8, u63, 1 << 0);
- try testArgs(i8, u63, 1 << 62);
try testArgs(u8, u63, 0);
try testArgs(u8, u63, 1 << 0);
try testArgs(u8, u63, 1 << 62);
- try testArgs(i16, u63, 0);
- try testArgs(i16, u63, 1 << 0);
- try testArgs(i16, u63, 1 << 62);
try testArgs(u16, u63, 0);
try testArgs(u16, u63, 1 << 0);
try testArgs(u16, u63, 1 << 62);
- try testArgs(i32, u63, 0);
- try testArgs(i32, u63, 1 << 0);
- try testArgs(i32, u63, 1 << 62);
try testArgs(u32, u63, 0);
try testArgs(u32, u63, 1 << 0);
try testArgs(u32, u63, 1 << 62);
- try testArgs(i64, u63, 0);
- try testArgs(i64, u63, 1 << 0);
- try testArgs(i64, u63, 1 << 62);
try testArgs(u64, u63, 0);
try testArgs(u64, u63, 1 << 0);
try testArgs(u64, u63, 1 << 62);
- try testArgs(i128, u63, 0);
- try testArgs(i128, u63, 1 << 0);
- try testArgs(i128, u63, 1 << 62);
try testArgs(u128, u63, 0);
try testArgs(u128, u63, 1 << 0);
try testArgs(u128, u63, 1 << 62);
- try testArgs(i256, u63, 0);
- try testArgs(i256, u63, 1 << 0);
- try testArgs(i256, u63, 1 << 62);
try testArgs(u256, u63, 0);
try testArgs(u256, u63, 1 << 0);
try testArgs(u256, u63, 1 << 62);
- try testArgs(i512, u63, 0);
- try testArgs(i512, u63, 1 << 0);
- try testArgs(i512, u63, 1 << 62);
try testArgs(u512, u63, 0);
try testArgs(u512, u63, 1 << 0);
try testArgs(u512, u63, 1 << 62);
- try testArgs(i1024, u63, 0);
- try testArgs(i1024, u63, 1 << 0);
- try testArgs(i1024, u63, 1 << 62);
try testArgs(u1024, u63, 0);
try testArgs(u1024, u63, 1 << 0);
try testArgs(u1024, u63, 1 << 62);
@@ -3107,96 +2403,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
try testArgs(i8, i64, -1 << 63);
try testArgs(i8, i64, -1);
try testArgs(i8, i64, 0);
- try testArgs(u8, i64, -1 << 63);
- try testArgs(u8, i64, -1);
- try testArgs(u8, i64, 0);
try testArgs(i16, i64, -1 << 63);
try testArgs(i16, i64, -1);
try testArgs(i16, i64, 0);
- try testArgs(u16, i64, -1 << 63);
- try testArgs(u16, i64, -1);
- try testArgs(u16, i64, 0);
try testArgs(i32, i64, -1 << 63);
try testArgs(i32, i64, -1);
try testArgs(i32, i64, 0);
- try testArgs(u32, i64, -1 << 63);
- try testArgs(u32, i64, -1);
- try testArgs(u32, i64, 0);
try testArgs(i64, i64, -1 << 63);
try testArgs(i64, i64, -1);
try testArgs(i64, i64, 0);
- try testArgs(u64, i64, -1 << 63);
- try testArgs(u64, i64, -1);
- try testArgs(u64, i64, 0);
try testArgs(i128, i64, -1 << 63);
try testArgs(i128, i64, -1);
try testArgs(i128, i64, 0);
- try testArgs(u128, i64, -1 << 63);
- try testArgs(u128, i64, -1);
- try testArgs(u128, i64, 0);
try testArgs(i256, i64, -1 << 63);
try testArgs(i256, i64, -1);
try testArgs(i256, i64, 0);
- try testArgs(u256, i64, -1 << 63);
- try testArgs(u256, i64, -1);
- try testArgs(u256, i64, 0);
try testArgs(i512, i64, -1 << 63);
try testArgs(i512, i64, -1);
try testArgs(i512, i64, 0);
- try testArgs(u512, i64, -1 << 63);
- try testArgs(u512, i64, -1);
- try testArgs(u512, i64, 0);
try testArgs(i1024, i64, -1 << 63);
try testArgs(i1024, i64, -1);
try testArgs(i1024, i64, 0);
- try testArgs(u1024, i64, -1 << 63);
- try testArgs(u1024, i64, -1);
- try testArgs(u1024, i64, 0);
- try testArgs(i8, u64, 0);
- try testArgs(i8, u64, 1 << 0);
- try testArgs(i8, u64, 1 << 63);
try testArgs(u8, u64, 0);
try testArgs(u8, u64, 1 << 0);
try testArgs(u8, u64, 1 << 63);
- try testArgs(i16, u64, 0);
- try testArgs(i16, u64, 1 << 0);
- try testArgs(i16, u64, 1 << 63);
try testArgs(u16, u64, 0);
try testArgs(u16, u64, 1 << 0);
try testArgs(u16, u64, 1 << 63);
- try testArgs(i32, u64, 0);
- try testArgs(i32, u64, 1 << 0);
- try testArgs(i32, u64, 1 << 63);
try testArgs(u32, u64, 0);
try testArgs(u32, u64, 1 << 0);
try testArgs(u32, u64, 1 << 63);
- try testArgs(i64, u64, 0);
- try testArgs(i64, u64, 1 << 0);
- try testArgs(i64, u64, 1 << 63);
try testArgs(u64, u64, 0);
try testArgs(u64, u64, 1 << 0);
try testArgs(u64, u64, 1 << 63);
- try testArgs(i128, u64, 0);
- try testArgs(i128, u64, 1 << 0);
- try testArgs(i128, u64, 1 << 63);
try testArgs(u128, u64, 0);
try testArgs(u128, u64, 1 << 0);
try testArgs(u128, u64, 1 << 63);
- try testArgs(i256, u64, 0);
- try testArgs(i256, u64, 1 << 0);
- try testArgs(i256, u64, 1 << 63);
try testArgs(u256, u64, 0);
try testArgs(u256, u64, 1 << 0);
try testArgs(u256, u64, 1 << 63);
- try testArgs(i512, u64, 0);
- try testArgs(i512, u64, 1 << 0);
- try testArgs(i512, u64, 1 << 63);
try testArgs(u512, u64, 0);
try testArgs(u512, u64, 1 << 0);
try testArgs(u512, u64, 1 << 63);
- try testArgs(i1024, u64, 0);
- try testArgs(i1024, u64, 1 << 0);
- try testArgs(i1024, u64, 1 << 63);
try testArgs(u1024, u64, 0);
try testArgs(u1024, u64, 1 << 0);
try testArgs(u1024, u64, 1 << 63);
@@ -3204,96 +2452,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
try testArgs(i8, i65, -1 << 64);
try testArgs(i8, i65, -1);
try testArgs(i8, i65, 0);
- try testArgs(u8, i65, -1 << 64);
- try testArgs(u8, i65, -1);
- try testArgs(u8, i65, 0);
try testArgs(i16, i65, -1 << 64);
try testArgs(i16, i65, -1);
try testArgs(i16, i65, 0);
- try testArgs(u16, i65, -1 << 64);
- try testArgs(u16, i65, -1);
- try testArgs(u16, i65, 0);
try testArgs(i32, i65, -1 << 64);
try testArgs(i32, i65, -1);
try testArgs(i32, i65, 0);
- try testArgs(u32, i65, -1 << 64);
- try testArgs(u32, i65, -1);
- try testArgs(u32, i65, 0);
try testArgs(i64, i65, -1 << 64);
try testArgs(i64, i65, -1);
try testArgs(i64, i65, 0);
- try testArgs(u64, i65, -1 << 64);
- try testArgs(u64, i65, -1);
- try testArgs(u64, i65, 0);
try testArgs(i128, i65, -1 << 64);
try testArgs(i128, i65, -1);
try testArgs(i128, i65, 0);
- try testArgs(u128, i65, -1 << 64);
- try testArgs(u128, i65, -1);
- try testArgs(u128, i65, 0);
try testArgs(i256, i65, -1 << 64);
try testArgs(i256, i65, -1);
try testArgs(i256, i65, 0);
- try testArgs(u256, i65, -1 << 64);
- try testArgs(u256, i65, -1);
- try testArgs(u256, i65, 0);
try testArgs(i512, i65, -1 << 64);
try testArgs(i512, i65, -1);
try testArgs(i512, i65, 0);
- try testArgs(u512, i65, -1 << 64);
- try testArgs(u512, i65, -1);
- try testArgs(u512, i65, 0);
try testArgs(i1024, i65, -1 << 64);
try testArgs(i1024, i65, -1);
try testArgs(i1024, i65, 0);
- try testArgs(u1024, i65, -1 << 64);
- try testArgs(u1024, i65, -1);
- try testArgs(u1024, i65, 0);
- try testArgs(i8, u65, 0);
- try testArgs(i8, u65, 1 << 0);
- try testArgs(i8, u65, 1 << 64);
try testArgs(u8, u65, 0);
try testArgs(u8, u65, 1 << 0);
try testArgs(u8, u65, 1 << 64);
- try testArgs(i16, u65, 0);
- try testArgs(i16, u65, 1 << 0);
- try testArgs(i16, u65, 1 << 64);
try testArgs(u16, u65, 0);
try testArgs(u16, u65, 1 << 0);
try testArgs(u16, u65, 1 << 64);
- try testArgs(i32, u65, 0);
- try testArgs(i32, u65, 1 << 0);
- try testArgs(i32, u65, 1 << 64);
try testArgs(u32, u65, 0);
try testArgs(u32, u65, 1 << 0);
try testArgs(u32, u65, 1 << 64);
- try testArgs(i64, u65, 0);
- try testArgs(i64, u65, 1 << 0);
- try testArgs(i64, u65, 1 << 64);
try testArgs(u64, u65, 0);
try testArgs(u64, u65, 1 << 0);
try testArgs(u64, u65, 1 << 64);
- try testArgs(i128, u65, 0);
- try testArgs(i128, u65, 1 << 0);
- try testArgs(i128, u65, 1 << 64);
try testArgs(u128, u65, 0);
try testArgs(u128, u65, 1 << 0);
try testArgs(u128, u65, 1 << 64);
- try testArgs(i256, u65, 0);
- try testArgs(i256, u65, 1 << 0);
- try testArgs(i256, u65, 1 << 64);
try testArgs(u256, u65, 0);
try testArgs(u256, u65, 1 << 0);
try testArgs(u256, u65, 1 << 64);
- try testArgs(i512, u65, 0);
- try testArgs(i512, u65, 1 << 0);
- try testArgs(i512, u65, 1 << 64);
try testArgs(u512, u65, 0);
try testArgs(u512, u65, 1 << 0);
try testArgs(u512, u65, 1 << 64);
- try testArgs(i1024, u65, 0);
- try testArgs(i1024, u65, 1 << 0);
- try testArgs(i1024, u65, 1 << 64);
try testArgs(u1024, u65, 0);
try testArgs(u1024, u65, 1 << 0);
try testArgs(u1024, u65, 1 << 64);
@@ -3301,2330 +2501,2243 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
try testArgs(i8, i95, -1 << 94);
try testArgs(i8, i95, -1);
try testArgs(i8, i95, 0);
- try testArgs(u8, i95, -1 << 94);
- try testArgs(u8, i95, -1);
- try testArgs(u8, i95, 0);
try testArgs(i16, i95, -1 << 94);
try testArgs(i16, i95, -1);
try testArgs(i16, i95, 0);
- try testArgs(u16, i95, -1 << 94);
- try testArgs(u16, i95, -1);
- try testArgs(u16, i95, 0);
try testArgs(i32, i95, -1 << 94);
try testArgs(i32, i95, -1);
try testArgs(i32, i95, 0);
- try testArgs(u32, i95, -1 << 94);
- try testArgs(u32, i95, -1);
- try testArgs(u32, i95, 0);
try testArgs(i64, i95, -1 << 94);
try testArgs(i64, i95, -1);
try testArgs(i64, i95, 0);
- try testArgs(u64, i95, -1 << 94);
- try testArgs(u64, i95, -1);
- try testArgs(u64, i95, 0);
try testArgs(i128, i95, -1 << 94);
try testArgs(i128, i95, -1);
try testArgs(i128, i95, 0);
- try testArgs(u128, i95, -1 << 94);
- try testArgs(u128, i95, -1);
- try testArgs(u128, i95, 0);
try testArgs(i256, i95, -1 << 94);
try testArgs(i256, i95, -1);
try testArgs(i256, i95, 0);
- try testArgs(u256, i95, -1 << 94);
- try testArgs(u256, i95, -1);
- try testArgs(u256, i95, 0);
try testArgs(i512, i95, -1 << 94);
try testArgs(i512, i95, -1);
try testArgs(i512, i95, 0);
- try testArgs(u512, i95, -1 << 94);
- try testArgs(u512, i95, -1);
- try testArgs(u512, i95, 0);
try testArgs(i1024, i95, -1 << 94);
try testArgs(i1024, i95, -1);
try testArgs(i1024, i95, 0);
+ try testArgs(u8, u95, 0);
+ try testArgs(u8, u95, 1 << 0);
+ try testArgs(u8, u95, 1 << 94);
+ try testArgs(u16, u95, 0);
+ try testArgs(u16, u95, 1 << 0);
+ try testArgs(u16, u95, 1 << 94);
+ try testArgs(u32, u95, 0);
+ try testArgs(u32, u95, 1 << 0);
+ try testArgs(u32, u95, 1 << 94);
+ try testArgs(u64, u95, 0);
+ try testArgs(u64, u95, 1 << 0);
+ try testArgs(u64, u95, 1 << 94);
+ try testArgs(u128, u95, 0);
+ try testArgs(u128, u95, 1 << 0);
+ try testArgs(u128, u95, 1 << 94);
+ try testArgs(u256, u95, 0);
+ try testArgs(u256, u95, 1 << 0);
+ try testArgs(u256, u95, 1 << 94);
+ try testArgs(u512, u95, 0);
+ try testArgs(u512, u95, 1 << 0);
+ try testArgs(u512, u95, 1 << 94);
+ try testArgs(u1024, u95, 0);
+ try testArgs(u1024, u95, 1 << 0);
+ try testArgs(u1024, u95, 1 << 94);
+
+ try testArgs(i8, i97, -1 << 96);
+ try testArgs(i8, i97, -1);
+ try testArgs(i8, i97, 0);
+ try testArgs(i16, i97, -1 << 96);
+ try testArgs(i16, i97, -1);
+ try testArgs(i16, i97, 0);
+ try testArgs(i32, i97, -1 << 96);
+ try testArgs(i32, i97, -1);
+ try testArgs(i32, i97, 0);
+ try testArgs(i64, i97, -1 << 96);
+ try testArgs(i64, i97, -1);
+ try testArgs(i64, i97, 0);
+ try testArgs(i128, i97, -1 << 96);
+ try testArgs(i128, i97, -1);
+ try testArgs(i128, i97, 0);
+ try testArgs(i256, i97, -1 << 96);
+ try testArgs(i256, i97, -1);
+ try testArgs(i256, i97, 0);
+ try testArgs(i512, i97, -1 << 96);
+ try testArgs(i512, i97, -1);
+ try testArgs(i512, i97, 0);
+ try testArgs(i1024, i97, -1 << 96);
+ try testArgs(i1024, i97, -1);
+ try testArgs(i1024, i97, 0);
+ try testArgs(u8, u97, 0);
+ try testArgs(u8, u97, 1 << 0);
+ try testArgs(u8, u97, 1 << 96);
+ try testArgs(u16, u97, 0);
+ try testArgs(u16, u97, 1 << 0);
+ try testArgs(u16, u97, 1 << 96);
+ try testArgs(u32, u97, 0);
+ try testArgs(u32, u97, 1 << 0);
+ try testArgs(u32, u97, 1 << 96);
+ try testArgs(u64, u97, 0);
+ try testArgs(u64, u97, 1 << 0);
+ try testArgs(u64, u97, 1 << 96);
+ try testArgs(u128, u97, 0);
+ try testArgs(u128, u97, 1 << 0);
+ try testArgs(u128, u97, 1 << 96);
+ try testArgs(u256, u97, 0);
+ try testArgs(u256, u97, 1 << 0);
+ try testArgs(u256, u97, 1 << 96);
+ try testArgs(u512, u97, 0);
+ try testArgs(u512, u97, 1 << 0);
+ try testArgs(u512, u97, 1 << 96);
+ try testArgs(u1024, u97, 0);
+ try testArgs(u1024, u97, 1 << 0);
+ try testArgs(u1024, u97, 1 << 96);
+
+ try testArgs(i8, i127, -1 << 126);
+ try testArgs(i8, i127, -1);
+ try testArgs(i8, i127, 0);
+ try testArgs(i16, i127, -1 << 126);
+ try testArgs(i16, i127, -1);
+ try testArgs(i16, i127, 0);
+ try testArgs(i32, i127, -1 << 126);
+ try testArgs(i32, i127, -1);
+ try testArgs(i32, i127, 0);
+ try testArgs(i64, i127, -1 << 126);
+ try testArgs(i64, i127, -1);
+ try testArgs(i64, i127, 0);
+ try testArgs(i128, i127, -1 << 126);
+ try testArgs(i128, i127, -1);
+ try testArgs(i128, i127, 0);
+ try testArgs(i256, i127, -1 << 126);
+ try testArgs(i256, i127, -1);
+ try testArgs(i256, i127, 0);
+ try testArgs(i512, i127, -1 << 126);
+ try testArgs(i512, i127, -1);
+ try testArgs(i512, i127, 0);
+ try testArgs(i1024, i127, -1 << 126);
+ try testArgs(i1024, i127, -1);
+ try testArgs(i1024, i127, 0);
+ try testArgs(u8, u127, 0);
+ try testArgs(u8, u127, 1 << 0);
+ try testArgs(u8, u127, 1 << 126);
+ try testArgs(u16, u127, 0);
+ try testArgs(u16, u127, 1 << 0);
+ try testArgs(u16, u127, 1 << 126);
+ try testArgs(u32, u127, 0);
+ try testArgs(u32, u127, 1 << 0);
+ try testArgs(u32, u127, 1 << 126);
+ try testArgs(u64, u127, 0);
+ try testArgs(u64, u127, 1 << 0);
+ try testArgs(u64, u127, 1 << 126);
+ try testArgs(u128, u127, 0);
+ try testArgs(u128, u127, 1 << 0);
+ try testArgs(u128, u127, 1 << 126);
+ try testArgs(u256, u127, 0);
+ try testArgs(u256, u127, 1 << 0);
+ try testArgs(u256, u127, 1 << 126);
+ try testArgs(u512, u127, 0);
+ try testArgs(u512, u127, 1 << 0);
+ try testArgs(u512, u127, 1 << 126);
+ try testArgs(u1024, u127, 0);
+ try testArgs(u1024, u127, 1 << 0);
+ try testArgs(u1024, u127, 1 << 126);
+
+ try testArgs(i8, i128, -1 << 127);
+ try testArgs(i8, i128, -1);
+ try testArgs(i8, i128, 0);
+ try testArgs(i16, i128, -1 << 127);
+ try testArgs(i16, i128, -1);
+ try testArgs(i16, i128, 0);
+ try testArgs(i32, i128, -1 << 127);
+ try testArgs(i32, i128, -1);
+ try testArgs(i32, i128, 0);
+ try testArgs(i64, i128, -1 << 127);
+ try testArgs(i64, i128, -1);
+ try testArgs(i64, i128, 0);
+ try testArgs(i128, i128, -1 << 127);
+ try testArgs(i128, i128, -1);
+ try testArgs(i128, i128, 0);
+ try testArgs(i256, i128, -1 << 127);
+ try testArgs(i256, i128, -1);
+ try testArgs(i256, i128, 0);
+ try testArgs(i512, i128, -1 << 127);
+ try testArgs(i512, i128, -1);
+ try testArgs(i512, i128, 0);
+ try testArgs(i1024, i128, -1 << 127);
+ try testArgs(i1024, i128, -1);
+ try testArgs(i1024, i128, 0);
+ try testArgs(u8, u128, 0);
+ try testArgs(u8, u128, 1 << 0);
+ try testArgs(u8, u128, 1 << 127);
+ try testArgs(u16, u128, 0);
+ try testArgs(u16, u128, 1 << 0);
+ try testArgs(u16, u128, 1 << 127);
+ try testArgs(u32, u128, 0);
+ try testArgs(u32, u128, 1 << 0);
+ try testArgs(u32, u128, 1 << 127);
+ try testArgs(u64, u128, 0);
+ try testArgs(u64, u128, 1 << 0);
+ try testArgs(u64, u128, 1 << 127);
+ try testArgs(u128, u128, 0);
+ try testArgs(u128, u128, 1 << 0);
+ try testArgs(u128, u128, 1 << 127);
+ try testArgs(u256, u128, 0);
+ try testArgs(u256, u128, 1 << 0);
+ try testArgs(u256, u128, 1 << 127);
+ try testArgs(u512, u128, 0);
+ try testArgs(u512, u128, 1 << 0);
+ try testArgs(u512, u128, 1 << 127);
+ try testArgs(u1024, u128, 0);
+ try testArgs(u1024, u128, 1 << 0);
+ try testArgs(u1024, u128, 1 << 127);
+
+ try testArgs(i8, i129, -1 << 128);
+ try testArgs(i8, i129, -1);
+ try testArgs(i8, i129, 0);
+ try testArgs(i16, i129, -1 << 128);
+ try testArgs(i16, i129, -1);
+ try testArgs(i16, i129, 0);
+ try testArgs(i32, i129, -1 << 128);
+ try testArgs(i32, i129, -1);
+ try testArgs(i32, i129, 0);
+ try testArgs(i64, i129, -1 << 128);
+ try testArgs(i64, i129, -1);
+ try testArgs(i64, i129, 0);
+ try testArgs(i128, i129, -1 << 128);
+ try testArgs(i128, i129, -1);
+ try testArgs(i128, i129, 0);
+ try testArgs(i256, i129, -1 << 128);
+ try testArgs(i256, i129, -1);
+ try testArgs(i256, i129, 0);
+ try testArgs(i512, i129, -1 << 128);
+ try testArgs(i512, i129, -1);
+ try testArgs(i512, i129, 0);
+ try testArgs(i1024, i129, -1 << 128);
+ try testArgs(i1024, i129, -1);
+ try testArgs(i1024, i129, 0);
+ try testArgs(u8, u129, 0);
+ try testArgs(u8, u129, 1 << 0);
+ try testArgs(u8, u129, 1 << 128);
+ try testArgs(u16, u129, 0);
+ try testArgs(u16, u129, 1 << 0);
+ try testArgs(u16, u129, 1 << 128);
+ try testArgs(u32, u129, 0);
+ try testArgs(u32, u129, 1 << 0);
+ try testArgs(u32, u129, 1 << 128);
+ try testArgs(u64, u129, 0);
+ try testArgs(u64, u129, 1 << 0);
+ try testArgs(u64, u129, 1 << 128);
+ try testArgs(u128, u129, 0);
+ try testArgs(u128, u129, 1 << 0);
+ try testArgs(u128, u129, 1 << 128);
+ try testArgs(u256, u129, 0);
+ try testArgs(u256, u129, 1 << 0);
+ try testArgs(u256, u129, 1 << 128);
+ try testArgs(u512, u129, 0);
+ try testArgs(u512, u129, 1 << 0);
+ try testArgs(u512, u129, 1 << 128);
+ try testArgs(u1024, u129, 0);
+ try testArgs(u1024, u129, 1 << 0);
+ try testArgs(u1024, u129, 1 << 128);
+
+ try testArgs(i8, i255, -1 << 254);
+ try testArgs(i8, i255, -1);
+ try testArgs(i8, i255, 0);
+ try testArgs(i16, i255, -1 << 254);
+ try testArgs(i16, i255, -1);
+ try testArgs(i16, i255, 0);
+ try testArgs(i32, i255, -1 << 254);
+ try testArgs(i32, i255, -1);
+ try testArgs(i32, i255, 0);
+ try testArgs(i64, i255, -1 << 254);
+ try testArgs(i64, i255, -1);
+ try testArgs(i64, i255, 0);
+ try testArgs(i128, i255, -1 << 254);
+ try testArgs(i128, i255, -1);
+ try testArgs(i128, i255, 0);
+ try testArgs(i256, i255, -1 << 254);
+ try testArgs(i256, i255, -1);
+ try testArgs(i256, i255, 0);
+ try testArgs(i512, i255, -1 << 254);
+ try testArgs(i512, i255, -1);
+ try testArgs(i512, i255, 0);
+ try testArgs(i1024, i255, -1 << 254);
+ try testArgs(i1024, i255, -1);
+ try testArgs(i1024, i255, 0);
+ try testArgs(u8, u255, 0);
+ try testArgs(u8, u255, 1 << 0);
+ try testArgs(u8, u255, 1 << 254);
+ try testArgs(u16, u255, 0);
+ try testArgs(u16, u255, 1 << 0);
+ try testArgs(u16, u255, 1 << 254);
+ try testArgs(u32, u255, 0);
+ try testArgs(u32, u255, 1 << 0);
+ try testArgs(u32, u255, 1 << 254);
+ try testArgs(u64, u255, 0);
+ try testArgs(u64, u255, 1 << 0);
+ try testArgs(u64, u255, 1 << 254);
+ try testArgs(u128, u255, 0);
+ try testArgs(u128, u255, 1 << 0);
+ try testArgs(u128, u255, 1 << 254);
+ try testArgs(u256, u255, 0);
+ try testArgs(u256, u255, 1 << 0);
+ try testArgs(u256, u255, 1 << 254);
+ try testArgs(u512, u255, 0);
+ try testArgs(u512, u255, 1 << 0);
+ try testArgs(u512, u255, 1 << 254);
+ try testArgs(u1024, u255, 0);
+ try testArgs(u1024, u255, 1 << 0);
+ try testArgs(u1024, u255, 1 << 254);
+
+ try testArgs(i8, i256, -1 << 255);
+ try testArgs(i8, i256, -1);
+ try testArgs(i8, i256, 0);
+ try testArgs(i16, i256, -1 << 255);
+ try testArgs(i16, i256, -1);
+ try testArgs(i16, i256, 0);
+ try testArgs(i32, i256, -1 << 255);
+ try testArgs(i32, i256, -1);
+ try testArgs(i32, i256, 0);
+ try testArgs(i64, i256, -1 << 255);
+ try testArgs(i64, i256, -1);
+ try testArgs(i64, i256, 0);
+ try testArgs(i128, i256, -1 << 255);
+ try testArgs(i128, i256, -1);
+ try testArgs(i128, i256, 0);
+ try testArgs(i256, i256, -1 << 255);
+ try testArgs(i256, i256, -1);
+ try testArgs(i256, i256, 0);
+ try testArgs(i512, i256, -1 << 255);
+ try testArgs(i512, i256, -1);
+ try testArgs(i512, i256, 0);
+ try testArgs(i1024, i256, -1 << 255);
+ try testArgs(i1024, i256, -1);
+ try testArgs(i1024, i256, 0);
+ try testArgs(u8, u256, 0);
+ try testArgs(u8, u256, 1 << 0);
+ try testArgs(u8, u256, 1 << 255);
+ try testArgs(u16, u256, 0);
+ try testArgs(u16, u256, 1 << 0);
+ try testArgs(u16, u256, 1 << 255);
+ try testArgs(u32, u256, 0);
+ try testArgs(u32, u256, 1 << 0);
+ try testArgs(u32, u256, 1 << 255);
+ try testArgs(u64, u256, 0);
+ try testArgs(u64, u256, 1 << 0);
+ try testArgs(u64, u256, 1 << 255);
+ try testArgs(u128, u256, 0);
+ try testArgs(u128, u256, 1 << 0);
+ try testArgs(u128, u256, 1 << 255);
+ try testArgs(u256, u256, 0);
+ try testArgs(u256, u256, 1 << 0);
+ try testArgs(u256, u256, 1 << 255);
+ try testArgs(u512, u256, 0);
+ try testArgs(u512, u256, 1 << 0);
+ try testArgs(u512, u256, 1 << 255);
+ try testArgs(u1024, u256, 0);
+ try testArgs(u1024, u256, 1 << 0);
+ try testArgs(u1024, u256, 1 << 255);
+
+ try testArgs(i8, i257, -1 << 256);
+ try testArgs(i8, i257, -1);
+ try testArgs(i8, i257, 0);
+ try testArgs(i16, i257, -1 << 256);
+ try testArgs(i16, i257, -1);
+ try testArgs(i16, i257, 0);
+ try testArgs(i32, i257, -1 << 256);
+ try testArgs(i32, i257, -1);
+ try testArgs(i32, i257, 0);
+ try testArgs(i64, i257, -1 << 256);
+ try testArgs(i64, i257, -1);
+ try testArgs(i64, i257, 0);
+ try testArgs(i128, i257, -1 << 256);
+ try testArgs(i128, i257, -1);
+ try testArgs(i128, i257, 0);
+ try testArgs(i256, i257, -1 << 256);
+ try testArgs(i256, i257, -1);
+ try testArgs(i256, i257, 0);
+ try testArgs(i512, i257, -1 << 256);
+ try testArgs(i512, i257, -1);
+ try testArgs(i512, i257, 0);
+ try testArgs(i1024, i257, -1 << 256);
+ try testArgs(i1024, i257, -1);
+ try testArgs(i1024, i257, 0);
+ try testArgs(u8, u257, 0);
+ try testArgs(u8, u257, 1 << 0);
+ try testArgs(u8, u257, 1 << 256);
+ try testArgs(u16, u257, 0);
+ try testArgs(u16, u257, 1 << 0);
+ try testArgs(u16, u257, 1 << 256);
+ try testArgs(u32, u257, 0);
+ try testArgs(u32, u257, 1 << 0);
+ try testArgs(u32, u257, 1 << 256);
+ try testArgs(u64, u257, 0);
+ try testArgs(u64, u257, 1 << 0);
+ try testArgs(u64, u257, 1 << 256);
+ try testArgs(u128, u257, 0);
+ try testArgs(u128, u257, 1 << 0);
+ try testArgs(u128, u257, 1 << 256);
+ try testArgs(u256, u257, 0);
+ try testArgs(u256, u257, 1 << 0);
+ try testArgs(u256, u257, 1 << 256);
+ try testArgs(u512, u257, 0);
+ try testArgs(u512, u257, 1 << 0);
+ try testArgs(u512, u257, 1 << 256);
+ try testArgs(u1024, u257, 0);
+ try testArgs(u1024, u257, 1 << 0);
+ try testArgs(u1024, u257, 1 << 256);
+
+ try testArgs(i8, i511, -1 << 510);
+ try testArgs(i8, i511, -1);
+ try testArgs(i8, i511, 0);
+ try testArgs(i16, i511, -1 << 510);
+ try testArgs(i16, i511, -1);
+ try testArgs(i16, i511, 0);
+ try testArgs(i32, i511, -1 << 510);
+ try testArgs(i32, i511, -1);
+ try testArgs(i32, i511, 0);
+ try testArgs(i64, i511, -1 << 510);
+ try testArgs(i64, i511, -1);
+ try testArgs(i64, i511, 0);
+ try testArgs(i128, i511, -1 << 510);
+ try testArgs(i128, i511, -1);
+ try testArgs(i128, i511, 0);
+ try testArgs(i256, i511, -1 << 510);
+ try testArgs(i256, i511, -1);
+ try testArgs(i256, i511, 0);
+ try testArgs(i512, i511, -1 << 510);
+ try testArgs(i512, i511, -1);
+ try testArgs(i512, i511, 0);
+ try testArgs(i1024, i511, -1 << 510);
+ try testArgs(i1024, i511, -1);
+ try testArgs(i1024, i511, 0);
+ try testArgs(u8, u511, 0);
+ try testArgs(u8, u511, 1 << 0);
+ try testArgs(u8, u511, 1 << 510);
+ try testArgs(u16, u511, 0);
+ try testArgs(u16, u511, 1 << 0);
+ try testArgs(u16, u511, 1 << 510);
+ try testArgs(u32, u511, 0);
+ try testArgs(u32, u511, 1 << 0);
+ try testArgs(u32, u511, 1 << 510);
+ try testArgs(u64, u511, 0);
+ try testArgs(u64, u511, 1 << 0);
+ try testArgs(u64, u511, 1 << 510);
+ try testArgs(u128, u511, 0);
+ try testArgs(u128, u511, 1 << 0);
+ try testArgs(u128, u511, 1 << 510);
+ try testArgs(u256, u511, 0);
+ try testArgs(u256, u511, 1 << 0);
+ try testArgs(u256, u511, 1 << 510);
+ try testArgs(u512, u511, 0);
+ try testArgs(u512, u511, 1 << 0);
+ try testArgs(u512, u511, 1 << 510);
+ try testArgs(u1024, u511, 0);
+ try testArgs(u1024, u511, 1 << 0);
+ try testArgs(u1024, u511, 1 << 510);
+
+ try testArgs(i8, i512, -1 << 511);
+ try testArgs(i8, i512, -1);
+ try testArgs(i8, i512, 0);
+ try testArgs(i16, i512, -1 << 511);
+ try testArgs(i16, i512, -1);
+ try testArgs(i16, i512, 0);
+ try testArgs(i32, i512, -1 << 511);
+ try testArgs(i32, i512, -1);
+ try testArgs(i32, i512, 0);
+ try testArgs(i64, i512, -1 << 511);
+ try testArgs(i64, i512, -1);
+ try testArgs(i64, i512, 0);
+ try testArgs(i128, i512, -1 << 511);
+ try testArgs(i128, i512, -1);
+ try testArgs(i128, i512, 0);
+ try testArgs(i256, i512, -1 << 511);
+ try testArgs(i256, i512, -1);
+ try testArgs(i256, i512, 0);
+ try testArgs(i512, i512, -1 << 511);
+ try testArgs(i512, i512, -1);
+ try testArgs(i512, i512, 0);
+ try testArgs(i1024, i512, -1 << 511);
+ try testArgs(i1024, i512, -1);
+ try testArgs(i1024, i512, 0);
+ try testArgs(u8, u512, 0);
+ try testArgs(u8, u512, 1 << 0);
+ try testArgs(u8, u512, 1 << 511);
+ try testArgs(u16, u512, 0);
+ try testArgs(u16, u512, 1 << 0);
+ try testArgs(u16, u512, 1 << 511);
+ try testArgs(u32, u512, 0);
+ try testArgs(u32, u512, 1 << 0);
+ try testArgs(u32, u512, 1 << 511);
+ try testArgs(u64, u512, 0);
+ try testArgs(u64, u512, 1 << 0);
+ try testArgs(u64, u512, 1 << 511);
+ try testArgs(u128, u512, 0);
+ try testArgs(u128, u512, 1 << 0);
+ try testArgs(u128, u512, 1 << 511);
+ try testArgs(u256, u512, 0);
+ try testArgs(u256, u512, 1 << 0);
+ try testArgs(u256, u512, 1 << 511);
+ try testArgs(u512, u512, 0);
+ try testArgs(u512, u512, 1 << 0);
+ try testArgs(u512, u512, 1 << 511);
+ try testArgs(u1024, u512, 0);
+ try testArgs(u1024, u512, 1 << 0);
+ try testArgs(u1024, u512, 1 << 511);
+
+ try testArgs(i8, i513, -1 << 512);
+ try testArgs(i8, i513, -1);
+ try testArgs(i8, i513, 0);
+ try testArgs(i16, i513, -1 << 512);
+ try testArgs(i16, i513, -1);
+ try testArgs(i16, i513, 0);
+ try testArgs(i32, i513, -1 << 512);
+ try testArgs(i32, i513, -1);
+ try testArgs(i32, i513, 0);
+ try testArgs(i64, i513, -1 << 512);
+ try testArgs(i64, i513, -1);
+ try testArgs(i64, i513, 0);
+ try testArgs(i128, i513, -1 << 512);
+ try testArgs(i128, i513, -1);
+ try testArgs(i128, i513, 0);
+ try testArgs(i256, i513, -1 << 512);
+ try testArgs(i256, i513, -1);
+ try testArgs(i256, i513, 0);
+ try testArgs(i512, i513, -1 << 512);
+ try testArgs(i512, i513, -1);
+ try testArgs(i512, i513, 0);
+ try testArgs(i1024, i513, -1 << 512);
+ try testArgs(i1024, i513, -1);
+ try testArgs(i1024, i513, 0);
+ try testArgs(u8, u513, 0);
+ try testArgs(u8, u513, 1 << 0);
+ try testArgs(u8, u513, 1 << 512);
+ try testArgs(u16, u513, 0);
+ try testArgs(u16, u513, 1 << 0);
+ try testArgs(u16, u513, 1 << 512);
+ try testArgs(u32, u513, 0);
+ try testArgs(u32, u513, 1 << 0);
+ try testArgs(u32, u513, 1 << 512);
+ try testArgs(u64, u513, 0);
+ try testArgs(u64, u513, 1 << 0);
+ try testArgs(u64, u513, 1 << 512);
+ try testArgs(u128, u513, 0);
+ try testArgs(u128, u513, 1 << 0);
+ try testArgs(u128, u513, 1 << 512);
+ try testArgs(u256, u513, 0);
+ try testArgs(u256, u513, 1 << 0);
+ try testArgs(u256, u513, 1 << 512);
+ try testArgs(u512, u513, 0);
+ try testArgs(u512, u513, 1 << 0);
+ try testArgs(u512, u513, 1 << 512);
+ try testArgs(u1024, u513, 0);
+ try testArgs(u1024, u513, 1 << 0);
+ try testArgs(u1024, u513, 1 << 512);
+
+ try testArgs(i8, i1023, -1 << 1022);
+ try testArgs(i8, i1023, -1);
+ try testArgs(i8, i1023, 0);
+ try testArgs(i16, i1023, -1 << 1022);
+ try testArgs(i16, i1023, -1);
+ try testArgs(i16, i1023, 0);
+ try testArgs(i32, i1023, -1 << 1022);
+ try testArgs(i32, i1023, -1);
+ try testArgs(i32, i1023, 0);
+ try testArgs(i64, i1023, -1 << 1022);
+ try testArgs(i64, i1023, -1);
+ try testArgs(i64, i1023, 0);
+ try testArgs(i128, i1023, -1 << 1022);
+ try testArgs(i128, i1023, -1);
+ try testArgs(i128, i1023, 0);
+ try testArgs(i256, i1023, -1 << 1022);
+ try testArgs(i256, i1023, -1);
+ try testArgs(i256, i1023, 0);
+ try testArgs(i512, i1023, -1 << 1022);
+ try testArgs(i512, i1023, -1);
+ try testArgs(i512, i1023, 0);
+ try testArgs(i1024, i1023, -1 << 1022);
+ try testArgs(i1024, i1023, -1);
+ try testArgs(i1024, i1023, 0);
+ try testArgs(u8, u1023, 0);
+ try testArgs(u8, u1023, 1 << 0);
+ try testArgs(u8, u1023, 1 << 1022);
+ try testArgs(u16, u1023, 0);
+ try testArgs(u16, u1023, 1 << 0);
+ try testArgs(u16, u1023, 1 << 1022);
+ try testArgs(u32, u1023, 0);
+ try testArgs(u32, u1023, 1 << 0);
+ try testArgs(u32, u1023, 1 << 1022);
+ try testArgs(u64, u1023, 0);
+ try testArgs(u64, u1023, 1 << 0);
+ try testArgs(u64, u1023, 1 << 1022);
+ try testArgs(u128, u1023, 0);
+ try testArgs(u128, u1023, 1 << 0);
+ try testArgs(u128, u1023, 1 << 1022);
+ try testArgs(u256, u1023, 0);
+ try testArgs(u256, u1023, 1 << 0);
+ try testArgs(u256, u1023, 1 << 1022);
+ try testArgs(u512, u1023, 0);
+ try testArgs(u512, u1023, 1 << 0);
+ try testArgs(u512, u1023, 1 << 1022);
+ try testArgs(u1024, u1023, 0);
+ try testArgs(u1024, u1023, 1 << 0);
+ try testArgs(u1024, u1023, 1 << 1022);
+
+ try testArgs(i8, i1024, -1 << 1023);
+ try testArgs(i8, i1024, -1);
+ try testArgs(i8, i1024, 0);
+ try testArgs(i16, i1024, -1 << 1023);
+ try testArgs(i16, i1024, -1);
+ try testArgs(i16, i1024, 0);
+ try testArgs(i32, i1024, -1 << 1023);
+ try testArgs(i32, i1024, -1);
+ try testArgs(i32, i1024, 0);
+ try testArgs(i64, i1024, -1 << 1023);
+ try testArgs(i64, i1024, -1);
+ try testArgs(i64, i1024, 0);
+ try testArgs(i128, i1024, -1 << 1023);
+ try testArgs(i128, i1024, -1);
+ try testArgs(i128, i1024, 0);
+ try testArgs(i256, i1024, -1 << 1023);
+ try testArgs(i256, i1024, -1);
+ try testArgs(i256, i1024, 0);
+ try testArgs(i512, i1024, -1 << 1023);
+ try testArgs(i512, i1024, -1);
+ try testArgs(i512, i1024, 0);
+ try testArgs(i1024, i1024, -1 << 1023);
+ try testArgs(i1024, i1024, -1);
+ try testArgs(i1024, i1024, 0);
+ try testArgs(u8, u1024, 0);
+ try testArgs(u8, u1024, 1 << 0);
+ try testArgs(u8, u1024, 1 << 1023);
+ try testArgs(u16, u1024, 0);
+ try testArgs(u16, u1024, 1 << 0);
+ try testArgs(u16, u1024, 1 << 1023);
+ try testArgs(u32, u1024, 0);
+ try testArgs(u32, u1024, 1 << 0);
+ try testArgs(u32, u1024, 1 << 1023);
+ try testArgs(u64, u1024, 0);
+ try testArgs(u64, u1024, 1 << 0);
+ try testArgs(u64, u1024, 1 << 1023);
+ try testArgs(u128, u1024, 0);
+ try testArgs(u128, u1024, 1 << 0);
+ try testArgs(u128, u1024, 1 << 1023);
+ try testArgs(u256, u1024, 0);
+ try testArgs(u256, u1024, 1 << 0);
+ try testArgs(u256, u1024, 1 << 1023);
+ try testArgs(u512, u1024, 0);
+ try testArgs(u512, u1024, 1 << 0);
+ try testArgs(u512, u1024, 1 << 1023);
+ try testArgs(u1024, u1024, 0);
+ try testArgs(u1024, u1024, 1 << 0);
+ try testArgs(u1024, u1024, 1 << 1023);
+
+ try testArgs(i8, i1025, -1 << 1024);
+ try testArgs(i8, i1025, -1);
+ try testArgs(i8, i1025, 0);
+ try testArgs(i16, i1025, -1 << 1024);
+ try testArgs(i16, i1025, -1);
+ try testArgs(i16, i1025, 0);
+ try testArgs(i32, i1025, -1 << 1024);
+ try testArgs(i32, i1025, -1);
+ try testArgs(i32, i1025, 0);
+ try testArgs(i64, i1025, -1 << 1024);
+ try testArgs(i64, i1025, -1);
+ try testArgs(i64, i1025, 0);
+ try testArgs(i128, i1025, -1 << 1024);
+ try testArgs(i128, i1025, -1);
+ try testArgs(i128, i1025, 0);
+ try testArgs(i256, i1025, -1 << 1024);
+ try testArgs(i256, i1025, -1);
+ try testArgs(i256, i1025, 0);
+ try testArgs(i512, i1025, -1 << 1024);
+ try testArgs(i512, i1025, -1);
+ try testArgs(i512, i1025, 0);
+ try testArgs(i1024, i1025, -1 << 1024);
+ try testArgs(i1024, i1025, -1);
+ try testArgs(i1024, i1025, 0);
+ try testArgs(u8, u1025, 0);
+ try testArgs(u8, u1025, 1 << 0);
+ try testArgs(u8, u1025, 1 << 1024);
+ try testArgs(u16, u1025, 0);
+ try testArgs(u16, u1025, 1 << 0);
+ try testArgs(u16, u1025, 1 << 1024);
+ try testArgs(u32, u1025, 0);
+ try testArgs(u32, u1025, 1 << 0);
+ try testArgs(u32, u1025, 1 << 1024);
+ try testArgs(u64, u1025, 0);
+ try testArgs(u64, u1025, 1 << 0);
+ try testArgs(u64, u1025, 1 << 1024);
+ try testArgs(u128, u1025, 0);
+ try testArgs(u128, u1025, 1 << 0);
+ try testArgs(u128, u1025, 1 << 1024);
+ try testArgs(u256, u1025, 0);
+ try testArgs(u256, u1025, 1 << 0);
+ try testArgs(u256, u1025, 1 << 1024);
+ try testArgs(u512, u1025, 0);
+ try testArgs(u512, u1025, 1 << 0);
+ try testArgs(u512, u1025, 1 << 1024);
+ try testArgs(u1024, u1025, 0);
+ try testArgs(u1024, u1025, 1 << 0);
+ try testArgs(u1024, u1025, 1 << 1024);
+ }
+ fn testInts() !void {
+ try testSameSignednessInts();
+
+ try testArgs(u8, i1, -1);
+ try testArgs(u8, i1, 0);
+ try testArgs(u16, i1, -1);
+ try testArgs(u16, i1, 0);
+ try testArgs(u32, i1, -1);
+ try testArgs(u32, i1, 0);
+ try testArgs(u64, i1, -1);
+ try testArgs(u64, i1, 0);
+ try testArgs(u128, i1, -1);
+ try testArgs(u128, i1, 0);
+ try testArgs(u256, i1, -1);
+ try testArgs(u256, i1, 0);
+ try testArgs(u512, i1, -1);
+ try testArgs(u512, i1, 0);
+ try testArgs(u1024, i1, -1);
+ try testArgs(u1024, i1, 0);
+ try testArgs(i8, u1, 0);
+ try testArgs(i8, u1, 1 << 0);
+ try testArgs(i16, u1, 0);
+ try testArgs(i16, u1, 1 << 0);
+ try testArgs(i32, u1, 0);
+ try testArgs(i32, u1, 1 << 0);
+ try testArgs(i64, u1, 0);
+ try testArgs(i64, u1, 1 << 0);
+ try testArgs(i128, u1, 0);
+ try testArgs(i128, u1, 1 << 0);
+ try testArgs(i256, u1, 0);
+ try testArgs(i256, u1, 1 << 0);
+ try testArgs(i512, u1, 0);
+ try testArgs(i512, u1, 1 << 0);
+ try testArgs(i1024, u1, 0);
+ try testArgs(i1024, u1, 1 << 0);
+
+ try testArgs(u8, i2, -1 << 1);
+ try testArgs(u8, i2, -1);
+ try testArgs(u8, i2, 0);
+ try testArgs(u16, i2, -1 << 1);
+ try testArgs(u16, i2, -1);
+ try testArgs(u16, i2, 0);
+ try testArgs(u32, i2, -1 << 1);
+ try testArgs(u32, i2, -1);
+ try testArgs(u32, i2, 0);
+ try testArgs(u64, i2, -1 << 1);
+ try testArgs(u64, i2, -1);
+ try testArgs(u64, i2, 0);
+ try testArgs(u128, i2, -1 << 1);
+ try testArgs(u128, i2, -1);
+ try testArgs(u128, i2, 0);
+ try testArgs(u256, i2, -1 << 1);
+ try testArgs(u256, i2, -1);
+ try testArgs(u256, i2, 0);
+ try testArgs(u512, i2, -1 << 1);
+ try testArgs(u512, i2, -1);
+ try testArgs(u512, i2, 0);
+ try testArgs(u1024, i2, -1 << 1);
+ try testArgs(u1024, i2, -1);
+ try testArgs(u1024, i2, 0);
+ try testArgs(i8, u2, 0);
+ try testArgs(i8, u2, 1 << 0);
+ try testArgs(i8, u2, 1 << 1);
+ try testArgs(i16, u2, 0);
+ try testArgs(i16, u2, 1 << 0);
+ try testArgs(i16, u2, 1 << 1);
+ try testArgs(i32, u2, 0);
+ try testArgs(i32, u2, 1 << 0);
+ try testArgs(i32, u2, 1 << 1);
+ try testArgs(i64, u2, 0);
+ try testArgs(i64, u2, 1 << 0);
+ try testArgs(i64, u2, 1 << 1);
+ try testArgs(i128, u2, 0);
+ try testArgs(i128, u2, 1 << 0);
+ try testArgs(i128, u2, 1 << 1);
+ try testArgs(i256, u2, 0);
+ try testArgs(i256, u2, 1 << 0);
+ try testArgs(i256, u2, 1 << 1);
+ try testArgs(i512, u2, 0);
+ try testArgs(i512, u2, 1 << 0);
+ try testArgs(i512, u2, 1 << 1);
+ try testArgs(i1024, u2, 0);
+ try testArgs(i1024, u2, 1 << 0);
+ try testArgs(i1024, u2, 1 << 1);
+
+ try testArgs(u8, i3, -1 << 2);
+ try testArgs(u8, i3, -1);
+ try testArgs(u8, i3, 0);
+ try testArgs(u16, i3, -1 << 2);
+ try testArgs(u16, i3, -1);
+ try testArgs(u16, i3, 0);
+ try testArgs(u32, i3, -1 << 2);
+ try testArgs(u32, i3, -1);
+ try testArgs(u32, i3, 0);
+ try testArgs(u64, i3, -1 << 2);
+ try testArgs(u64, i3, -1);
+ try testArgs(u64, i3, 0);
+ try testArgs(u128, i3, -1 << 2);
+ try testArgs(u128, i3, -1);
+ try testArgs(u128, i3, 0);
+ try testArgs(u256, i3, -1 << 2);
+ try testArgs(u256, i3, -1);
+ try testArgs(u256, i3, 0);
+ try testArgs(u512, i3, -1 << 2);
+ try testArgs(u512, i3, -1);
+ try testArgs(u512, i3, 0);
+ try testArgs(u1024, i3, -1 << 2);
+ try testArgs(u1024, i3, -1);
+ try testArgs(u1024, i3, 0);
+ try testArgs(i8, u3, 0);
+ try testArgs(i8, u3, 1 << 0);
+ try testArgs(i8, u3, 1 << 2);
+ try testArgs(i16, u3, 0);
+ try testArgs(i16, u3, 1 << 0);
+ try testArgs(i16, u3, 1 << 2);
+ try testArgs(i32, u3, 0);
+ try testArgs(i32, u3, 1 << 0);
+ try testArgs(i32, u3, 1 << 2);
+ try testArgs(i64, u3, 0);
+ try testArgs(i64, u3, 1 << 0);
+ try testArgs(i64, u3, 1 << 2);
+ try testArgs(i128, u3, 0);
+ try testArgs(i128, u3, 1 << 0);
+ try testArgs(i128, u3, 1 << 2);
+ try testArgs(i256, u3, 0);
+ try testArgs(i256, u3, 1 << 0);
+ try testArgs(i256, u3, 1 << 2);
+ try testArgs(i512, u3, 0);
+ try testArgs(i512, u3, 1 << 0);
+ try testArgs(i512, u3, 1 << 2);
+ try testArgs(i1024, u3, 0);
+ try testArgs(i1024, u3, 1 << 0);
+ try testArgs(i1024, u3, 1 << 2);
+
+ try testArgs(u8, i4, -1 << 3);
+ try testArgs(u8, i4, -1);
+ try testArgs(u8, i4, 0);
+ try testArgs(u16, i4, -1 << 3);
+ try testArgs(u16, i4, -1);
+ try testArgs(u16, i4, 0);
+ try testArgs(u32, i4, -1 << 3);
+ try testArgs(u32, i4, -1);
+ try testArgs(u32, i4, 0);
+ try testArgs(u64, i4, -1 << 3);
+ try testArgs(u64, i4, -1);
+ try testArgs(u64, i4, 0);
+ try testArgs(u128, i4, -1 << 3);
+ try testArgs(u128, i4, -1);
+ try testArgs(u128, i4, 0);
+ try testArgs(u256, i4, -1 << 3);
+ try testArgs(u256, i4, -1);
+ try testArgs(u256, i4, 0);
+ try testArgs(u512, i4, -1 << 3);
+ try testArgs(u512, i4, -1);
+ try testArgs(u512, i4, 0);
+ try testArgs(u1024, i4, -1 << 3);
+ try testArgs(u1024, i4, -1);
+ try testArgs(u1024, i4, 0);
+ try testArgs(i8, u4, 0);
+ try testArgs(i8, u4, 1 << 0);
+ try testArgs(i8, u4, 1 << 3);
+ try testArgs(i16, u4, 0);
+ try testArgs(i16, u4, 1 << 0);
+ try testArgs(i16, u4, 1 << 3);
+ try testArgs(i32, u4, 0);
+ try testArgs(i32, u4, 1 << 0);
+ try testArgs(i32, u4, 1 << 3);
+ try testArgs(i64, u4, 0);
+ try testArgs(i64, u4, 1 << 0);
+ try testArgs(i64, u4, 1 << 3);
+ try testArgs(i128, u4, 0);
+ try testArgs(i128, u4, 1 << 0);
+ try testArgs(i128, u4, 1 << 3);
+ try testArgs(i256, u4, 0);
+ try testArgs(i256, u4, 1 << 0);
+ try testArgs(i256, u4, 1 << 3);
+ try testArgs(i512, u4, 0);
+ try testArgs(i512, u4, 1 << 0);
+ try testArgs(i512, u4, 1 << 3);
+ try testArgs(i1024, u4, 0);
+ try testArgs(i1024, u4, 1 << 0);
+ try testArgs(i1024, u4, 1 << 3);
+
+ try testArgs(u8, i5, -1 << 4);
+ try testArgs(u8, i5, -1);
+ try testArgs(u8, i5, 0);
+ try testArgs(u16, i5, -1 << 4);
+ try testArgs(u16, i5, -1);
+ try testArgs(u16, i5, 0);
+ try testArgs(u32, i5, -1 << 4);
+ try testArgs(u32, i5, -1);
+ try testArgs(u32, i5, 0);
+ try testArgs(u64, i5, -1 << 4);
+ try testArgs(u64, i5, -1);
+ try testArgs(u64, i5, 0);
+ try testArgs(u128, i5, -1 << 4);
+ try testArgs(u128, i5, -1);
+ try testArgs(u128, i5, 0);
+ try testArgs(u256, i5, -1 << 4);
+ try testArgs(u256, i5, -1);
+ try testArgs(u256, i5, 0);
+ try testArgs(u512, i5, -1 << 4);
+ try testArgs(u512, i5, -1);
+ try testArgs(u512, i5, 0);
+ try testArgs(u1024, i5, -1 << 4);
+ try testArgs(u1024, i5, -1);
+ try testArgs(u1024, i5, 0);
+ try testArgs(i8, u5, 0);
+ try testArgs(i8, u5, 1 << 0);
+ try testArgs(i8, u5, 1 << 4);
+ try testArgs(i16, u5, 0);
+ try testArgs(i16, u5, 1 << 0);
+ try testArgs(i16, u5, 1 << 4);
+ try testArgs(i32, u5, 0);
+ try testArgs(i32, u5, 1 << 0);
+ try testArgs(i32, u5, 1 << 4);
+ try testArgs(i64, u5, 0);
+ try testArgs(i64, u5, 1 << 0);
+ try testArgs(i64, u5, 1 << 4);
+ try testArgs(i128, u5, 0);
+ try testArgs(i128, u5, 1 << 0);
+ try testArgs(i128, u5, 1 << 4);
+ try testArgs(i256, u5, 0);
+ try testArgs(i256, u5, 1 << 0);
+ try testArgs(i256, u5, 1 << 4);
+ try testArgs(i512, u5, 0);
+ try testArgs(i512, u5, 1 << 0);
+ try testArgs(i512, u5, 1 << 4);
+ try testArgs(i1024, u5, 0);
+ try testArgs(i1024, u5, 1 << 0);
+ try testArgs(i1024, u5, 1 << 4);
+
+ try testArgs(u8, i7, -1 << 6);
+ try testArgs(u8, i7, -1);
+ try testArgs(u8, i7, 0);
+ try testArgs(u16, i7, -1 << 6);
+ try testArgs(u16, i7, -1);
+ try testArgs(u16, i7, 0);
+ try testArgs(u32, i7, -1 << 6);
+ try testArgs(u32, i7, -1);
+ try testArgs(u32, i7, 0);
+ try testArgs(u64, i7, -1 << 6);
+ try testArgs(u64, i7, -1);
+ try testArgs(u64, i7, 0);
+ try testArgs(u128, i7, -1 << 6);
+ try testArgs(u128, i7, -1);
+ try testArgs(u128, i7, 0);
+ try testArgs(u256, i7, -1 << 6);
+ try testArgs(u256, i7, -1);
+ try testArgs(u256, i7, 0);
+ try testArgs(u512, i7, -1 << 6);
+ try testArgs(u512, i7, -1);
+ try testArgs(u512, i7, 0);
+ try testArgs(u1024, i7, -1 << 6);
+ try testArgs(u1024, i7, -1);
+ try testArgs(u1024, i7, 0);
+ try testArgs(i8, u7, 0);
+ try testArgs(i8, u7, 1 << 0);
+ try testArgs(i8, u7, 1 << 6);
+ try testArgs(i16, u7, 0);
+ try testArgs(i16, u7, 1 << 0);
+ try testArgs(i16, u7, 1 << 6);
+ try testArgs(i32, u7, 0);
+ try testArgs(i32, u7, 1 << 0);
+ try testArgs(i32, u7, 1 << 6);
+ try testArgs(i64, u7, 0);
+ try testArgs(i64, u7, 1 << 0);
+ try testArgs(i64, u7, 1 << 6);
+ try testArgs(i128, u7, 0);
+ try testArgs(i128, u7, 1 << 0);
+ try testArgs(i128, u7, 1 << 6);
+ try testArgs(i256, u7, 0);
+ try testArgs(i256, u7, 1 << 0);
+ try testArgs(i256, u7, 1 << 6);
+ try testArgs(i512, u7, 0);
+ try testArgs(i512, u7, 1 << 0);
+ try testArgs(i512, u7, 1 << 6);
+ try testArgs(i1024, u7, 0);
+ try testArgs(i1024, u7, 1 << 0);
+ try testArgs(i1024, u7, 1 << 6);
+
+ try testArgs(u8, i8, -1 << 7);
+ try testArgs(u8, i8, -1);
+ try testArgs(u8, i8, 0);
+ try testArgs(u16, i8, -1 << 7);
+ try testArgs(u16, i8, -1);
+ try testArgs(u16, i8, 0);
+ try testArgs(u32, i8, -1 << 7);
+ try testArgs(u32, i8, -1);
+ try testArgs(u32, i8, 0);
+ try testArgs(u64, i8, -1 << 7);
+ try testArgs(u64, i8, -1);
+ try testArgs(u64, i8, 0);
+ try testArgs(u128, i8, -1 << 7);
+ try testArgs(u128, i8, -1);
+ try testArgs(u128, i8, 0);
+ try testArgs(u256, i8, -1 << 7);
+ try testArgs(u256, i8, -1);
+ try testArgs(u256, i8, 0);
+ try testArgs(u512, i8, -1 << 7);
+ try testArgs(u512, i8, -1);
+ try testArgs(u512, i8, 0);
+ try testArgs(u1024, i8, -1 << 7);
+ try testArgs(u1024, i8, -1);
+ try testArgs(u1024, i8, 0);
+ try testArgs(i8, u8, 0);
+ try testArgs(i8, u8, 1 << 0);
+ try testArgs(i8, u8, 1 << 7);
+ try testArgs(i16, u8, 0);
+ try testArgs(i16, u8, 1 << 0);
+ try testArgs(i16, u8, 1 << 7);
+ try testArgs(i32, u8, 0);
+ try testArgs(i32, u8, 1 << 0);
+ try testArgs(i32, u8, 1 << 7);
+ try testArgs(i64, u8, 0);
+ try testArgs(i64, u8, 1 << 0);
+ try testArgs(i64, u8, 1 << 7);
+ try testArgs(i128, u8, 0);
+ try testArgs(i128, u8, 1 << 0);
+ try testArgs(i128, u8, 1 << 7);
+ try testArgs(i256, u8, 0);
+ try testArgs(i256, u8, 1 << 0);
+ try testArgs(i256, u8, 1 << 7);
+ try testArgs(i512, u8, 0);
+ try testArgs(i512, u8, 1 << 0);
+ try testArgs(i512, u8, 1 << 7);
+ try testArgs(i1024, u8, 0);
+ try testArgs(i1024, u8, 1 << 0);
+ try testArgs(i1024, u8, 1 << 7);
+
+ try testArgs(u8, i9, -1 << 8);
+ try testArgs(u8, i9, -1);
+ try testArgs(u8, i9, 0);
+ try testArgs(u16, i9, -1 << 8);
+ try testArgs(u16, i9, -1);
+ try testArgs(u16, i9, 0);
+ try testArgs(u32, i9, -1 << 8);
+ try testArgs(u32, i9, -1);
+ try testArgs(u32, i9, 0);
+ try testArgs(u64, i9, -1 << 8);
+ try testArgs(u64, i9, -1);
+ try testArgs(u64, i9, 0);
+ try testArgs(u128, i9, -1 << 8);
+ try testArgs(u128, i9, -1);
+ try testArgs(u128, i9, 0);
+ try testArgs(u256, i9, -1 << 8);
+ try testArgs(u256, i9, -1);
+ try testArgs(u256, i9, 0);
+ try testArgs(u512, i9, -1 << 8);
+ try testArgs(u512, i9, -1);
+ try testArgs(u512, i9, 0);
+ try testArgs(u1024, i9, -1 << 8);
+ try testArgs(u1024, i9, -1);
+ try testArgs(u1024, i9, 0);
+ try testArgs(i8, u9, 0);
+ try testArgs(i8, u9, 1 << 0);
+ try testArgs(i8, u9, 1 << 8);
+ try testArgs(i16, u9, 0);
+ try testArgs(i16, u9, 1 << 0);
+ try testArgs(i16, u9, 1 << 8);
+ try testArgs(i32, u9, 0);
+ try testArgs(i32, u9, 1 << 0);
+ try testArgs(i32, u9, 1 << 8);
+ try testArgs(i64, u9, 0);
+ try testArgs(i64, u9, 1 << 0);
+ try testArgs(i64, u9, 1 << 8);
+ try testArgs(i128, u9, 0);
+ try testArgs(i128, u9, 1 << 0);
+ try testArgs(i128, u9, 1 << 8);
+ try testArgs(i256, u9, 0);
+ try testArgs(i256, u9, 1 << 0);
+ try testArgs(i256, u9, 1 << 8);
+ try testArgs(i512, u9, 0);
+ try testArgs(i512, u9, 1 << 0);
+ try testArgs(i512, u9, 1 << 8);
+ try testArgs(i1024, u9, 0);
+ try testArgs(i1024, u9, 1 << 0);
+ try testArgs(i1024, u9, 1 << 8);
+
+ try testArgs(u8, i15, -1 << 14);
+ try testArgs(u8, i15, -1);
+ try testArgs(u8, i15, 0);
+ try testArgs(u16, i15, -1 << 14);
+ try testArgs(u16, i15, -1);
+ try testArgs(u16, i15, 0);
+ try testArgs(u32, i15, -1 << 14);
+ try testArgs(u32, i15, -1);
+ try testArgs(u32, i15, 0);
+ try testArgs(u64, i15, -1 << 14);
+ try testArgs(u64, i15, -1);
+ try testArgs(u64, i15, 0);
+ try testArgs(u128, i15, -1 << 14);
+ try testArgs(u128, i15, -1);
+ try testArgs(u128, i15, 0);
+ try testArgs(u256, i15, -1 << 14);
+ try testArgs(u256, i15, -1);
+ try testArgs(u256, i15, 0);
+ try testArgs(u512, i15, -1 << 14);
+ try testArgs(u512, i15, -1);
+ try testArgs(u512, i15, 0);
+ try testArgs(u1024, i15, -1 << 14);
+ try testArgs(u1024, i15, -1);
+ try testArgs(u1024, i15, 0);
+ try testArgs(i8, u15, 0);
+ try testArgs(i8, u15, 1 << 0);
+ try testArgs(i8, u15, 1 << 14);
+ try testArgs(i16, u15, 0);
+ try testArgs(i16, u15, 1 << 0);
+ try testArgs(i16, u15, 1 << 14);
+ try testArgs(i32, u15, 0);
+ try testArgs(i32, u15, 1 << 0);
+ try testArgs(i32, u15, 1 << 14);
+ try testArgs(i64, u15, 0);
+ try testArgs(i64, u15, 1 << 0);
+ try testArgs(i64, u15, 1 << 14);
+ try testArgs(i128, u15, 0);
+ try testArgs(i128, u15, 1 << 0);
+ try testArgs(i128, u15, 1 << 14);
+ try testArgs(i256, u15, 0);
+ try testArgs(i256, u15, 1 << 0);
+ try testArgs(i256, u15, 1 << 14);
+ try testArgs(i512, u15, 0);
+ try testArgs(i512, u15, 1 << 0);
+ try testArgs(i512, u15, 1 << 14);
+ try testArgs(i1024, u15, 0);
+ try testArgs(i1024, u15, 1 << 0);
+ try testArgs(i1024, u15, 1 << 14);
+
+ try testArgs(u8, i16, -1 << 15);
+ try testArgs(u8, i16, -1);
+ try testArgs(u8, i16, 0);
+ try testArgs(u16, i16, -1 << 15);
+ try testArgs(u16, i16, -1);
+ try testArgs(u16, i16, 0);
+ try testArgs(u32, i16, -1 << 15);
+ try testArgs(u32, i16, -1);
+ try testArgs(u32, i16, 0);
+ try testArgs(u64, i16, -1 << 15);
+ try testArgs(u64, i16, -1);
+ try testArgs(u64, i16, 0);
+ try testArgs(u128, i16, -1 << 15);
+ try testArgs(u128, i16, -1);
+ try testArgs(u128, i16, 0);
+ try testArgs(u256, i16, -1 << 15);
+ try testArgs(u256, i16, -1);
+ try testArgs(u256, i16, 0);
+ try testArgs(u512, i16, -1 << 15);
+ try testArgs(u512, i16, -1);
+ try testArgs(u512, i16, 0);
+ try testArgs(u1024, i16, -1 << 15);
+ try testArgs(u1024, i16, -1);
+ try testArgs(u1024, i16, 0);
+ try testArgs(i8, u16, 0);
+ try testArgs(i8, u16, 1 << 0);
+ try testArgs(i8, u16, 1 << 15);
+ try testArgs(i16, u16, 0);
+ try testArgs(i16, u16, 1 << 0);
+ try testArgs(i16, u16, 1 << 15);
+ try testArgs(i32, u16, 0);
+ try testArgs(i32, u16, 1 << 0);
+ try testArgs(i32, u16, 1 << 15);
+ try testArgs(i64, u16, 0);
+ try testArgs(i64, u16, 1 << 0);
+ try testArgs(i64, u16, 1 << 15);
+ try testArgs(i128, u16, 0);
+ try testArgs(i128, u16, 1 << 0);
+ try testArgs(i128, u16, 1 << 15);
+ try testArgs(i256, u16, 0);
+ try testArgs(i256, u16, 1 << 0);
+ try testArgs(i256, u16, 1 << 15);
+ try testArgs(i512, u16, 0);
+ try testArgs(i512, u16, 1 << 0);
+ try testArgs(i512, u16, 1 << 15);
+ try testArgs(i1024, u16, 0);
+ try testArgs(i1024, u16, 1 << 0);
+ try testArgs(i1024, u16, 1 << 15);
+
+ try testArgs(u8, i17, -1 << 16);
+ try testArgs(u8, i17, -1);
+ try testArgs(u8, i17, 0);
+ try testArgs(u16, i17, -1 << 16);
+ try testArgs(u16, i17, -1);
+ try testArgs(u16, i17, 0);
+ try testArgs(u32, i17, -1 << 16);
+ try testArgs(u32, i17, -1);
+ try testArgs(u32, i17, 0);
+ try testArgs(u64, i17, -1 << 16);
+ try testArgs(u64, i17, -1);
+ try testArgs(u64, i17, 0);
+ try testArgs(u128, i17, -1 << 16);
+ try testArgs(u128, i17, -1);
+ try testArgs(u128, i17, 0);
+ try testArgs(u256, i17, -1 << 16);
+ try testArgs(u256, i17, -1);
+ try testArgs(u256, i17, 0);
+ try testArgs(u512, i17, -1 << 16);
+ try testArgs(u512, i17, -1);
+ try testArgs(u512, i17, 0);
+ try testArgs(u1024, i17, -1 << 16);
+ try testArgs(u1024, i17, -1);
+ try testArgs(u1024, i17, 0);
+ try testArgs(i8, u17, 0);
+ try testArgs(i8, u17, 1 << 0);
+ try testArgs(i8, u17, 1 << 16);
+ try testArgs(i16, u17, 0);
+ try testArgs(i16, u17, 1 << 0);
+ try testArgs(i16, u17, 1 << 16);
+ try testArgs(i32, u17, 0);
+ try testArgs(i32, u17, 1 << 0);
+ try testArgs(i32, u17, 1 << 16);
+ try testArgs(i64, u17, 0);
+ try testArgs(i64, u17, 1 << 0);
+ try testArgs(i64, u17, 1 << 16);
+ try testArgs(i128, u17, 0);
+ try testArgs(i128, u17, 1 << 0);
+ try testArgs(i128, u17, 1 << 16);
+ try testArgs(i256, u17, 0);
+ try testArgs(i256, u17, 1 << 0);
+ try testArgs(i256, u17, 1 << 16);
+ try testArgs(i512, u17, 0);
+ try testArgs(i512, u17, 1 << 0);
+ try testArgs(i512, u17, 1 << 16);
+ try testArgs(i1024, u17, 0);
+ try testArgs(i1024, u17, 1 << 0);
+ try testArgs(i1024, u17, 1 << 16);
+
+ try testArgs(u8, i31, -1 << 30);
+ try testArgs(u8, i31, -1);
+ try testArgs(u8, i31, 0);
+ try testArgs(u16, i31, -1 << 30);
+ try testArgs(u16, i31, -1);
+ try testArgs(u16, i31, 0);
+ try testArgs(u32, i31, -1 << 30);
+ try testArgs(u32, i31, -1);
+ try testArgs(u32, i31, 0);
+ try testArgs(u64, i31, -1 << 30);
+ try testArgs(u64, i31, -1);
+ try testArgs(u64, i31, 0);
+ try testArgs(u128, i31, -1 << 30);
+ try testArgs(u128, i31, -1);
+ try testArgs(u128, i31, 0);
+ try testArgs(u256, i31, -1 << 30);
+ try testArgs(u256, i31, -1);
+ try testArgs(u256, i31, 0);
+ try testArgs(u512, i31, -1 << 30);
+ try testArgs(u512, i31, -1);
+ try testArgs(u512, i31, 0);
+ try testArgs(u1024, i31, -1 << 30);
+ try testArgs(u1024, i31, -1);
+ try testArgs(u1024, i31, 0);
+ try testArgs(i8, u31, 0);
+ try testArgs(i8, u31, 1 << 0);
+ try testArgs(i8, u31, 1 << 30);
+ try testArgs(i16, u31, 0);
+ try testArgs(i16, u31, 1 << 0);
+ try testArgs(i16, u31, 1 << 30);
+ try testArgs(i32, u31, 0);
+ try testArgs(i32, u31, 1 << 0);
+ try testArgs(i32, u31, 1 << 30);
+ try testArgs(i64, u31, 0);
+ try testArgs(i64, u31, 1 << 0);
+ try testArgs(i64, u31, 1 << 30);
+ try testArgs(i128, u31, 0);
+ try testArgs(i128, u31, 1 << 0);
+ try testArgs(i128, u31, 1 << 30);
+ try testArgs(i256, u31, 0);
+ try testArgs(i256, u31, 1 << 0);
+ try testArgs(i256, u31, 1 << 30);
+ try testArgs(i512, u31, 0);
+ try testArgs(i512, u31, 1 << 0);
+ try testArgs(i512, u31, 1 << 30);
+ try testArgs(i1024, u31, 0);
+ try testArgs(i1024, u31, 1 << 0);
+ try testArgs(i1024, u31, 1 << 30);
+
+ try testArgs(u8, i32, -1 << 31);
+ try testArgs(u8, i32, -1);
+ try testArgs(u8, i32, 0);
+ try testArgs(u16, i32, -1 << 31);
+ try testArgs(u16, i32, -1);
+ try testArgs(u16, i32, 0);
+ try testArgs(u32, i32, -1 << 31);
+ try testArgs(u32, i32, -1);
+ try testArgs(u32, i32, 0);
+ try testArgs(u64, i32, -1 << 31);
+ try testArgs(u64, i32, -1);
+ try testArgs(u64, i32, 0);
+ try testArgs(u128, i32, -1 << 31);
+ try testArgs(u128, i32, -1);
+ try testArgs(u128, i32, 0);
+ try testArgs(u256, i32, -1 << 31);
+ try testArgs(u256, i32, -1);
+ try testArgs(u256, i32, 0);
+ try testArgs(u512, i32, -1 << 31);
+ try testArgs(u512, i32, -1);
+ try testArgs(u512, i32, 0);
+ try testArgs(u1024, i32, -1 << 31);
+ try testArgs(u1024, i32, -1);
+ try testArgs(u1024, i32, 0);
+ try testArgs(i8, u32, 0);
+ try testArgs(i8, u32, 1 << 0);
+ try testArgs(i8, u32, 1 << 31);
+ try testArgs(i16, u32, 0);
+ try testArgs(i16, u32, 1 << 0);
+ try testArgs(i16, u32, 1 << 31);
+ try testArgs(i32, u32, 0);
+ try testArgs(i32, u32, 1 << 0);
+ try testArgs(i32, u32, 1 << 31);
+ try testArgs(i64, u32, 0);
+ try testArgs(i64, u32, 1 << 0);
+ try testArgs(i64, u32, 1 << 31);
+ try testArgs(i128, u32, 0);
+ try testArgs(i128, u32, 1 << 0);
+ try testArgs(i128, u32, 1 << 31);
+ try testArgs(i256, u32, 0);
+ try testArgs(i256, u32, 1 << 0);
+ try testArgs(i256, u32, 1 << 31);
+ try testArgs(i512, u32, 0);
+ try testArgs(i512, u32, 1 << 0);
+ try testArgs(i512, u32, 1 << 31);
+ try testArgs(i1024, u32, 0);
+ try testArgs(i1024, u32, 1 << 0);
+ try testArgs(i1024, u32, 1 << 31);
+
+ try testArgs(u8, i33, -1 << 32);
+ try testArgs(u8, i33, -1);
+ try testArgs(u8, i33, 0);
+ try testArgs(u16, i33, -1 << 32);
+ try testArgs(u16, i33, -1);
+ try testArgs(u16, i33, 0);
+ try testArgs(u32, i33, -1 << 32);
+ try testArgs(u32, i33, -1);
+ try testArgs(u32, i33, 0);
+ try testArgs(u64, i33, -1 << 32);
+ try testArgs(u64, i33, -1);
+ try testArgs(u64, i33, 0);
+ try testArgs(u128, i33, -1 << 32);
+ try testArgs(u128, i33, -1);
+ try testArgs(u128, i33, 0);
+ try testArgs(u256, i33, -1 << 32);
+ try testArgs(u256, i33, -1);
+ try testArgs(u256, i33, 0);
+ try testArgs(u512, i33, -1 << 32);
+ try testArgs(u512, i33, -1);
+ try testArgs(u512, i33, 0);
+ try testArgs(u1024, i33, -1 << 32);
+ try testArgs(u1024, i33, -1);
+ try testArgs(u1024, i33, 0);
+ try testArgs(i8, u33, 0);
+ try testArgs(i8, u33, 1 << 0);
+ try testArgs(i8, u33, 1 << 32);
+ try testArgs(i16, u33, 0);
+ try testArgs(i16, u33, 1 << 0);
+ try testArgs(i16, u33, 1 << 32);
+ try testArgs(i32, u33, 0);
+ try testArgs(i32, u33, 1 << 0);
+ try testArgs(i32, u33, 1 << 32);
+ try testArgs(i64, u33, 0);
+ try testArgs(i64, u33, 1 << 0);
+ try testArgs(i64, u33, 1 << 32);
+ try testArgs(i128, u33, 0);
+ try testArgs(i128, u33, 1 << 0);
+ try testArgs(i128, u33, 1 << 32);
+ try testArgs(i256, u33, 0);
+ try testArgs(i256, u33, 1 << 0);
+ try testArgs(i256, u33, 1 << 32);
+ try testArgs(i512, u33, 0);
+ try testArgs(i512, u33, 1 << 0);
+ try testArgs(i512, u33, 1 << 32);
+ try testArgs(i1024, u33, 0);
+ try testArgs(i1024, u33, 1 << 0);
+ try testArgs(i1024, u33, 1 << 32);
+
+ try testArgs(u8, i63, -1 << 62);
+ try testArgs(u8, i63, -1);
+ try testArgs(u8, i63, 0);
+ try testArgs(u16, i63, -1 << 62);
+ try testArgs(u16, i63, -1);
+ try testArgs(u16, i63, 0);
+ try testArgs(u32, i63, -1 << 62);
+ try testArgs(u32, i63, -1);
+ try testArgs(u32, i63, 0);
+ try testArgs(u64, i63, -1 << 62);
+ try testArgs(u64, i63, -1);
+ try testArgs(u64, i63, 0);
+ try testArgs(u128, i63, -1 << 62);
+ try testArgs(u128, i63, -1);
+ try testArgs(u128, i63, 0);
+ try testArgs(u256, i63, -1 << 62);
+ try testArgs(u256, i63, -1);
+ try testArgs(u256, i63, 0);
+ try testArgs(u512, i63, -1 << 62);
+ try testArgs(u512, i63, -1);
+ try testArgs(u512, i63, 0);
+ try testArgs(u1024, i63, -1 << 62);
+ try testArgs(u1024, i63, -1);
+ try testArgs(u1024, i63, 0);
+ try testArgs(i8, u63, 0);
+ try testArgs(i8, u63, 1 << 0);
+ try testArgs(i8, u63, 1 << 62);
+ try testArgs(i16, u63, 0);
+ try testArgs(i16, u63, 1 << 0);
+ try testArgs(i16, u63, 1 << 62);
+ try testArgs(i32, u63, 0);
+ try testArgs(i32, u63, 1 << 0);
+ try testArgs(i32, u63, 1 << 62);
+ try testArgs(i64, u63, 0);
+ try testArgs(i64, u63, 1 << 0);
+ try testArgs(i64, u63, 1 << 62);
+ try testArgs(i128, u63, 0);
+ try testArgs(i128, u63, 1 << 0);
+ try testArgs(i128, u63, 1 << 62);
+ try testArgs(i256, u63, 0);
+ try testArgs(i256, u63, 1 << 0);
+ try testArgs(i256, u63, 1 << 62);
+ try testArgs(i512, u63, 0);
+ try testArgs(i512, u63, 1 << 0);
+ try testArgs(i512, u63, 1 << 62);
+ try testArgs(i1024, u63, 0);
+ try testArgs(i1024, u63, 1 << 0);
+ try testArgs(i1024, u63, 1 << 62);
+
+ try testArgs(u8, i64, -1 << 63);
+ try testArgs(u8, i64, -1);
+ try testArgs(u8, i64, 0);
+ try testArgs(u16, i64, -1 << 63);
+ try testArgs(u16, i64, -1);
+ try testArgs(u16, i64, 0);
+ try testArgs(u32, i64, -1 << 63);
+ try testArgs(u32, i64, -1);
+ try testArgs(u32, i64, 0);
+ try testArgs(u64, i64, -1 << 63);
+ try testArgs(u64, i64, -1);
+ try testArgs(u64, i64, 0);
+ try testArgs(u128, i64, -1 << 63);
+ try testArgs(u128, i64, -1);
+ try testArgs(u128, i64, 0);
+ try testArgs(u256, i64, -1 << 63);
+ try testArgs(u256, i64, -1);
+ try testArgs(u256, i64, 0);
+ try testArgs(u512, i64, -1 << 63);
+ try testArgs(u512, i64, -1);
+ try testArgs(u512, i64, 0);
+ try testArgs(u1024, i64, -1 << 63);
+ try testArgs(u1024, i64, -1);
+ try testArgs(u1024, i64, 0);
+ try testArgs(i8, u64, 0);
+ try testArgs(i8, u64, 1 << 0);
+ try testArgs(i8, u64, 1 << 63);
+ try testArgs(i16, u64, 0);
+ try testArgs(i16, u64, 1 << 0);
+ try testArgs(i16, u64, 1 << 63);
+ try testArgs(i32, u64, 0);
+ try testArgs(i32, u64, 1 << 0);
+ try testArgs(i32, u64, 1 << 63);
+ try testArgs(i64, u64, 0);
+ try testArgs(i64, u64, 1 << 0);
+ try testArgs(i64, u64, 1 << 63);
+ try testArgs(i128, u64, 0);
+ try testArgs(i128, u64, 1 << 0);
+ try testArgs(i128, u64, 1 << 63);
+ try testArgs(i256, u64, 0);
+ try testArgs(i256, u64, 1 << 0);
+ try testArgs(i256, u64, 1 << 63);
+ try testArgs(i512, u64, 0);
+ try testArgs(i512, u64, 1 << 0);
+ try testArgs(i512, u64, 1 << 63);
+ try testArgs(i1024, u64, 0);
+ try testArgs(i1024, u64, 1 << 0);
+ try testArgs(i1024, u64, 1 << 63);
+
+ try testArgs(u8, i65, -1 << 64);
+ try testArgs(u8, i65, -1);
+ try testArgs(u8, i65, 0);
+ try testArgs(u16, i65, -1 << 64);
+ try testArgs(u16, i65, -1);
+ try testArgs(u16, i65, 0);
+ try testArgs(u32, i65, -1 << 64);
+ try testArgs(u32, i65, -1);
+ try testArgs(u32, i65, 0);
+ try testArgs(u64, i65, -1 << 64);
+ try testArgs(u64, i65, -1);
+ try testArgs(u64, i65, 0);
+ try testArgs(u128, i65, -1 << 64);
+ try testArgs(u128, i65, -1);
+ try testArgs(u128, i65, 0);
+ try testArgs(u256, i65, -1 << 64);
+ try testArgs(u256, i65, -1);
+ try testArgs(u256, i65, 0);
+ try testArgs(u512, i65, -1 << 64);
+ try testArgs(u512, i65, -1);
+ try testArgs(u512, i65, 0);
+ try testArgs(u1024, i65, -1 << 64);
+ try testArgs(u1024, i65, -1);
+ try testArgs(u1024, i65, 0);
+ try testArgs(i8, u65, 0);
+ try testArgs(i8, u65, 1 << 0);
+ try testArgs(i8, u65, 1 << 64);
+ try testArgs(i16, u65, 0);
+ try testArgs(i16, u65, 1 << 0);
+ try testArgs(i16, u65, 1 << 64);
+ try testArgs(i32, u65, 0);
+ try testArgs(i32, u65, 1 << 0);
+ try testArgs(i32, u65, 1 << 64);
+ try testArgs(i64, u65, 0);
+ try testArgs(i64, u65, 1 << 0);
+ try testArgs(i64, u65, 1 << 64);
+ try testArgs(i128, u65, 0);
+ try testArgs(i128, u65, 1 << 0);
+ try testArgs(i128, u65, 1 << 64);
+ try testArgs(i256, u65, 0);
+ try testArgs(i256, u65, 1 << 0);
+ try testArgs(i256, u65, 1 << 64);
+ try testArgs(i512, u65, 0);
+ try testArgs(i512, u65, 1 << 0);
+ try testArgs(i512, u65, 1 << 64);
+ try testArgs(i1024, u65, 0);
+ try testArgs(i1024, u65, 1 << 0);
+ try testArgs(i1024, u65, 1 << 64);
+
+ try testArgs(u8, i95, -1 << 94);
+ try testArgs(u8, i95, -1);
+ try testArgs(u8, i95, 0);
+ try testArgs(u16, i95, -1 << 94);
+ try testArgs(u16, i95, -1);
+ try testArgs(u16, i95, 0);
+ try testArgs(u32, i95, -1 << 94);
+ try testArgs(u32, i95, -1);
+ try testArgs(u32, i95, 0);
+ try testArgs(u64, i95, -1 << 94);
+ try testArgs(u64, i95, -1);
+ try testArgs(u64, i95, 0);
+ try testArgs(u128, i95, -1 << 94);
+ try testArgs(u128, i95, -1);
+ try testArgs(u128, i95, 0);
+ try testArgs(u256, i95, -1 << 94);
+ try testArgs(u256, i95, -1);
+ try testArgs(u256, i95, 0);
+ try testArgs(u512, i95, -1 << 94);
+ try testArgs(u512, i95, -1);
+ try testArgs(u512, i95, 0);
try testArgs(u1024, i95, -1 << 94);
try testArgs(u1024, i95, -1);
try testArgs(u1024, i95, 0);
try testArgs(i8, u95, 0);
try testArgs(i8, u95, 1 << 0);
try testArgs(i8, u95, 1 << 94);
- try testArgs(u8, u95, 0);
- try testArgs(u8, u95, 1 << 0);
- try testArgs(u8, u95, 1 << 94);
try testArgs(i16, u95, 0);
try testArgs(i16, u95, 1 << 0);
try testArgs(i16, u95, 1 << 94);
- try testArgs(u16, u95, 0);
- try testArgs(u16, u95, 1 << 0);
- try testArgs(u16, u95, 1 << 94);
try testArgs(i32, u95, 0);
try testArgs(i32, u95, 1 << 0);
try testArgs(i32, u95, 1 << 94);
- try testArgs(u32, u95, 0);
- try testArgs(u32, u95, 1 << 0);
- try testArgs(u32, u95, 1 << 94);
try testArgs(i64, u95, 0);
try testArgs(i64, u95, 1 << 0);
try testArgs(i64, u95, 1 << 94);
- try testArgs(u64, u95, 0);
- try testArgs(u64, u95, 1 << 0);
- try testArgs(u64, u95, 1 << 94);
try testArgs(i128, u95, 0);
try testArgs(i128, u95, 1 << 0);
try testArgs(i128, u95, 1 << 94);
- try testArgs(u128, u95, 0);
- try testArgs(u128, u95, 1 << 0);
- try testArgs(u128, u95, 1 << 94);
try testArgs(i256, u95, 0);
try testArgs(i256, u95, 1 << 0);
try testArgs(i256, u95, 1 << 94);
- try testArgs(u256, u95, 0);
- try testArgs(u256, u95, 1 << 0);
- try testArgs(u256, u95, 1 << 94);
try testArgs(i512, u95, 0);
try testArgs(i512, u95, 1 << 0);
try testArgs(i512, u95, 1 << 94);
- try testArgs(u512, u95, 0);
- try testArgs(u512, u95, 1 << 0);
- try testArgs(u512, u95, 1 << 94);
try testArgs(i1024, u95, 0);
try testArgs(i1024, u95, 1 << 0);
try testArgs(i1024, u95, 1 << 94);
- try testArgs(u1024, u95, 0);
- try testArgs(u1024, u95, 1 << 0);
- try testArgs(u1024, u95, 1 << 94);
- try testArgs(i8, i96, -1 << 95);
- try testArgs(i8, i96, -1);
- try testArgs(i8, i96, 0);
try testArgs(u8, i96, -1 << 95);
try testArgs(u8, i96, -1);
try testArgs(u8, i96, 0);
- try testArgs(i16, i96, -1 << 95);
- try testArgs(i16, i96, -1);
- try testArgs(i16, i96, 0);
try testArgs(u16, i96, -1 << 95);
try testArgs(u16, i96, -1);
try testArgs(u16, i96, 0);
- try testArgs(i32, i96, -1 << 95);
- try testArgs(i32, i96, -1);
- try testArgs(i32, i96, 0);
try testArgs(u32, i96, -1 << 95);
try testArgs(u32, i96, -1);
try testArgs(u32, i96, 0);
- try testArgs(i64, i96, -1 << 95);
- try testArgs(i64, i96, -1);
- try testArgs(i64, i96, 0);
try testArgs(u64, i96, -1 << 95);
try testArgs(u64, i96, -1);
try testArgs(u64, i96, 0);
- try testArgs(i128, i96, -1 << 95);
- try testArgs(i128, i96, -1);
- try testArgs(i128, i96, 0);
try testArgs(u128, i96, -1 << 95);
try testArgs(u128, i96, -1);
try testArgs(u128, i96, 0);
- try testArgs(i256, i96, -1 << 95);
- try testArgs(i256, i96, -1);
- try testArgs(i256, i96, 0);
try testArgs(u256, i96, -1 << 95);
try testArgs(u256, i96, -1);
try testArgs(u256, i96, 0);
- try testArgs(i512, i96, -1 << 95);
- try testArgs(i512, i96, -1);
- try testArgs(i512, i96, 0);
try testArgs(u512, i96, -1 << 95);
try testArgs(u512, i96, -1);
try testArgs(u512, i96, 0);
- try testArgs(i1024, i96, -1 << 95);
- try testArgs(i1024, i96, -1);
- try testArgs(i1024, i96, 0);
try testArgs(u1024, i96, -1 << 95);
try testArgs(u1024, i96, -1);
try testArgs(u1024, i96, 0);
try testArgs(i8, u96, 0);
try testArgs(i8, u96, 1 << 0);
try testArgs(i8, u96, 1 << 95);
- try testArgs(u8, u96, 0);
- try testArgs(u8, u96, 1 << 0);
- try testArgs(u8, u96, 1 << 95);
try testArgs(i16, u96, 0);
try testArgs(i16, u96, 1 << 0);
try testArgs(i16, u96, 1 << 95);
- try testArgs(u16, u96, 0);
- try testArgs(u16, u96, 1 << 0);
- try testArgs(u16, u96, 1 << 95);
try testArgs(i32, u96, 0);
try testArgs(i32, u96, 1 << 0);
try testArgs(i32, u96, 1 << 95);
- try testArgs(u32, u96, 0);
- try testArgs(u32, u96, 1 << 0);
- try testArgs(u32, u96, 1 << 95);
try testArgs(i64, u96, 0);
try testArgs(i64, u96, 1 << 0);
try testArgs(i64, u96, 1 << 95);
- try testArgs(u64, u96, 0);
- try testArgs(u64, u96, 1 << 0);
- try testArgs(u64, u96, 1 << 95);
try testArgs(i128, u96, 0);
try testArgs(i128, u96, 1 << 0);
try testArgs(i128, u96, 1 << 95);
- try testArgs(u128, u96, 0);
- try testArgs(u128, u96, 1 << 0);
- try testArgs(u128, u96, 1 << 95);
try testArgs(i256, u96, 0);
try testArgs(i256, u96, 1 << 0);
try testArgs(i256, u96, 1 << 95);
- try testArgs(u256, u96, 0);
- try testArgs(u256, u96, 1 << 0);
- try testArgs(u256, u96, 1 << 95);
try testArgs(i512, u96, 0);
try testArgs(i512, u96, 1 << 0);
try testArgs(i512, u96, 1 << 95);
- try testArgs(u512, u96, 0);
- try testArgs(u512, u96, 1 << 0);
- try testArgs(u512, u96, 1 << 95);
try testArgs(i1024, u96, 0);
try testArgs(i1024, u96, 1 << 0);
try testArgs(i1024, u96, 1 << 95);
- try testArgs(u1024, u96, 0);
- try testArgs(u1024, u96, 1 << 0);
- try testArgs(u1024, u96, 1 << 95);
- try testArgs(i8, i97, -1 << 96);
- try testArgs(i8, i97, -1);
- try testArgs(i8, i97, 0);
try testArgs(u8, i97, -1 << 96);
try testArgs(u8, i97, -1);
try testArgs(u8, i97, 0);
- try testArgs(i16, i97, -1 << 96);
- try testArgs(i16, i97, -1);
- try testArgs(i16, i97, 0);
try testArgs(u16, i97, -1 << 96);
try testArgs(u16, i97, -1);
try testArgs(u16, i97, 0);
- try testArgs(i32, i97, -1 << 96);
- try testArgs(i32, i97, -1);
- try testArgs(i32, i97, 0);
try testArgs(u32, i97, -1 << 96);
try testArgs(u32, i97, -1);
try testArgs(u32, i97, 0);
- try testArgs(i64, i97, -1 << 96);
- try testArgs(i64, i97, -1);
- try testArgs(i64, i97, 0);
try testArgs(u64, i97, -1 << 96);
try testArgs(u64, i97, -1);
try testArgs(u64, i97, 0);
- try testArgs(i128, i97, -1 << 96);
- try testArgs(i128, i97, -1);
- try testArgs(i128, i97, 0);
try testArgs(u128, i97, -1 << 96);
try testArgs(u128, i97, -1);
try testArgs(u128, i97, 0);
- try testArgs(i256, i97, -1 << 96);
- try testArgs(i256, i97, -1);
- try testArgs(i256, i97, 0);
try testArgs(u256, i97, -1 << 96);
try testArgs(u256, i97, -1);
try testArgs(u256, i97, 0);
- try testArgs(i512, i97, -1 << 96);
- try testArgs(i512, i97, -1);
- try testArgs(i512, i97, 0);
try testArgs(u512, i97, -1 << 96);
try testArgs(u512, i97, -1);
try testArgs(u512, i97, 0);
- try testArgs(i1024, i97, -1 << 96);
- try testArgs(i1024, i97, -1);
- try testArgs(i1024, i97, 0);
try testArgs(u1024, i97, -1 << 96);
try testArgs(u1024, i97, -1);
try testArgs(u1024, i97, 0);
try testArgs(i8, u97, 0);
try testArgs(i8, u97, 1 << 0);
try testArgs(i8, u97, 1 << 96);
- try testArgs(u8, u97, 0);
- try testArgs(u8, u97, 1 << 0);
- try testArgs(u8, u97, 1 << 96);
try testArgs(i16, u97, 0);
try testArgs(i16, u97, 1 << 0);
try testArgs(i16, u97, 1 << 96);
- try testArgs(u16, u97, 0);
- try testArgs(u16, u97, 1 << 0);
- try testArgs(u16, u97, 1 << 96);
try testArgs(i32, u97, 0);
try testArgs(i32, u97, 1 << 0);
try testArgs(i32, u97, 1 << 96);
- try testArgs(u32, u97, 0);
- try testArgs(u32, u97, 1 << 0);
- try testArgs(u32, u97, 1 << 96);
try testArgs(i64, u97, 0);
try testArgs(i64, u97, 1 << 0);
try testArgs(i64, u97, 1 << 96);
- try testArgs(u64, u97, 0);
- try testArgs(u64, u97, 1 << 0);
- try testArgs(u64, u97, 1 << 96);
try testArgs(i128, u97, 0);
try testArgs(i128, u97, 1 << 0);
try testArgs(i128, u97, 1 << 96);
- try testArgs(u128, u97, 0);
- try testArgs(u128, u97, 1 << 0);
- try testArgs(u128, u97, 1 << 96);
try testArgs(i256, u97, 0);
try testArgs(i256, u97, 1 << 0);
try testArgs(i256, u97, 1 << 96);
- try testArgs(u256, u97, 0);
- try testArgs(u256, u97, 1 << 0);
- try testArgs(u256, u97, 1 << 96);
try testArgs(i512, u97, 0);
try testArgs(i512, u97, 1 << 0);
try testArgs(i512, u97, 1 << 96);
- try testArgs(u512, u97, 0);
- try testArgs(u512, u97, 1 << 0);
- try testArgs(u512, u97, 1 << 96);
try testArgs(i1024, u97, 0);
try testArgs(i1024, u97, 1 << 0);
try testArgs(i1024, u97, 1 << 96);
- try testArgs(u1024, u97, 0);
- try testArgs(u1024, u97, 1 << 0);
- try testArgs(u1024, u97, 1 << 96);
- try testArgs(i8, i127, -1 << 126);
- try testArgs(i8, i127, -1);
- try testArgs(i8, i127, 0);
try testArgs(u8, i127, -1 << 126);
try testArgs(u8, i127, -1);
try testArgs(u8, i127, 0);
- try testArgs(i16, i127, -1 << 126);
- try testArgs(i16, i127, -1);
- try testArgs(i16, i127, 0);
try testArgs(u16, i127, -1 << 126);
try testArgs(u16, i127, -1);
try testArgs(u16, i127, 0);
- try testArgs(i32, i127, -1 << 126);
- try testArgs(i32, i127, -1);
- try testArgs(i32, i127, 0);
try testArgs(u32, i127, -1 << 126);
try testArgs(u32, i127, -1);
try testArgs(u32, i127, 0);
- try testArgs(i64, i127, -1 << 126);
- try testArgs(i64, i127, -1);
- try testArgs(i64, i127, 0);
try testArgs(u64, i127, -1 << 126);
try testArgs(u64, i127, -1);
try testArgs(u64, i127, 0);
- try testArgs(i128, i127, -1 << 126);
- try testArgs(i128, i127, -1);
- try testArgs(i128, i127, 0);
try testArgs(u128, i127, -1 << 126);
try testArgs(u128, i127, -1);
try testArgs(u128, i127, 0);
- try testArgs(i256, i127, -1 << 126);
- try testArgs(i256, i127, -1);
- try testArgs(i256, i127, 0);
try testArgs(u256, i127, -1 << 126);
try testArgs(u256, i127, -1);
try testArgs(u256, i127, 0);
- try testArgs(i512, i127, -1 << 126);
- try testArgs(i512, i127, -1);
- try testArgs(i512, i127, 0);
try testArgs(u512, i127, -1 << 126);
try testArgs(u512, i127, -1);
try testArgs(u512, i127, 0);
- try testArgs(i1024, i127, -1 << 126);
- try testArgs(i1024, i127, -1);
- try testArgs(i1024, i127, 0);
try testArgs(u1024, i127, -1 << 126);
try testArgs(u1024, i127, -1);
try testArgs(u1024, i127, 0);
try testArgs(i8, u127, 0);
try testArgs(i8, u127, 1 << 0);
try testArgs(i8, u127, 1 << 126);
- try testArgs(u8, u127, 0);
- try testArgs(u8, u127, 1 << 0);
- try testArgs(u8, u127, 1 << 126);
try testArgs(i16, u127, 0);
try testArgs(i16, u127, 1 << 0);
try testArgs(i16, u127, 1 << 126);
- try testArgs(u16, u127, 0);
- try testArgs(u16, u127, 1 << 0);
- try testArgs(u16, u127, 1 << 126);
try testArgs(i32, u127, 0);
try testArgs(i32, u127, 1 << 0);
try testArgs(i32, u127, 1 << 126);
- try testArgs(u32, u127, 0);
- try testArgs(u32, u127, 1 << 0);
- try testArgs(u32, u127, 1 << 126);
try testArgs(i64, u127, 0);
try testArgs(i64, u127, 1 << 0);
try testArgs(i64, u127, 1 << 126);
- try testArgs(u64, u127, 0);
- try testArgs(u64, u127, 1 << 0);
- try testArgs(u64, u127, 1 << 126);
try testArgs(i128, u127, 0);
try testArgs(i128, u127, 1 << 0);
try testArgs(i128, u127, 1 << 126);
- try testArgs(u128, u127, 0);
- try testArgs(u128, u127, 1 << 0);
- try testArgs(u128, u127, 1 << 126);
try testArgs(i256, u127, 0);
try testArgs(i256, u127, 1 << 0);
try testArgs(i256, u127, 1 << 126);
- try testArgs(u256, u127, 0);
- try testArgs(u256, u127, 1 << 0);
- try testArgs(u256, u127, 1 << 126);
try testArgs(i512, u127, 0);
try testArgs(i512, u127, 1 << 0);
try testArgs(i512, u127, 1 << 126);
- try testArgs(u512, u127, 0);
- try testArgs(u512, u127, 1 << 0);
- try testArgs(u512, u127, 1 << 126);
try testArgs(i1024, u127, 0);
try testArgs(i1024, u127, 1 << 0);
try testArgs(i1024, u127, 1 << 126);
- try testArgs(u1024, u127, 0);
- try testArgs(u1024, u127, 1 << 0);
- try testArgs(u1024, u127, 1 << 126);
- try testArgs(i8, i128, -1 << 127);
- try testArgs(i8, i128, -1);
- try testArgs(i8, i128, 0);
try testArgs(u8, i128, -1 << 127);
try testArgs(u8, i128, -1);
try testArgs(u8, i128, 0);
- try testArgs(i16, i128, -1 << 127);
- try testArgs(i16, i128, -1);
- try testArgs(i16, i128, 0);
try testArgs(u16, i128, -1 << 127);
try testArgs(u16, i128, -1);
try testArgs(u16, i128, 0);
- try testArgs(i32, i128, -1 << 127);
- try testArgs(i32, i128, -1);
- try testArgs(i32, i128, 0);
try testArgs(u32, i128, -1 << 127);
try testArgs(u32, i128, -1);
try testArgs(u32, i128, 0);
- try testArgs(i64, i128, -1 << 127);
- try testArgs(i64, i128, -1);
- try testArgs(i64, i128, 0);
try testArgs(u64, i128, -1 << 127);
try testArgs(u64, i128, -1);
try testArgs(u64, i128, 0);
- try testArgs(i128, i128, -1 << 127);
- try testArgs(i128, i128, -1);
- try testArgs(i128, i128, 0);
try testArgs(u128, i128, -1 << 127);
try testArgs(u128, i128, -1);
try testArgs(u128, i128, 0);
- try testArgs(i256, i128, -1 << 127);
- try testArgs(i256, i128, -1);
- try testArgs(i256, i128, 0);
try testArgs(u256, i128, -1 << 127);
try testArgs(u256, i128, -1);
try testArgs(u256, i128, 0);
- try testArgs(i512, i128, -1 << 127);
- try testArgs(i512, i128, -1);
- try testArgs(i512, i128, 0);
try testArgs(u512, i128, -1 << 127);
try testArgs(u512, i128, -1);
try testArgs(u512, i128, 0);
- try testArgs(i1024, i128, -1 << 127);
- try testArgs(i1024, i128, -1);
- try testArgs(i1024, i128, 0);
try testArgs(u1024, i128, -1 << 127);
try testArgs(u1024, i128, -1);
try testArgs(u1024, i128, 0);
try testArgs(i8, u128, 0);
try testArgs(i8, u128, 1 << 0);
try testArgs(i8, u128, 1 << 127);
- try testArgs(u8, u128, 0);
- try testArgs(u8, u128, 1 << 0);
- try testArgs(u8, u128, 1 << 127);
try testArgs(i16, u128, 0);
try testArgs(i16, u128, 1 << 0);
try testArgs(i16, u128, 1 << 127);
- try testArgs(u16, u128, 0);
- try testArgs(u16, u128, 1 << 0);
- try testArgs(u16, u128, 1 << 127);
try testArgs(i32, u128, 0);
try testArgs(i32, u128, 1 << 0);
try testArgs(i32, u128, 1 << 127);
- try testArgs(u32, u128, 0);
- try testArgs(u32, u128, 1 << 0);
- try testArgs(u32, u128, 1 << 127);
try testArgs(i64, u128, 0);
try testArgs(i64, u128, 1 << 0);
try testArgs(i64, u128, 1 << 127);
- try testArgs(u64, u128, 0);
- try testArgs(u64, u128, 1 << 0);
- try testArgs(u64, u128, 1 << 127);
try testArgs(i128, u128, 0);
try testArgs(i128, u128, 1 << 0);
try testArgs(i128, u128, 1 << 127);
- try testArgs(u128, u128, 0);
- try testArgs(u128, u128, 1 << 0);
- try testArgs(u128, u128, 1 << 127);
try testArgs(i256, u128, 0);
try testArgs(i256, u128, 1 << 0);
try testArgs(i256, u128, 1 << 127);
- try testArgs(u256, u128, 0);
- try testArgs(u256, u128, 1 << 0);
- try testArgs(u256, u128, 1 << 127);
try testArgs(i512, u128, 0);
try testArgs(i512, u128, 1 << 0);
try testArgs(i512, u128, 1 << 127);
- try testArgs(u512, u128, 0);
- try testArgs(u512, u128, 1 << 0);
- try testArgs(u512, u128, 1 << 127);
try testArgs(i1024, u128, 0);
try testArgs(i1024, u128, 1 << 0);
try testArgs(i1024, u128, 1 << 127);
- try testArgs(u1024, u128, 0);
- try testArgs(u1024, u128, 1 << 0);
- try testArgs(u1024, u128, 1 << 127);
- try testArgs(i8, i129, -1 << 128);
- try testArgs(i8, i129, -1);
- try testArgs(i8, i129, 0);
try testArgs(u8, i129, -1 << 128);
try testArgs(u8, i129, -1);
try testArgs(u8, i129, 0);
- try testArgs(i16, i129, -1 << 128);
- try testArgs(i16, i129, -1);
- try testArgs(i16, i129, 0);
try testArgs(u16, i129, -1 << 128);
try testArgs(u16, i129, -1);
try testArgs(u16, i129, 0);
- try testArgs(i32, i129, -1 << 128);
- try testArgs(i32, i129, -1);
- try testArgs(i32, i129, 0);
try testArgs(u32, i129, -1 << 128);
try testArgs(u32, i129, -1);
try testArgs(u32, i129, 0);
- try testArgs(i64, i129, -1 << 128);
- try testArgs(i64, i129, -1);
- try testArgs(i64, i129, 0);
try testArgs(u64, i129, -1 << 128);
try testArgs(u64, i129, -1);
try testArgs(u64, i129, 0);
- try testArgs(i128, i129, -1 << 128);
- try testArgs(i128, i129, -1);
- try testArgs(i128, i129, 0);
try testArgs(u128, i129, -1 << 128);
try testArgs(u128, i129, -1);
try testArgs(u128, i129, 0);
- try testArgs(i256, i129, -1 << 128);
- try testArgs(i256, i129, -1);
- try testArgs(i256, i129, 0);
try testArgs(u256, i129, -1 << 128);
try testArgs(u256, i129, -1);
try testArgs(u256, i129, 0);
- try testArgs(i512, i129, -1 << 128);
- try testArgs(i512, i129, -1);
- try testArgs(i512, i129, 0);
try testArgs(u512, i129, -1 << 128);
try testArgs(u512, i129, -1);
try testArgs(u512, i129, 0);
- try testArgs(i1024, i129, -1 << 128);
- try testArgs(i1024, i129, -1);
- try testArgs(i1024, i129, 0);
try testArgs(u1024, i129, -1 << 128);
try testArgs(u1024, i129, -1);
try testArgs(u1024, i129, 0);
try testArgs(i8, u129, 0);
try testArgs(i8, u129, 1 << 0);
try testArgs(i8, u129, 1 << 128);
- try testArgs(u8, u129, 0);
- try testArgs(u8, u129, 1 << 0);
- try testArgs(u8, u129, 1 << 128);
try testArgs(i16, u129, 0);
try testArgs(i16, u129, 1 << 0);
try testArgs(i16, u129, 1 << 128);
- try testArgs(u16, u129, 0);
- try testArgs(u16, u129, 1 << 0);
- try testArgs(u16, u129, 1 << 128);
try testArgs(i32, u129, 0);
try testArgs(i32, u129, 1 << 0);
try testArgs(i32, u129, 1 << 128);
- try testArgs(u32, u129, 0);
- try testArgs(u32, u129, 1 << 0);
- try testArgs(u32, u129, 1 << 128);
try testArgs(i64, u129, 0);
try testArgs(i64, u129, 1 << 0);
try testArgs(i64, u129, 1 << 128);
- try testArgs(u64, u129, 0);
- try testArgs(u64, u129, 1 << 0);
- try testArgs(u64, u129, 1 << 128);
try testArgs(i128, u129, 0);
try testArgs(i128, u129, 1 << 0);
try testArgs(i128, u129, 1 << 128);
- try testArgs(u128, u129, 0);
- try testArgs(u128, u129, 1 << 0);
- try testArgs(u128, u129, 1 << 128);
try testArgs(i256, u129, 0);
try testArgs(i256, u129, 1 << 0);
try testArgs(i256, u129, 1 << 128);
- try testArgs(u256, u129, 0);
- try testArgs(u256, u129, 1 << 0);
- try testArgs(u256, u129, 1 << 128);
try testArgs(i512, u129, 0);
try testArgs(i512, u129, 1 << 0);
try testArgs(i512, u129, 1 << 128);
- try testArgs(u512, u129, 0);
- try testArgs(u512, u129, 1 << 0);
- try testArgs(u512, u129, 1 << 128);
try testArgs(i1024, u129, 0);
try testArgs(i1024, u129, 1 << 0);
try testArgs(i1024, u129, 1 << 128);
- try testArgs(u1024, u129, 0);
- try testArgs(u1024, u129, 1 << 0);
- try testArgs(u1024, u129, 1 << 128);
-
- try testArgs(i8, i159, -1 << 158);
- try testArgs(i8, i159, -1);
- try testArgs(i8, i159, 0);
- try testArgs(u8, i159, -1 << 158);
- try testArgs(u8, i159, -1);
- try testArgs(u8, i159, 0);
- try testArgs(i16, i159, -1 << 158);
- try testArgs(i16, i159, -1);
- try testArgs(i16, i159, 0);
- try testArgs(u16, i159, -1 << 158);
- try testArgs(u16, i159, -1);
- try testArgs(u16, i159, 0);
- try testArgs(i32, i159, -1 << 158);
- try testArgs(i32, i159, -1);
- try testArgs(i32, i159, 0);
- try testArgs(u32, i159, -1 << 158);
- try testArgs(u32, i159, -1);
- try testArgs(u32, i159, 0);
- try testArgs(i64, i159, -1 << 158);
- try testArgs(i64, i159, -1);
- try testArgs(i64, i159, 0);
- try testArgs(u64, i159, -1 << 158);
- try testArgs(u64, i159, -1);
- try testArgs(u64, i159, 0);
- try testArgs(i128, i159, -1 << 158);
- try testArgs(i128, i159, -1);
- try testArgs(i128, i159, 0);
- try testArgs(u128, i159, -1 << 158);
- try testArgs(u128, i159, -1);
- try testArgs(u128, i159, 0);
- try testArgs(i256, i159, -1 << 158);
- try testArgs(i256, i159, -1);
- try testArgs(i256, i159, 0);
- try testArgs(u256, i159, -1 << 158);
- try testArgs(u256, i159, -1);
- try testArgs(u256, i159, 0);
- try testArgs(i512, i159, -1 << 158);
- try testArgs(i512, i159, -1);
- try testArgs(i512, i159, 0);
- try testArgs(u512, i159, -1 << 158);
- try testArgs(u512, i159, -1);
- try testArgs(u512, i159, 0);
- try testArgs(i1024, i159, -1 << 158);
- try testArgs(i1024, i159, -1);
- try testArgs(i1024, i159, 0);
- try testArgs(u1024, i159, -1 << 158);
- try testArgs(u1024, i159, -1);
- try testArgs(u1024, i159, 0);
- try testArgs(i8, u159, 0);
- try testArgs(i8, u159, 1 << 0);
- try testArgs(i8, u159, 1 << 158);
- try testArgs(u8, u159, 0);
- try testArgs(u8, u159, 1 << 0);
- try testArgs(u8, u159, 1 << 158);
- try testArgs(i16, u159, 0);
- try testArgs(i16, u159, 1 << 0);
- try testArgs(i16, u159, 1 << 158);
- try testArgs(u16, u159, 0);
- try testArgs(u16, u159, 1 << 0);
- try testArgs(u16, u159, 1 << 158);
- try testArgs(i32, u159, 0);
- try testArgs(i32, u159, 1 << 0);
- try testArgs(i32, u159, 1 << 158);
- try testArgs(u32, u159, 0);
- try testArgs(u32, u159, 1 << 0);
- try testArgs(u32, u159, 1 << 158);
- try testArgs(i64, u159, 0);
- try testArgs(i64, u159, 1 << 0);
- try testArgs(i64, u159, 1 << 158);
- try testArgs(u64, u159, 0);
- try testArgs(u64, u159, 1 << 0);
- try testArgs(u64, u159, 1 << 158);
- try testArgs(i128, u159, 0);
- try testArgs(i128, u159, 1 << 0);
- try testArgs(i128, u159, 1 << 158);
- try testArgs(u128, u159, 0);
- try testArgs(u128, u159, 1 << 0);
- try testArgs(u128, u159, 1 << 158);
- try testArgs(i256, u159, 0);
- try testArgs(i256, u159, 1 << 0);
- try testArgs(i256, u159, 1 << 158);
- try testArgs(u256, u159, 0);
- try testArgs(u256, u159, 1 << 0);
- try testArgs(u256, u159, 1 << 158);
- try testArgs(i512, u159, 0);
- try testArgs(i512, u159, 1 << 0);
- try testArgs(i512, u159, 1 << 158);
- try testArgs(u512, u159, 0);
- try testArgs(u512, u159, 1 << 0);
- try testArgs(u512, u159, 1 << 158);
- try testArgs(i1024, u159, 0);
- try testArgs(i1024, u159, 1 << 0);
- try testArgs(i1024, u159, 1 << 158);
- try testArgs(u1024, u159, 0);
- try testArgs(u1024, u159, 1 << 0);
- try testArgs(u1024, u159, 1 << 158);
-
- try testArgs(i8, i160, -1 << 159);
- try testArgs(i8, i160, -1);
- try testArgs(i8, i160, 0);
- try testArgs(u8, i160, -1 << 159);
- try testArgs(u8, i160, -1);
- try testArgs(u8, i160, 0);
- try testArgs(i16, i160, -1 << 159);
- try testArgs(i16, i160, -1);
- try testArgs(i16, i160, 0);
- try testArgs(u16, i160, -1 << 159);
- try testArgs(u16, i160, -1);
- try testArgs(u16, i160, 0);
- try testArgs(i32, i160, -1 << 159);
- try testArgs(i32, i160, -1);
- try testArgs(i32, i160, 0);
- try testArgs(u32, i160, -1 << 159);
- try testArgs(u32, i160, -1);
- try testArgs(u32, i160, 0);
- try testArgs(i64, i160, -1 << 159);
- try testArgs(i64, i160, -1);
- try testArgs(i64, i160, 0);
- try testArgs(u64, i160, -1 << 159);
- try testArgs(u64, i160, -1);
- try testArgs(u64, i160, 0);
- try testArgs(i128, i160, -1 << 159);
- try testArgs(i128, i160, -1);
- try testArgs(i128, i160, 0);
- try testArgs(u128, i160, -1 << 159);
- try testArgs(u128, i160, -1);
- try testArgs(u128, i160, 0);
- try testArgs(i256, i160, -1 << 159);
- try testArgs(i256, i160, -1);
- try testArgs(i256, i160, 0);
- try testArgs(u256, i160, -1 << 159);
- try testArgs(u256, i160, -1);
- try testArgs(u256, i160, 0);
- try testArgs(i512, i160, -1 << 159);
- try testArgs(i512, i160, -1);
- try testArgs(i512, i160, 0);
- try testArgs(u512, i160, -1 << 159);
- try testArgs(u512, i160, -1);
- try testArgs(u512, i160, 0);
- try testArgs(i1024, i160, -1 << 159);
- try testArgs(i1024, i160, -1);
- try testArgs(i1024, i160, 0);
- try testArgs(u1024, i160, -1 << 159);
- try testArgs(u1024, i160, -1);
- try testArgs(u1024, i160, 0);
- try testArgs(i8, u160, 0);
- try testArgs(i8, u160, 1 << 0);
- try testArgs(i8, u160, 1 << 159);
- try testArgs(u8, u160, 0);
- try testArgs(u8, u160, 1 << 0);
- try testArgs(u8, u160, 1 << 159);
- try testArgs(i16, u160, 0);
- try testArgs(i16, u160, 1 << 0);
- try testArgs(i16, u160, 1 << 159);
- try testArgs(u16, u160, 0);
- try testArgs(u16, u160, 1 << 0);
- try testArgs(u16, u160, 1 << 159);
- try testArgs(i32, u160, 0);
- try testArgs(i32, u160, 1 << 0);
- try testArgs(i32, u160, 1 << 159);
- try testArgs(u32, u160, 0);
- try testArgs(u32, u160, 1 << 0);
- try testArgs(u32, u160, 1 << 159);
- try testArgs(i64, u160, 0);
- try testArgs(i64, u160, 1 << 0);
- try testArgs(i64, u160, 1 << 159);
- try testArgs(u64, u160, 0);
- try testArgs(u64, u160, 1 << 0);
- try testArgs(u64, u160, 1 << 159);
- try testArgs(i128, u160, 0);
- try testArgs(i128, u160, 1 << 0);
- try testArgs(i128, u160, 1 << 159);
- try testArgs(u128, u160, 0);
- try testArgs(u128, u160, 1 << 0);
- try testArgs(u128, u160, 1 << 159);
- try testArgs(i256, u160, 0);
- try testArgs(i256, u160, 1 << 0);
- try testArgs(i256, u160, 1 << 159);
- try testArgs(u256, u160, 0);
- try testArgs(u256, u160, 1 << 0);
- try testArgs(u256, u160, 1 << 159);
- try testArgs(i512, u160, 0);
- try testArgs(i512, u160, 1 << 0);
- try testArgs(i512, u160, 1 << 159);
- try testArgs(u512, u160, 0);
- try testArgs(u512, u160, 1 << 0);
- try testArgs(u512, u160, 1 << 159);
- try testArgs(i1024, u160, 0);
- try testArgs(i1024, u160, 1 << 0);
- try testArgs(i1024, u160, 1 << 159);
- try testArgs(u1024, u160, 0);
- try testArgs(u1024, u160, 1 << 0);
- try testArgs(u1024, u160, 1 << 159);
-
- try testArgs(i8, i161, -1 << 160);
- try testArgs(i8, i161, -1);
- try testArgs(i8, i161, 0);
- try testArgs(u8, i161, -1 << 160);
- try testArgs(u8, i161, -1);
- try testArgs(u8, i161, 0);
- try testArgs(i16, i161, -1 << 160);
- try testArgs(i16, i161, -1);
- try testArgs(i16, i161, 0);
- try testArgs(u16, i161, -1 << 160);
- try testArgs(u16, i161, -1);
- try testArgs(u16, i161, 0);
- try testArgs(i32, i161, -1 << 160);
- try testArgs(i32, i161, -1);
- try testArgs(i32, i161, 0);
- try testArgs(u32, i161, -1 << 160);
- try testArgs(u32, i161, -1);
- try testArgs(u32, i161, 0);
- try testArgs(i64, i161, -1 << 160);
- try testArgs(i64, i161, -1);
- try testArgs(i64, i161, 0);
- try testArgs(u64, i161, -1 << 160);
- try testArgs(u64, i161, -1);
- try testArgs(u64, i161, 0);
- try testArgs(i128, i161, -1 << 160);
- try testArgs(i128, i161, -1);
- try testArgs(i128, i161, 0);
- try testArgs(u128, i161, -1 << 160);
- try testArgs(u128, i161, -1);
- try testArgs(u128, i161, 0);
- try testArgs(i256, i161, -1 << 160);
- try testArgs(i256, i161, -1);
- try testArgs(i256, i161, 0);
- try testArgs(u256, i161, -1 << 160);
- try testArgs(u256, i161, -1);
- try testArgs(u256, i161, 0);
- try testArgs(i512, i161, -1 << 160);
- try testArgs(i512, i161, -1);
- try testArgs(i512, i161, 0);
- try testArgs(u512, i161, -1 << 160);
- try testArgs(u512, i161, -1);
- try testArgs(u512, i161, 0);
- try testArgs(i1024, i161, -1 << 160);
- try testArgs(i1024, i161, -1);
- try testArgs(i1024, i161, 0);
- try testArgs(u1024, i161, -1 << 160);
- try testArgs(u1024, i161, -1);
- try testArgs(u1024, i161, 0);
- try testArgs(i8, u161, 0);
- try testArgs(i8, u161, 1 << 0);
- try testArgs(i8, u161, 1 << 160);
- try testArgs(u8, u161, 0);
- try testArgs(u8, u161, 1 << 0);
- try testArgs(u8, u161, 1 << 160);
- try testArgs(i16, u161, 0);
- try testArgs(i16, u161, 1 << 0);
- try testArgs(i16, u161, 1 << 160);
- try testArgs(u16, u161, 0);
- try testArgs(u16, u161, 1 << 0);
- try testArgs(u16, u161, 1 << 160);
- try testArgs(i32, u161, 0);
- try testArgs(i32, u161, 1 << 0);
- try testArgs(i32, u161, 1 << 160);
- try testArgs(u32, u161, 0);
- try testArgs(u32, u161, 1 << 0);
- try testArgs(u32, u161, 1 << 160);
- try testArgs(i64, u161, 0);
- try testArgs(i64, u161, 1 << 0);
- try testArgs(i64, u161, 1 << 160);
- try testArgs(u64, u161, 0);
- try testArgs(u64, u161, 1 << 0);
- try testArgs(u64, u161, 1 << 160);
- try testArgs(i128, u161, 0);
- try testArgs(i128, u161, 1 << 0);
- try testArgs(i128, u161, 1 << 160);
- try testArgs(u128, u161, 0);
- try testArgs(u128, u161, 1 << 0);
- try testArgs(u128, u161, 1 << 160);
- try testArgs(i256, u161, 0);
- try testArgs(i256, u161, 1 << 0);
- try testArgs(i256, u161, 1 << 160);
- try testArgs(u256, u161, 0);
- try testArgs(u256, u161, 1 << 0);
- try testArgs(u256, u161, 1 << 160);
- try testArgs(i512, u161, 0);
- try testArgs(i512, u161, 1 << 0);
- try testArgs(i512, u161, 1 << 160);
- try testArgs(u512, u161, 0);
- try testArgs(u512, u161, 1 << 0);
- try testArgs(u512, u161, 1 << 160);
- try testArgs(i1024, u161, 0);
- try testArgs(i1024, u161, 1 << 0);
- try testArgs(i1024, u161, 1 << 160);
- try testArgs(u1024, u161, 0);
- try testArgs(u1024, u161, 1 << 0);
- try testArgs(u1024, u161, 1 << 160);
-
- try testArgs(i8, i191, -1 << 190);
- try testArgs(i8, i191, -1);
- try testArgs(i8, i191, 0);
- try testArgs(u8, i191, -1 << 190);
- try testArgs(u8, i191, -1);
- try testArgs(u8, i191, 0);
- try testArgs(i16, i191, -1 << 190);
- try testArgs(i16, i191, -1);
- try testArgs(i16, i191, 0);
- try testArgs(u16, i191, -1 << 190);
- try testArgs(u16, i191, -1);
- try testArgs(u16, i191, 0);
- try testArgs(i32, i191, -1 << 190);
- try testArgs(i32, i191, -1);
- try testArgs(i32, i191, 0);
- try testArgs(u32, i191, -1 << 190);
- try testArgs(u32, i191, -1);
- try testArgs(u32, i191, 0);
- try testArgs(i64, i191, -1 << 190);
- try testArgs(i64, i191, -1);
- try testArgs(i64, i191, 0);
- try testArgs(u64, i191, -1 << 190);
- try testArgs(u64, i191, -1);
- try testArgs(u64, i191, 0);
- try testArgs(i128, i191, -1 << 190);
- try testArgs(i128, i191, -1);
- try testArgs(i128, i191, 0);
- try testArgs(u128, i191, -1 << 190);
- try testArgs(u128, i191, -1);
- try testArgs(u128, i191, 0);
- try testArgs(i256, i191, -1 << 190);
- try testArgs(i256, i191, -1);
- try testArgs(i256, i191, 0);
- try testArgs(u256, i191, -1 << 190);
- try testArgs(u256, i191, -1);
- try testArgs(u256, i191, 0);
- try testArgs(i512, i191, -1 << 190);
- try testArgs(i512, i191, -1);
- try testArgs(i512, i191, 0);
- try testArgs(u512, i191, -1 << 190);
- try testArgs(u512, i191, -1);
- try testArgs(u512, i191, 0);
- try testArgs(i1024, i191, -1 << 190);
- try testArgs(i1024, i191, -1);
- try testArgs(i1024, i191, 0);
- try testArgs(u1024, i191, -1 << 190);
- try testArgs(u1024, i191, -1);
- try testArgs(u1024, i191, 0);
- try testArgs(i8, u191, 0);
- try testArgs(i8, u191, 1 << 0);
- try testArgs(i8, u191, 1 << 190);
- try testArgs(u8, u191, 0);
- try testArgs(u8, u191, 1 << 0);
- try testArgs(u8, u191, 1 << 190);
- try testArgs(i16, u191, 0);
- try testArgs(i16, u191, 1 << 0);
- try testArgs(i16, u191, 1 << 190);
- try testArgs(u16, u191, 0);
- try testArgs(u16, u191, 1 << 0);
- try testArgs(u16, u191, 1 << 190);
- try testArgs(i32, u191, 0);
- try testArgs(i32, u191, 1 << 0);
- try testArgs(i32, u191, 1 << 190);
- try testArgs(u32, u191, 0);
- try testArgs(u32, u191, 1 << 0);
- try testArgs(u32, u191, 1 << 190);
- try testArgs(i64, u191, 0);
- try testArgs(i64, u191, 1 << 0);
- try testArgs(i64, u191, 1 << 190);
- try testArgs(u64, u191, 0);
- try testArgs(u64, u191, 1 << 0);
- try testArgs(u64, u191, 1 << 190);
- try testArgs(i128, u191, 0);
- try testArgs(i128, u191, 1 << 0);
- try testArgs(i128, u191, 1 << 190);
- try testArgs(u128, u191, 0);
- try testArgs(u128, u191, 1 << 0);
- try testArgs(u128, u191, 1 << 190);
- try testArgs(i256, u191, 0);
- try testArgs(i256, u191, 1 << 0);
- try testArgs(i256, u191, 1 << 190);
- try testArgs(u256, u191, 0);
- try testArgs(u256, u191, 1 << 0);
- try testArgs(u256, u191, 1 << 190);
- try testArgs(i512, u191, 0);
- try testArgs(i512, u191, 1 << 0);
- try testArgs(i512, u191, 1 << 190);
- try testArgs(u512, u191, 0);
- try testArgs(u512, u191, 1 << 0);
- try testArgs(u512, u191, 1 << 190);
- try testArgs(i1024, u191, 0);
- try testArgs(i1024, u191, 1 << 0);
- try testArgs(i1024, u191, 1 << 190);
- try testArgs(u1024, u191, 0);
- try testArgs(u1024, u191, 1 << 0);
- try testArgs(u1024, u191, 1 << 190);
-
- try testArgs(i8, i192, -1 << 191);
- try testArgs(i8, i192, -1);
- try testArgs(i8, i192, 0);
- try testArgs(u8, i192, -1 << 191);
- try testArgs(u8, i192, -1);
- try testArgs(u8, i192, 0);
- try testArgs(i16, i192, -1 << 191);
- try testArgs(i16, i192, -1);
- try testArgs(i16, i192, 0);
- try testArgs(u16, i192, -1 << 191);
- try testArgs(u16, i192, -1);
- try testArgs(u16, i192, 0);
- try testArgs(i32, i192, -1 << 191);
- try testArgs(i32, i192, -1);
- try testArgs(i32, i192, 0);
- try testArgs(u32, i192, -1 << 191);
- try testArgs(u32, i192, -1);
- try testArgs(u32, i192, 0);
- try testArgs(i64, i192, -1 << 191);
- try testArgs(i64, i192, -1);
- try testArgs(i64, i192, 0);
- try testArgs(u64, i192, -1 << 191);
- try testArgs(u64, i192, -1);
- try testArgs(u64, i192, 0);
- try testArgs(i128, i192, -1 << 191);
- try testArgs(i128, i192, -1);
- try testArgs(i128, i192, 0);
- try testArgs(u128, i192, -1 << 191);
- try testArgs(u128, i192, -1);
- try testArgs(u128, i192, 0);
- try testArgs(i256, i192, -1 << 191);
- try testArgs(i256, i192, -1);
- try testArgs(i256, i192, 0);
- try testArgs(u256, i192, -1 << 191);
- try testArgs(u256, i192, -1);
- try testArgs(u256, i192, 0);
- try testArgs(i512, i192, -1 << 191);
- try testArgs(i512, i192, -1);
- try testArgs(i512, i192, 0);
- try testArgs(u512, i192, -1 << 191);
- try testArgs(u512, i192, -1);
- try testArgs(u512, i192, 0);
- try testArgs(i1024, i192, -1 << 191);
- try testArgs(i1024, i192, -1);
- try testArgs(i1024, i192, 0);
- try testArgs(u1024, i192, -1 << 191);
- try testArgs(u1024, i192, -1);
- try testArgs(u1024, i192, 0);
- try testArgs(i8, u192, 0);
- try testArgs(i8, u192, 1 << 0);
- try testArgs(i8, u192, 1 << 191);
- try testArgs(u8, u192, 0);
- try testArgs(u8, u192, 1 << 0);
- try testArgs(u8, u192, 1 << 191);
- try testArgs(i16, u192, 0);
- try testArgs(i16, u192, 1 << 0);
- try testArgs(i16, u192, 1 << 191);
- try testArgs(u16, u192, 0);
- try testArgs(u16, u192, 1 << 0);
- try testArgs(u16, u192, 1 << 191);
- try testArgs(i32, u192, 0);
- try testArgs(i32, u192, 1 << 0);
- try testArgs(i32, u192, 1 << 191);
- try testArgs(u32, u192, 0);
- try testArgs(u32, u192, 1 << 0);
- try testArgs(u32, u192, 1 << 191);
- try testArgs(i64, u192, 0);
- try testArgs(i64, u192, 1 << 0);
- try testArgs(i64, u192, 1 << 191);
- try testArgs(u64, u192, 0);
- try testArgs(u64, u192, 1 << 0);
- try testArgs(u64, u192, 1 << 191);
- try testArgs(i128, u192, 0);
- try testArgs(i128, u192, 1 << 0);
- try testArgs(i128, u192, 1 << 191);
- try testArgs(u128, u192, 0);
- try testArgs(u128, u192, 1 << 0);
- try testArgs(u128, u192, 1 << 191);
- try testArgs(i256, u192, 0);
- try testArgs(i256, u192, 1 << 0);
- try testArgs(i256, u192, 1 << 191);
- try testArgs(u256, u192, 0);
- try testArgs(u256, u192, 1 << 0);
- try testArgs(u256, u192, 1 << 191);
- try testArgs(i512, u192, 0);
- try testArgs(i512, u192, 1 << 0);
- try testArgs(i512, u192, 1 << 191);
- try testArgs(u512, u192, 0);
- try testArgs(u512, u192, 1 << 0);
- try testArgs(u512, u192, 1 << 191);
- try testArgs(i1024, u192, 0);
- try testArgs(i1024, u192, 1 << 0);
- try testArgs(i1024, u192, 1 << 191);
- try testArgs(u1024, u192, 0);
- try testArgs(u1024, u192, 1 << 0);
- try testArgs(u1024, u192, 1 << 191);
-
- try testArgs(i8, i193, -1 << 192);
- try testArgs(i8, i193, -1);
- try testArgs(i8, i193, 0);
- try testArgs(u8, i193, -1 << 192);
- try testArgs(u8, i193, -1);
- try testArgs(u8, i193, 0);
- try testArgs(i16, i193, -1 << 192);
- try testArgs(i16, i193, -1);
- try testArgs(i16, i193, 0);
- try testArgs(u16, i193, -1 << 192);
- try testArgs(u16, i193, -1);
- try testArgs(u16, i193, 0);
- try testArgs(i32, i193, -1 << 192);
- try testArgs(i32, i193, -1);
- try testArgs(i32, i193, 0);
- try testArgs(u32, i193, -1 << 192);
- try testArgs(u32, i193, -1);
- try testArgs(u32, i193, 0);
- try testArgs(i64, i193, -1 << 192);
- try testArgs(i64, i193, -1);
- try testArgs(i64, i193, 0);
- try testArgs(u64, i193, -1 << 192);
- try testArgs(u64, i193, -1);
- try testArgs(u64, i193, 0);
- try testArgs(i128, i193, -1 << 192);
- try testArgs(i128, i193, -1);
- try testArgs(i128, i193, 0);
- try testArgs(u128, i193, -1 << 192);
- try testArgs(u128, i193, -1);
- try testArgs(u128, i193, 0);
- try testArgs(i256, i193, -1 << 192);
- try testArgs(i256, i193, -1);
- try testArgs(i256, i193, 0);
- try testArgs(u256, i193, -1 << 192);
- try testArgs(u256, i193, -1);
- try testArgs(u256, i193, 0);
- try testArgs(i512, i193, -1 << 192);
- try testArgs(i512, i193, -1);
- try testArgs(i512, i193, 0);
- try testArgs(u512, i193, -1 << 192);
- try testArgs(u512, i193, -1);
- try testArgs(u512, i193, 0);
- try testArgs(i1024, i193, -1 << 192);
- try testArgs(i1024, i193, -1);
- try testArgs(i1024, i193, 0);
- try testArgs(u1024, i193, -1 << 192);
- try testArgs(u1024, i193, -1);
- try testArgs(u1024, i193, 0);
- try testArgs(i8, u193, 0);
- try testArgs(i8, u193, 1 << 0);
- try testArgs(i8, u193, 1 << 192);
- try testArgs(u8, u193, 0);
- try testArgs(u8, u193, 1 << 0);
- try testArgs(u8, u193, 1 << 192);
- try testArgs(i16, u193, 0);
- try testArgs(i16, u193, 1 << 0);
- try testArgs(i16, u193, 1 << 192);
- try testArgs(u16, u193, 0);
- try testArgs(u16, u193, 1 << 0);
- try testArgs(u16, u193, 1 << 192);
- try testArgs(i32, u193, 0);
- try testArgs(i32, u193, 1 << 0);
- try testArgs(i32, u193, 1 << 192);
- try testArgs(u32, u193, 0);
- try testArgs(u32, u193, 1 << 0);
- try testArgs(u32, u193, 1 << 192);
- try testArgs(i64, u193, 0);
- try testArgs(i64, u193, 1 << 0);
- try testArgs(i64, u193, 1 << 192);
- try testArgs(u64, u193, 0);
- try testArgs(u64, u193, 1 << 0);
- try testArgs(u64, u193, 1 << 192);
- try testArgs(i128, u193, 0);
- try testArgs(i128, u193, 1 << 0);
- try testArgs(i128, u193, 1 << 192);
- try testArgs(u128, u193, 0);
- try testArgs(u128, u193, 1 << 0);
- try testArgs(u128, u193, 1 << 192);
- try testArgs(i256, u193, 0);
- try testArgs(i256, u193, 1 << 0);
- try testArgs(i256, u193, 1 << 192);
- try testArgs(u256, u193, 0);
- try testArgs(u256, u193, 1 << 0);
- try testArgs(u256, u193, 1 << 192);
- try testArgs(i512, u193, 0);
- try testArgs(i512, u193, 1 << 0);
- try testArgs(i512, u193, 1 << 192);
- try testArgs(u512, u193, 0);
- try testArgs(u512, u193, 1 << 0);
- try testArgs(u512, u193, 1 << 192);
- try testArgs(i1024, u193, 0);
- try testArgs(i1024, u193, 1 << 0);
- try testArgs(i1024, u193, 1 << 192);
- try testArgs(u1024, u193, 0);
- try testArgs(u1024, u193, 1 << 0);
- try testArgs(u1024, u193, 1 << 192);
-
- try testArgs(i8, i223, -1 << 222);
- try testArgs(i8, i223, -1);
- try testArgs(i8, i223, 0);
- try testArgs(u8, i223, -1 << 222);
- try testArgs(u8, i223, -1);
- try testArgs(u8, i223, 0);
- try testArgs(i16, i223, -1 << 222);
- try testArgs(i16, i223, -1);
- try testArgs(i16, i223, 0);
- try testArgs(u16, i223, -1 << 222);
- try testArgs(u16, i223, -1);
- try testArgs(u16, i223, 0);
- try testArgs(i32, i223, -1 << 222);
- try testArgs(i32, i223, -1);
- try testArgs(i32, i223, 0);
- try testArgs(u32, i223, -1 << 222);
- try testArgs(u32, i223, -1);
- try testArgs(u32, i223, 0);
- try testArgs(i64, i223, -1 << 222);
- try testArgs(i64, i223, -1);
- try testArgs(i64, i223, 0);
- try testArgs(u64, i223, -1 << 222);
- try testArgs(u64, i223, -1);
- try testArgs(u64, i223, 0);
- try testArgs(i128, i223, -1 << 222);
- try testArgs(i128, i223, -1);
- try testArgs(i128, i223, 0);
- try testArgs(u128, i223, -1 << 222);
- try testArgs(u128, i223, -1);
- try testArgs(u128, i223, 0);
- try testArgs(i256, i223, -1 << 222);
- try testArgs(i256, i223, -1);
- try testArgs(i256, i223, 0);
- try testArgs(u256, i223, -1 << 222);
- try testArgs(u256, i223, -1);
- try testArgs(u256, i223, 0);
- try testArgs(i512, i223, -1 << 222);
- try testArgs(i512, i223, -1);
- try testArgs(i512, i223, 0);
- try testArgs(u512, i223, -1 << 222);
- try testArgs(u512, i223, -1);
- try testArgs(u512, i223, 0);
- try testArgs(i1024, i223, -1 << 222);
- try testArgs(i1024, i223, -1);
- try testArgs(i1024, i223, 0);
- try testArgs(u1024, i223, -1 << 222);
- try testArgs(u1024, i223, -1);
- try testArgs(u1024, i223, 0);
- try testArgs(i8, u223, 0);
- try testArgs(i8, u223, 1 << 0);
- try testArgs(i8, u223, 1 << 222);
- try testArgs(u8, u223, 0);
- try testArgs(u8, u223, 1 << 0);
- try testArgs(u8, u223, 1 << 222);
- try testArgs(i16, u223, 0);
- try testArgs(i16, u223, 1 << 0);
- try testArgs(i16, u223, 1 << 222);
- try testArgs(u16, u223, 0);
- try testArgs(u16, u223, 1 << 0);
- try testArgs(u16, u223, 1 << 222);
- try testArgs(i32, u223, 0);
- try testArgs(i32, u223, 1 << 0);
- try testArgs(i32, u223, 1 << 222);
- try testArgs(u32, u223, 0);
- try testArgs(u32, u223, 1 << 0);
- try testArgs(u32, u223, 1 << 222);
- try testArgs(i64, u223, 0);
- try testArgs(i64, u223, 1 << 0);
- try testArgs(i64, u223, 1 << 222);
- try testArgs(u64, u223, 0);
- try testArgs(u64, u223, 1 << 0);
- try testArgs(u64, u223, 1 << 222);
- try testArgs(i128, u223, 0);
- try testArgs(i128, u223, 1 << 0);
- try testArgs(i128, u223, 1 << 222);
- try testArgs(u128, u223, 0);
- try testArgs(u128, u223, 1 << 0);
- try testArgs(u128, u223, 1 << 222);
- try testArgs(i256, u223, 0);
- try testArgs(i256, u223, 1 << 0);
- try testArgs(i256, u223, 1 << 222);
- try testArgs(u256, u223, 0);
- try testArgs(u256, u223, 1 << 0);
- try testArgs(u256, u223, 1 << 222);
- try testArgs(i512, u223, 0);
- try testArgs(i512, u223, 1 << 0);
- try testArgs(i512, u223, 1 << 222);
- try testArgs(u512, u223, 0);
- try testArgs(u512, u223, 1 << 0);
- try testArgs(u512, u223, 1 << 222);
- try testArgs(i1024, u223, 0);
- try testArgs(i1024, u223, 1 << 0);
- try testArgs(i1024, u223, 1 << 222);
- try testArgs(u1024, u223, 0);
- try testArgs(u1024, u223, 1 << 0);
- try testArgs(u1024, u223, 1 << 222);
-
- try testArgs(i8, i224, -1 << 223);
- try testArgs(i8, i224, -1);
- try testArgs(i8, i224, 0);
- try testArgs(u8, i224, -1 << 223);
- try testArgs(u8, i224, -1);
- try testArgs(u8, i224, 0);
- try testArgs(i16, i224, -1 << 223);
- try testArgs(i16, i224, -1);
- try testArgs(i16, i224, 0);
- try testArgs(u16, i224, -1 << 223);
- try testArgs(u16, i224, -1);
- try testArgs(u16, i224, 0);
- try testArgs(i32, i224, -1 << 223);
- try testArgs(i32, i224, -1);
- try testArgs(i32, i224, 0);
- try testArgs(u32, i224, -1 << 223);
- try testArgs(u32, i224, -1);
- try testArgs(u32, i224, 0);
- try testArgs(i64, i224, -1 << 223);
- try testArgs(i64, i224, -1);
- try testArgs(i64, i224, 0);
- try testArgs(u64, i224, -1 << 223);
- try testArgs(u64, i224, -1);
- try testArgs(u64, i224, 0);
- try testArgs(i128, i224, -1 << 223);
- try testArgs(i128, i224, -1);
- try testArgs(i128, i224, 0);
- try testArgs(u128, i224, -1 << 223);
- try testArgs(u128, i224, -1);
- try testArgs(u128, i224, 0);
- try testArgs(i256, i224, -1 << 223);
- try testArgs(i256, i224, -1);
- try testArgs(i256, i224, 0);
- try testArgs(u256, i224, -1 << 223);
- try testArgs(u256, i224, -1);
- try testArgs(u256, i224, 0);
- try testArgs(i512, i224, -1 << 223);
- try testArgs(i512, i224, -1);
- try testArgs(i512, i224, 0);
- try testArgs(u512, i224, -1 << 223);
- try testArgs(u512, i224, -1);
- try testArgs(u512, i224, 0);
- try testArgs(i1024, i224, -1 << 223);
- try testArgs(i1024, i224, -1);
- try testArgs(i1024, i224, 0);
- try testArgs(u1024, i224, -1 << 223);
- try testArgs(u1024, i224, -1);
- try testArgs(u1024, i224, 0);
- try testArgs(i8, u224, 0);
- try testArgs(i8, u224, 1 << 0);
- try testArgs(i8, u224, 1 << 223);
- try testArgs(u8, u224, 0);
- try testArgs(u8, u224, 1 << 0);
- try testArgs(u8, u224, 1 << 223);
- try testArgs(i16, u224, 0);
- try testArgs(i16, u224, 1 << 0);
- try testArgs(i16, u224, 1 << 223);
- try testArgs(u16, u224, 0);
- try testArgs(u16, u224, 1 << 0);
- try testArgs(u16, u224, 1 << 223);
- try testArgs(i32, u224, 0);
- try testArgs(i32, u224, 1 << 0);
- try testArgs(i32, u224, 1 << 223);
- try testArgs(u32, u224, 0);
- try testArgs(u32, u224, 1 << 0);
- try testArgs(u32, u224, 1 << 223);
- try testArgs(i64, u224, 0);
- try testArgs(i64, u224, 1 << 0);
- try testArgs(i64, u224, 1 << 223);
- try testArgs(u64, u224, 0);
- try testArgs(u64, u224, 1 << 0);
- try testArgs(u64, u224, 1 << 223);
- try testArgs(i128, u224, 0);
- try testArgs(i128, u224, 1 << 0);
- try testArgs(i128, u224, 1 << 223);
- try testArgs(u128, u224, 0);
- try testArgs(u128, u224, 1 << 0);
- try testArgs(u128, u224, 1 << 223);
- try testArgs(i256, u224, 0);
- try testArgs(i256, u224, 1 << 0);
- try testArgs(i256, u224, 1 << 223);
- try testArgs(u256, u224, 0);
- try testArgs(u256, u224, 1 << 0);
- try testArgs(u256, u224, 1 << 223);
- try testArgs(i512, u224, 0);
- try testArgs(i512, u224, 1 << 0);
- try testArgs(i512, u224, 1 << 223);
- try testArgs(u512, u224, 0);
- try testArgs(u512, u224, 1 << 0);
- try testArgs(u512, u224, 1 << 223);
- try testArgs(i1024, u224, 0);
- try testArgs(i1024, u224, 1 << 0);
- try testArgs(i1024, u224, 1 << 223);
- try testArgs(u1024, u224, 0);
- try testArgs(u1024, u224, 1 << 0);
- try testArgs(u1024, u224, 1 << 223);
-
- try testArgs(i8, i225, -1 << 224);
- try testArgs(i8, i225, -1);
- try testArgs(i8, i225, 0);
- try testArgs(u8, i225, -1 << 224);
- try testArgs(u8, i225, -1);
- try testArgs(u8, i225, 0);
- try testArgs(i16, i225, -1 << 224);
- try testArgs(i16, i225, -1);
- try testArgs(i16, i225, 0);
- try testArgs(u16, i225, -1 << 224);
- try testArgs(u16, i225, -1);
- try testArgs(u16, i225, 0);
- try testArgs(i32, i225, -1 << 224);
- try testArgs(i32, i225, -1);
- try testArgs(i32, i225, 0);
- try testArgs(u32, i225, -1 << 224);
- try testArgs(u32, i225, -1);
- try testArgs(u32, i225, 0);
- try testArgs(i64, i225, -1 << 224);
- try testArgs(i64, i225, -1);
- try testArgs(i64, i225, 0);
- try testArgs(u64, i225, -1 << 224);
- try testArgs(u64, i225, -1);
- try testArgs(u64, i225, 0);
- try testArgs(i128, i225, -1 << 224);
- try testArgs(i128, i225, -1);
- try testArgs(i128, i225, 0);
- try testArgs(u128, i225, -1 << 224);
- try testArgs(u128, i225, -1);
- try testArgs(u128, i225, 0);
- try testArgs(i256, i225, -1 << 224);
- try testArgs(i256, i225, -1);
- try testArgs(i256, i225, 0);
- try testArgs(u256, i225, -1 << 224);
- try testArgs(u256, i225, -1);
- try testArgs(u256, i225, 0);
- try testArgs(i512, i225, -1 << 224);
- try testArgs(i512, i225, -1);
- try testArgs(i512, i225, 0);
- try testArgs(u512, i225, -1 << 224);
- try testArgs(u512, i225, -1);
- try testArgs(u512, i225, 0);
- try testArgs(i1024, i225, -1 << 224);
- try testArgs(i1024, i225, -1);
- try testArgs(i1024, i225, 0);
- try testArgs(u1024, i225, -1 << 224);
- try testArgs(u1024, i225, -1);
- try testArgs(u1024, i225, 0);
- try testArgs(i8, u225, 0);
- try testArgs(i8, u225, 1 << 0);
- try testArgs(i8, u225, 1 << 224);
- try testArgs(u8, u225, 0);
- try testArgs(u8, u225, 1 << 0);
- try testArgs(u8, u225, 1 << 224);
- try testArgs(i16, u225, 0);
- try testArgs(i16, u225, 1 << 0);
- try testArgs(i16, u225, 1 << 224);
- try testArgs(u16, u225, 0);
- try testArgs(u16, u225, 1 << 0);
- try testArgs(u16, u225, 1 << 224);
- try testArgs(i32, u225, 0);
- try testArgs(i32, u225, 1 << 0);
- try testArgs(i32, u225, 1 << 224);
- try testArgs(u32, u225, 0);
- try testArgs(u32, u225, 1 << 0);
- try testArgs(u32, u225, 1 << 224);
- try testArgs(i64, u225, 0);
- try testArgs(i64, u225, 1 << 0);
- try testArgs(i64, u225, 1 << 224);
- try testArgs(u64, u225, 0);
- try testArgs(u64, u225, 1 << 0);
- try testArgs(u64, u225, 1 << 224);
- try testArgs(i128, u225, 0);
- try testArgs(i128, u225, 1 << 0);
- try testArgs(i128, u225, 1 << 224);
- try testArgs(u128, u225, 0);
- try testArgs(u128, u225, 1 << 0);
- try testArgs(u128, u225, 1 << 224);
- try testArgs(i256, u225, 0);
- try testArgs(i256, u225, 1 << 0);
- try testArgs(i256, u225, 1 << 224);
- try testArgs(u256, u225, 0);
- try testArgs(u256, u225, 1 << 0);
- try testArgs(u256, u225, 1 << 224);
- try testArgs(i512, u225, 0);
- try testArgs(i512, u225, 1 << 0);
- try testArgs(i512, u225, 1 << 224);
- try testArgs(u512, u225, 0);
- try testArgs(u512, u225, 1 << 0);
- try testArgs(u512, u225, 1 << 224);
- try testArgs(i1024, u225, 0);
- try testArgs(i1024, u225, 1 << 0);
- try testArgs(i1024, u225, 1 << 224);
- try testArgs(u1024, u225, 0);
- try testArgs(u1024, u225, 1 << 0);
- try testArgs(u1024, u225, 1 << 224);
- try testArgs(i8, i255, -1 << 254);
- try testArgs(i8, i255, -1);
- try testArgs(i8, i255, 0);
try testArgs(u8, i255, -1 << 254);
try testArgs(u8, i255, -1);
try testArgs(u8, i255, 0);
- try testArgs(i16, i255, -1 << 254);
- try testArgs(i16, i255, -1);
- try testArgs(i16, i255, 0);
try testArgs(u16, i255, -1 << 254);
try testArgs(u16, i255, -1);
try testArgs(u16, i255, 0);
- try testArgs(i32, i255, -1 << 254);
- try testArgs(i32, i255, -1);
- try testArgs(i32, i255, 0);
try testArgs(u32, i255, -1 << 254);
try testArgs(u32, i255, -1);
try testArgs(u32, i255, 0);
- try testArgs(i64, i255, -1 << 254);
- try testArgs(i64, i255, -1);
- try testArgs(i64, i255, 0);
try testArgs(u64, i255, -1 << 254);
try testArgs(u64, i255, -1);
try testArgs(u64, i255, 0);
- try testArgs(i128, i255, -1 << 254);
- try testArgs(i128, i255, -1);
- try testArgs(i128, i255, 0);
try testArgs(u128, i255, -1 << 254);
try testArgs(u128, i255, -1);
try testArgs(u128, i255, 0);
- try testArgs(i256, i255, -1 << 254);
- try testArgs(i256, i255, -1);
- try testArgs(i256, i255, 0);
try testArgs(u256, i255, -1 << 254);
try testArgs(u256, i255, -1);
try testArgs(u256, i255, 0);
- try testArgs(i512, i255, -1 << 254);
- try testArgs(i512, i255, -1);
- try testArgs(i512, i255, 0);
try testArgs(u512, i255, -1 << 254);
try testArgs(u512, i255, -1);
try testArgs(u512, i255, 0);
- try testArgs(i1024, i255, -1 << 254);
- try testArgs(i1024, i255, -1);
- try testArgs(i1024, i255, 0);
try testArgs(u1024, i255, -1 << 254);
try testArgs(u1024, i255, -1);
try testArgs(u1024, i255, 0);
try testArgs(i8, u255, 0);
try testArgs(i8, u255, 1 << 0);
try testArgs(i8, u255, 1 << 254);
- try testArgs(u8, u255, 0);
- try testArgs(u8, u255, 1 << 0);
- try testArgs(u8, u255, 1 << 254);
try testArgs(i16, u255, 0);
try testArgs(i16, u255, 1 << 0);
try testArgs(i16, u255, 1 << 254);
- try testArgs(u16, u255, 0);
- try testArgs(u16, u255, 1 << 0);
- try testArgs(u16, u255, 1 << 254);
try testArgs(i32, u255, 0);
try testArgs(i32, u255, 1 << 0);
try testArgs(i32, u255, 1 << 254);
- try testArgs(u32, u255, 0);
- try testArgs(u32, u255, 1 << 0);
- try testArgs(u32, u255, 1 << 254);
try testArgs(i64, u255, 0);
try testArgs(i64, u255, 1 << 0);
try testArgs(i64, u255, 1 << 254);
- try testArgs(u64, u255, 0);
- try testArgs(u64, u255, 1 << 0);
- try testArgs(u64, u255, 1 << 254);
try testArgs(i128, u255, 0);
try testArgs(i128, u255, 1 << 0);
try testArgs(i128, u255, 1 << 254);
- try testArgs(u128, u255, 0);
- try testArgs(u128, u255, 1 << 0);
- try testArgs(u128, u255, 1 << 254);
try testArgs(i256, u255, 0);
try testArgs(i256, u255, 1 << 0);
try testArgs(i256, u255, 1 << 254);
- try testArgs(u256, u255, 0);
- try testArgs(u256, u255, 1 << 0);
- try testArgs(u256, u255, 1 << 254);
try testArgs(i512, u255, 0);
try testArgs(i512, u255, 1 << 0);
try testArgs(i512, u255, 1 << 254);
- try testArgs(u512, u255, 0);
- try testArgs(u512, u255, 1 << 0);
- try testArgs(u512, u255, 1 << 254);
try testArgs(i1024, u255, 0);
try testArgs(i1024, u255, 1 << 0);
try testArgs(i1024, u255, 1 << 254);
- try testArgs(u1024, u255, 0);
- try testArgs(u1024, u255, 1 << 0);
- try testArgs(u1024, u255, 1 << 254);
- try testArgs(i8, i256, -1 << 255);
- try testArgs(i8, i256, -1);
- try testArgs(i8, i256, 0);
try testArgs(u8, i256, -1 << 255);
try testArgs(u8, i256, -1);
try testArgs(u8, i256, 0);
- try testArgs(i16, i256, -1 << 255);
- try testArgs(i16, i256, -1);
- try testArgs(i16, i256, 0);
try testArgs(u16, i256, -1 << 255);
try testArgs(u16, i256, -1);
try testArgs(u16, i256, 0);
- try testArgs(i32, i256, -1 << 255);
- try testArgs(i32, i256, -1);
- try testArgs(i32, i256, 0);
try testArgs(u32, i256, -1 << 255);
try testArgs(u32, i256, -1);
try testArgs(u32, i256, 0);
- try testArgs(i64, i256, -1 << 255);
- try testArgs(i64, i256, -1);
- try testArgs(i64, i256, 0);
try testArgs(u64, i256, -1 << 255);
try testArgs(u64, i256, -1);
try testArgs(u64, i256, 0);
- try testArgs(i128, i256, -1 << 255);
- try testArgs(i128, i256, -1);
- try testArgs(i128, i256, 0);
try testArgs(u128, i256, -1 << 255);
try testArgs(u128, i256, -1);
try testArgs(u128, i256, 0);
- try testArgs(i256, i256, -1 << 255);
- try testArgs(i256, i256, -1);
- try testArgs(i256, i256, 0);
try testArgs(u256, i256, -1 << 255);
try testArgs(u256, i256, -1);
try testArgs(u256, i256, 0);
- try testArgs(i512, i256, -1 << 255);
- try testArgs(i512, i256, -1);
- try testArgs(i512, i256, 0);
try testArgs(u512, i256, -1 << 255);
try testArgs(u512, i256, -1);
try testArgs(u512, i256, 0);
- try testArgs(i1024, i256, -1 << 255);
- try testArgs(i1024, i256, -1);
- try testArgs(i1024, i256, 0);
try testArgs(u1024, i256, -1 << 255);
try testArgs(u1024, i256, -1);
try testArgs(u1024, i256, 0);
try testArgs(i8, u256, 0);
try testArgs(i8, u256, 1 << 0);
try testArgs(i8, u256, 1 << 255);
- try testArgs(u8, u256, 0);
- try testArgs(u8, u256, 1 << 0);
- try testArgs(u8, u256, 1 << 255);
try testArgs(i16, u256, 0);
try testArgs(i16, u256, 1 << 0);
try testArgs(i16, u256, 1 << 255);
- try testArgs(u16, u256, 0);
- try testArgs(u16, u256, 1 << 0);
- try testArgs(u16, u256, 1 << 255);
try testArgs(i32, u256, 0);
try testArgs(i32, u256, 1 << 0);
try testArgs(i32, u256, 1 << 255);
- try testArgs(u32, u256, 0);
- try testArgs(u32, u256, 1 << 0);
- try testArgs(u32, u256, 1 << 255);
try testArgs(i64, u256, 0);
try testArgs(i64, u256, 1 << 0);
try testArgs(i64, u256, 1 << 255);
- try testArgs(u64, u256, 0);
- try testArgs(u64, u256, 1 << 0);
- try testArgs(u64, u256, 1 << 255);
try testArgs(i128, u256, 0);
try testArgs(i128, u256, 1 << 0);
try testArgs(i128, u256, 1 << 255);
- try testArgs(u128, u256, 0);
- try testArgs(u128, u256, 1 << 0);
- try testArgs(u128, u256, 1 << 255);
try testArgs(i256, u256, 0);
try testArgs(i256, u256, 1 << 0);
try testArgs(i256, u256, 1 << 255);
- try testArgs(u256, u256, 0);
- try testArgs(u256, u256, 1 << 0);
- try testArgs(u256, u256, 1 << 255);
try testArgs(i512, u256, 0);
try testArgs(i512, u256, 1 << 0);
try testArgs(i512, u256, 1 << 255);
- try testArgs(u512, u256, 0);
- try testArgs(u512, u256, 1 << 0);
- try testArgs(u512, u256, 1 << 255);
try testArgs(i1024, u256, 0);
try testArgs(i1024, u256, 1 << 0);
try testArgs(i1024, u256, 1 << 255);
- try testArgs(u1024, u256, 0);
- try testArgs(u1024, u256, 1 << 0);
- try testArgs(u1024, u256, 1 << 255);
- try testArgs(i8, i257, -1 << 256);
- try testArgs(i8, i257, -1);
- try testArgs(i8, i257, 0);
try testArgs(u8, i257, -1 << 256);
try testArgs(u8, i257, -1);
try testArgs(u8, i257, 0);
- try testArgs(i16, i257, -1 << 256);
- try testArgs(i16, i257, -1);
- try testArgs(i16, i257, 0);
try testArgs(u16, i257, -1 << 256);
try testArgs(u16, i257, -1);
try testArgs(u16, i257, 0);
- try testArgs(i32, i257, -1 << 256);
- try testArgs(i32, i257, -1);
- try testArgs(i32, i257, 0);
try testArgs(u32, i257, -1 << 256);
try testArgs(u32, i257, -1);
try testArgs(u32, i257, 0);
- try testArgs(i64, i257, -1 << 256);
- try testArgs(i64, i257, -1);
- try testArgs(i64, i257, 0);
try testArgs(u64, i257, -1 << 256);
try testArgs(u64, i257, -1);
try testArgs(u64, i257, 0);
- try testArgs(i128, i257, -1 << 256);
- try testArgs(i128, i257, -1);
- try testArgs(i128, i257, 0);
try testArgs(u128, i257, -1 << 256);
try testArgs(u128, i257, -1);
try testArgs(u128, i257, 0);
- try testArgs(i256, i257, -1 << 256);
- try testArgs(i256, i257, -1);
- try testArgs(i256, i257, 0);
try testArgs(u256, i257, -1 << 256);
try testArgs(u256, i257, -1);
try testArgs(u256, i257, 0);
- try testArgs(i512, i257, -1 << 256);
- try testArgs(i512, i257, -1);
- try testArgs(i512, i257, 0);
try testArgs(u512, i257, -1 << 256);
try testArgs(u512, i257, -1);
try testArgs(u512, i257, 0);
- try testArgs(i1024, i257, -1 << 256);
- try testArgs(i1024, i257, -1);
- try testArgs(i1024, i257, 0);
try testArgs(u1024, i257, -1 << 256);
try testArgs(u1024, i257, -1);
try testArgs(u1024, i257, 0);
try testArgs(i8, u257, 0);
try testArgs(i8, u257, 1 << 0);
try testArgs(i8, u257, 1 << 256);
- try testArgs(u8, u257, 0);
- try testArgs(u8, u257, 1 << 0);
- try testArgs(u8, u257, 1 << 256);
try testArgs(i16, u257, 0);
try testArgs(i16, u257, 1 << 0);
try testArgs(i16, u257, 1 << 256);
- try testArgs(u16, u257, 0);
- try testArgs(u16, u257, 1 << 0);
- try testArgs(u16, u257, 1 << 256);
try testArgs(i32, u257, 0);
try testArgs(i32, u257, 1 << 0);
try testArgs(i32, u257, 1 << 256);
- try testArgs(u32, u257, 0);
- try testArgs(u32, u257, 1 << 0);
- try testArgs(u32, u257, 1 << 256);
try testArgs(i64, u257, 0);
try testArgs(i64, u257, 1 << 0);
try testArgs(i64, u257, 1 << 256);
- try testArgs(u64, u257, 0);
- try testArgs(u64, u257, 1 << 0);
- try testArgs(u64, u257, 1 << 256);
try testArgs(i128, u257, 0);
try testArgs(i128, u257, 1 << 0);
try testArgs(i128, u257, 1 << 256);
- try testArgs(u128, u257, 0);
- try testArgs(u128, u257, 1 << 0);
- try testArgs(u128, u257, 1 << 256);
try testArgs(i256, u257, 0);
try testArgs(i256, u257, 1 << 0);
try testArgs(i256, u257, 1 << 256);
- try testArgs(u256, u257, 0);
- try testArgs(u256, u257, 1 << 0);
- try testArgs(u256, u257, 1 << 256);
try testArgs(i512, u257, 0);
try testArgs(i512, u257, 1 << 0);
try testArgs(i512, u257, 1 << 256);
- try testArgs(u512, u257, 0);
- try testArgs(u512, u257, 1 << 0);
- try testArgs(u512, u257, 1 << 256);
try testArgs(i1024, u257, 0);
try testArgs(i1024, u257, 1 << 0);
try testArgs(i1024, u257, 1 << 256);
- try testArgs(u1024, u257, 0);
- try testArgs(u1024, u257, 1 << 0);
- try testArgs(u1024, u257, 1 << 256);
- try testArgs(i8, i511, -1 << 510);
- try testArgs(i8, i511, -1);
- try testArgs(i8, i511, 0);
try testArgs(u8, i511, -1 << 510);
try testArgs(u8, i511, -1);
try testArgs(u8, i511, 0);
- try testArgs(i16, i511, -1 << 510);
- try testArgs(i16, i511, -1);
- try testArgs(i16, i511, 0);
try testArgs(u16, i511, -1 << 510);
try testArgs(u16, i511, -1);
try testArgs(u16, i511, 0);
- try testArgs(i32, i511, -1 << 510);
- try testArgs(i32, i511, -1);
- try testArgs(i32, i511, 0);
try testArgs(u32, i511, -1 << 510);
try testArgs(u32, i511, -1);
try testArgs(u32, i511, 0);
- try testArgs(i64, i511, -1 << 510);
- try testArgs(i64, i511, -1);
- try testArgs(i64, i511, 0);
try testArgs(u64, i511, -1 << 510);
try testArgs(u64, i511, -1);
try testArgs(u64, i511, 0);
- try testArgs(i128, i511, -1 << 510);
- try testArgs(i128, i511, -1);
- try testArgs(i128, i511, 0);
try testArgs(u128, i511, -1 << 510);
try testArgs(u128, i511, -1);
try testArgs(u128, i511, 0);
- try testArgs(i256, i511, -1 << 510);
- try testArgs(i256, i511, -1);
- try testArgs(i256, i511, 0);
try testArgs(u256, i511, -1 << 510);
try testArgs(u256, i511, -1);
try testArgs(u256, i511, 0);
- try testArgs(i512, i511, -1 << 510);
- try testArgs(i512, i511, -1);
- try testArgs(i512, i511, 0);
try testArgs(u512, i511, -1 << 510);
try testArgs(u512, i511, -1);
try testArgs(u512, i511, 0);
- try testArgs(i1024, i511, -1 << 510);
- try testArgs(i1024, i511, -1);
- try testArgs(i1024, i511, 0);
try testArgs(u1024, i511, -1 << 510);
try testArgs(u1024, i511, -1);
try testArgs(u1024, i511, 0);
try testArgs(i8, u511, 0);
try testArgs(i8, u511, 1 << 0);
try testArgs(i8, u511, 1 << 510);
- try testArgs(u8, u511, 0);
- try testArgs(u8, u511, 1 << 0);
- try testArgs(u8, u511, 1 << 510);
try testArgs(i16, u511, 0);
try testArgs(i16, u511, 1 << 0);
try testArgs(i16, u511, 1 << 510);
- try testArgs(u16, u511, 0);
- try testArgs(u16, u511, 1 << 0);
- try testArgs(u16, u511, 1 << 510);
try testArgs(i32, u511, 0);
try testArgs(i32, u511, 1 << 0);
try testArgs(i32, u511, 1 << 510);
- try testArgs(u32, u511, 0);
- try testArgs(u32, u511, 1 << 0);
- try testArgs(u32, u511, 1 << 510);
try testArgs(i64, u511, 0);
try testArgs(i64, u511, 1 << 0);
try testArgs(i64, u511, 1 << 510);
- try testArgs(u64, u511, 0);
- try testArgs(u64, u511, 1 << 0);
- try testArgs(u64, u511, 1 << 510);
try testArgs(i128, u511, 0);
try testArgs(i128, u511, 1 << 0);
try testArgs(i128, u511, 1 << 510);
- try testArgs(u128, u511, 0);
- try testArgs(u128, u511, 1 << 0);
- try testArgs(u128, u511, 1 << 510);
try testArgs(i256, u511, 0);
try testArgs(i256, u511, 1 << 0);
try testArgs(i256, u511, 1 << 510);
- try testArgs(u256, u511, 0);
- try testArgs(u256, u511, 1 << 0);
- try testArgs(u256, u511, 1 << 510);
try testArgs(i512, u511, 0);
try testArgs(i512, u511, 1 << 0);
try testArgs(i512, u511, 1 << 510);
- try testArgs(u512, u511, 0);
- try testArgs(u512, u511, 1 << 0);
- try testArgs(u512, u511, 1 << 510);
try testArgs(i1024, u511, 0);
try testArgs(i1024, u511, 1 << 0);
try testArgs(i1024, u511, 1 << 510);
- try testArgs(u1024, u511, 0);
- try testArgs(u1024, u511, 1 << 0);
- try testArgs(u1024, u511, 1 << 510);
- try testArgs(i8, i512, -1 << 511);
- try testArgs(i8, i512, -1);
- try testArgs(i8, i512, 0);
try testArgs(u8, i512, -1 << 511);
try testArgs(u8, i512, -1);
try testArgs(u8, i512, 0);
- try testArgs(i16, i512, -1 << 511);
- try testArgs(i16, i512, -1);
- try testArgs(i16, i512, 0);
try testArgs(u16, i512, -1 << 511);
try testArgs(u16, i512, -1);
try testArgs(u16, i512, 0);
- try testArgs(i32, i512, -1 << 511);
- try testArgs(i32, i512, -1);
- try testArgs(i32, i512, 0);
try testArgs(u32, i512, -1 << 511);
try testArgs(u32, i512, -1);
try testArgs(u32, i512, 0);
- try testArgs(i64, i512, -1 << 511);
- try testArgs(i64, i512, -1);
- try testArgs(i64, i512, 0);
try testArgs(u64, i512, -1 << 511);
try testArgs(u64, i512, -1);
try testArgs(u64, i512, 0);
- try testArgs(i128, i512, -1 << 511);
- try testArgs(i128, i512, -1);
- try testArgs(i128, i512, 0);
try testArgs(u128, i512, -1 << 511);
try testArgs(u128, i512, -1);
try testArgs(u128, i512, 0);
- try testArgs(i256, i512, -1 << 511);
- try testArgs(i256, i512, -1);
- try testArgs(i256, i512, 0);
try testArgs(u256, i512, -1 << 511);
try testArgs(u256, i512, -1);
try testArgs(u256, i512, 0);
- try testArgs(i512, i512, -1 << 511);
- try testArgs(i512, i512, -1);
- try testArgs(i512, i512, 0);
try testArgs(u512, i512, -1 << 511);
try testArgs(u512, i512, -1);
try testArgs(u512, i512, 0);
- try testArgs(i1024, i512, -1 << 511);
- try testArgs(i1024, i512, -1);
- try testArgs(i1024, i512, 0);
try testArgs(u1024, i512, -1 << 511);
try testArgs(u1024, i512, -1);
try testArgs(u1024, i512, 0);
try testArgs(i8, u512, 0);
try testArgs(i8, u512, 1 << 0);
try testArgs(i8, u512, 1 << 511);
- try testArgs(u8, u512, 0);
- try testArgs(u8, u512, 1 << 0);
- try testArgs(u8, u512, 1 << 511);
try testArgs(i16, u512, 0);
try testArgs(i16, u512, 1 << 0);
try testArgs(i16, u512, 1 << 511);
- try testArgs(u16, u512, 0);
- try testArgs(u16, u512, 1 << 0);
- try testArgs(u16, u512, 1 << 511);
try testArgs(i32, u512, 0);
try testArgs(i32, u512, 1 << 0);
try testArgs(i32, u512, 1 << 511);
- try testArgs(u32, u512, 0);
- try testArgs(u32, u512, 1 << 0);
- try testArgs(u32, u512, 1 << 511);
try testArgs(i64, u512, 0);
try testArgs(i64, u512, 1 << 0);
try testArgs(i64, u512, 1 << 511);
- try testArgs(u64, u512, 0);
- try testArgs(u64, u512, 1 << 0);
- try testArgs(u64, u512, 1 << 511);
try testArgs(i128, u512, 0);
try testArgs(i128, u512, 1 << 0);
try testArgs(i128, u512, 1 << 511);
- try testArgs(u128, u512, 0);
- try testArgs(u128, u512, 1 << 0);
- try testArgs(u128, u512, 1 << 511);
try testArgs(i256, u512, 0);
try testArgs(i256, u512, 1 << 0);
try testArgs(i256, u512, 1 << 511);
- try testArgs(u256, u512, 0);
- try testArgs(u256, u512, 1 << 0);
- try testArgs(u256, u512, 1 << 511);
try testArgs(i512, u512, 0);
try testArgs(i512, u512, 1 << 0);
try testArgs(i512, u512, 1 << 511);
- try testArgs(u512, u512, 0);
- try testArgs(u512, u512, 1 << 0);
- try testArgs(u512, u512, 1 << 511);
try testArgs(i1024, u512, 0);
try testArgs(i1024, u512, 1 << 0);
try testArgs(i1024, u512, 1 << 511);
- try testArgs(u1024, u512, 0);
- try testArgs(u1024, u512, 1 << 0);
- try testArgs(u1024, u512, 1 << 511);
- try testArgs(i8, i513, -1 << 512);
- try testArgs(i8, i513, -1);
- try testArgs(i8, i513, 0);
try testArgs(u8, i513, -1 << 512);
try testArgs(u8, i513, -1);
try testArgs(u8, i513, 0);
- try testArgs(i16, i513, -1 << 512);
- try testArgs(i16, i513, -1);
- try testArgs(i16, i513, 0);
try testArgs(u16, i513, -1 << 512);
try testArgs(u16, i513, -1);
try testArgs(u16, i513, 0);
- try testArgs(i32, i513, -1 << 512);
- try testArgs(i32, i513, -1);
- try testArgs(i32, i513, 0);
try testArgs(u32, i513, -1 << 512);
try testArgs(u32, i513, -1);
try testArgs(u32, i513, 0);
- try testArgs(i64, i513, -1 << 512);
- try testArgs(i64, i513, -1);
- try testArgs(i64, i513, 0);
try testArgs(u64, i513, -1 << 512);
try testArgs(u64, i513, -1);
try testArgs(u64, i513, 0);
- try testArgs(i128, i513, -1 << 512);
- try testArgs(i128, i513, -1);
- try testArgs(i128, i513, 0);
try testArgs(u128, i513, -1 << 512);
try testArgs(u128, i513, -1);
try testArgs(u128, i513, 0);
- try testArgs(i256, i513, -1 << 512);
- try testArgs(i256, i513, -1);
- try testArgs(i256, i513, 0);
try testArgs(u256, i513, -1 << 512);
try testArgs(u256, i513, -1);
try testArgs(u256, i513, 0);
- try testArgs(i512, i513, -1 << 512);
- try testArgs(i512, i513, -1);
- try testArgs(i512, i513, 0);
try testArgs(u512, i513, -1 << 512);
try testArgs(u512, i513, -1);
try testArgs(u512, i513, 0);
- try testArgs(i1024, i513, -1 << 512);
- try testArgs(i1024, i513, -1);
- try testArgs(i1024, i513, 0);
try testArgs(u1024, i513, -1 << 512);
try testArgs(u1024, i513, -1);
try testArgs(u1024, i513, 0);
try testArgs(i8, u513, 0);
try testArgs(i8, u513, 1 << 0);
try testArgs(i8, u513, 1 << 512);
- try testArgs(u8, u513, 0);
- try testArgs(u8, u513, 1 << 0);
- try testArgs(u8, u513, 1 << 512);
try testArgs(i16, u513, 0);
try testArgs(i16, u513, 1 << 0);
try testArgs(i16, u513, 1 << 512);
- try testArgs(u16, u513, 0);
- try testArgs(u16, u513, 1 << 0);
- try testArgs(u16, u513, 1 << 512);
try testArgs(i32, u513, 0);
try testArgs(i32, u513, 1 << 0);
try testArgs(i32, u513, 1 << 512);
- try testArgs(u32, u513, 0);
- try testArgs(u32, u513, 1 << 0);
- try testArgs(u32, u513, 1 << 512);
try testArgs(i64, u513, 0);
try testArgs(i64, u513, 1 << 0);
try testArgs(i64, u513, 1 << 512);
- try testArgs(u64, u513, 0);
- try testArgs(u64, u513, 1 << 0);
- try testArgs(u64, u513, 1 << 512);
try testArgs(i128, u513, 0);
try testArgs(i128, u513, 1 << 0);
try testArgs(i128, u513, 1 << 512);
- try testArgs(u128, u513, 0);
- try testArgs(u128, u513, 1 << 0);
- try testArgs(u128, u513, 1 << 512);
try testArgs(i256, u513, 0);
try testArgs(i256, u513, 1 << 0);
try testArgs(i256, u513, 1 << 512);
- try testArgs(u256, u513, 0);
- try testArgs(u256, u513, 1 << 0);
- try testArgs(u256, u513, 1 << 512);
try testArgs(i512, u513, 0);
try testArgs(i512, u513, 1 << 0);
try testArgs(i512, u513, 1 << 512);
- try testArgs(u512, u513, 0);
- try testArgs(u512, u513, 1 << 0);
- try testArgs(u512, u513, 1 << 512);
try testArgs(i1024, u513, 0);
try testArgs(i1024, u513, 1 << 0);
try testArgs(i1024, u513, 1 << 512);
- try testArgs(u1024, u513, 0);
- try testArgs(u1024, u513, 1 << 0);
- try testArgs(u1024, u513, 1 << 512);
- try testArgs(i8, i1023, -1 << 1022);
- try testArgs(i8, i1023, -1);
- try testArgs(i8, i1023, 0);
try testArgs(u8, i1023, -1 << 1022);
try testArgs(u8, i1023, -1);
try testArgs(u8, i1023, 0);
- try testArgs(i16, i1023, -1 << 1022);
- try testArgs(i16, i1023, -1);
- try testArgs(i16, i1023, 0);
try testArgs(u16, i1023, -1 << 1022);
try testArgs(u16, i1023, -1);
try testArgs(u16, i1023, 0);
- try testArgs(i32, i1023, -1 << 1022);
- try testArgs(i32, i1023, -1);
- try testArgs(i32, i1023, 0);
try testArgs(u32, i1023, -1 << 1022);
try testArgs(u32, i1023, -1);
try testArgs(u32, i1023, 0);
- try testArgs(i64, i1023, -1 << 1022);
- try testArgs(i64, i1023, -1);
- try testArgs(i64, i1023, 0);
try testArgs(u64, i1023, -1 << 1022);
try testArgs(u64, i1023, -1);
try testArgs(u64, i1023, 0);
- try testArgs(i128, i1023, -1 << 1022);
- try testArgs(i128, i1023, -1);
- try testArgs(i128, i1023, 0);
try testArgs(u128, i1023, -1 << 1022);
try testArgs(u128, i1023, -1);
try testArgs(u128, i1023, 0);
- try testArgs(i256, i1023, -1 << 1022);
- try testArgs(i256, i1023, -1);
- try testArgs(i256, i1023, 0);
try testArgs(u256, i1023, -1 << 1022);
try testArgs(u256, i1023, -1);
try testArgs(u256, i1023, 0);
- try testArgs(i512, i1023, -1 << 1022);
- try testArgs(i512, i1023, -1);
- try testArgs(i512, i1023, 0);
try testArgs(u512, i1023, -1 << 1022);
try testArgs(u512, i1023, -1);
try testArgs(u512, i1023, 0);
- try testArgs(i1024, i1023, -1 << 1022);
- try testArgs(i1024, i1023, -1);
- try testArgs(i1024, i1023, 0);
try testArgs(u1024, i1023, -1 << 1022);
try testArgs(u1024, i1023, -1);
try testArgs(u1024, i1023, 0);
try testArgs(i8, u1023, 0);
try testArgs(i8, u1023, 1 << 0);
try testArgs(i8, u1023, 1 << 1022);
- try testArgs(u8, u1023, 0);
- try testArgs(u8, u1023, 1 << 0);
- try testArgs(u8, u1023, 1 << 1022);
try testArgs(i16, u1023, 0);
try testArgs(i16, u1023, 1 << 0);
try testArgs(i16, u1023, 1 << 1022);
- try testArgs(u16, u1023, 0);
- try testArgs(u16, u1023, 1 << 0);
- try testArgs(u16, u1023, 1 << 1022);
try testArgs(i32, u1023, 0);
try testArgs(i32, u1023, 1 << 0);
try testArgs(i32, u1023, 1 << 1022);
- try testArgs(u32, u1023, 0);
- try testArgs(u32, u1023, 1 << 0);
- try testArgs(u32, u1023, 1 << 1022);
try testArgs(i64, u1023, 0);
try testArgs(i64, u1023, 1 << 0);
try testArgs(i64, u1023, 1 << 1022);
- try testArgs(u64, u1023, 0);
- try testArgs(u64, u1023, 1 << 0);
- try testArgs(u64, u1023, 1 << 1022);
try testArgs(i128, u1023, 0);
try testArgs(i128, u1023, 1 << 0);
try testArgs(i128, u1023, 1 << 1022);
- try testArgs(u128, u1023, 0);
- try testArgs(u128, u1023, 1 << 0);
- try testArgs(u128, u1023, 1 << 1022);
try testArgs(i256, u1023, 0);
try testArgs(i256, u1023, 1 << 0);
try testArgs(i256, u1023, 1 << 1022);
- try testArgs(u256, u1023, 0);
- try testArgs(u256, u1023, 1 << 0);
- try testArgs(u256, u1023, 1 << 1022);
try testArgs(i512, u1023, 0);
try testArgs(i512, u1023, 1 << 0);
try testArgs(i512, u1023, 1 << 1022);
- try testArgs(u512, u1023, 0);
- try testArgs(u512, u1023, 1 << 0);
- try testArgs(u512, u1023, 1 << 1022);
try testArgs(i1024, u1023, 0);
try testArgs(i1024, u1023, 1 << 0);
try testArgs(i1024, u1023, 1 << 1022);
- try testArgs(u1024, u1023, 0);
- try testArgs(u1024, u1023, 1 << 0);
- try testArgs(u1024, u1023, 1 << 1022);
- try testArgs(i8, i1024, -1 << 1023);
- try testArgs(i8, i1024, -1);
- try testArgs(i8, i1024, 0);
try testArgs(u8, i1024, -1 << 1023);
try testArgs(u8, i1024, -1);
try testArgs(u8, i1024, 0);
- try testArgs(i16, i1024, -1 << 1023);
- try testArgs(i16, i1024, -1);
- try testArgs(i16, i1024, 0);
try testArgs(u16, i1024, -1 << 1023);
try testArgs(u16, i1024, -1);
try testArgs(u16, i1024, 0);
- try testArgs(i32, i1024, -1 << 1023);
- try testArgs(i32, i1024, -1);
- try testArgs(i32, i1024, 0);
try testArgs(u32, i1024, -1 << 1023);
try testArgs(u32, i1024, -1);
try testArgs(u32, i1024, 0);
- try testArgs(i64, i1024, -1 << 1023);
- try testArgs(i64, i1024, -1);
- try testArgs(i64, i1024, 0);
try testArgs(u64, i1024, -1 << 1023);
try testArgs(u64, i1024, -1);
try testArgs(u64, i1024, 0);
- try testArgs(i128, i1024, -1 << 1023);
- try testArgs(i128, i1024, -1);
- try testArgs(i128, i1024, 0);
try testArgs(u128, i1024, -1 << 1023);
try testArgs(u128, i1024, -1);
try testArgs(u128, i1024, 0);
- try testArgs(i256, i1024, -1 << 1023);
- try testArgs(i256, i1024, -1);
- try testArgs(i256, i1024, 0);
try testArgs(u256, i1024, -1 << 1023);
try testArgs(u256, i1024, -1);
try testArgs(u256, i1024, 0);
- try testArgs(i512, i1024, -1 << 1023);
- try testArgs(i512, i1024, -1);
- try testArgs(i512, i1024, 0);
try testArgs(u512, i1024, -1 << 1023);
try testArgs(u512, i1024, -1);
try testArgs(u512, i1024, 0);
- try testArgs(i1024, i1024, -1 << 1023);
- try testArgs(i1024, i1024, -1);
- try testArgs(i1024, i1024, 0);
try testArgs(u1024, i1024, -1 << 1023);
try testArgs(u1024, i1024, -1);
try testArgs(u1024, i1024, 0);
try testArgs(i8, u1024, 0);
try testArgs(i8, u1024, 1 << 0);
try testArgs(i8, u1024, 1 << 1023);
- try testArgs(u8, u1024, 0);
- try testArgs(u8, u1024, 1 << 0);
- try testArgs(u8, u1024, 1 << 1023);
try testArgs(i16, u1024, 0);
try testArgs(i16, u1024, 1 << 0);
try testArgs(i16, u1024, 1 << 1023);
- try testArgs(u16, u1024, 0);
- try testArgs(u16, u1024, 1 << 0);
- try testArgs(u16, u1024, 1 << 1023);
try testArgs(i32, u1024, 0);
try testArgs(i32, u1024, 1 << 0);
try testArgs(i32, u1024, 1 << 1023);
- try testArgs(u32, u1024, 0);
- try testArgs(u32, u1024, 1 << 0);
- try testArgs(u32, u1024, 1 << 1023);
try testArgs(i64, u1024, 0);
try testArgs(i64, u1024, 1 << 0);
try testArgs(i64, u1024, 1 << 1023);
- try testArgs(u64, u1024, 0);
- try testArgs(u64, u1024, 1 << 0);
- try testArgs(u64, u1024, 1 << 1023);
try testArgs(i128, u1024, 0);
try testArgs(i128, u1024, 1 << 0);
try testArgs(i128, u1024, 1 << 1023);
- try testArgs(u128, u1024, 0);
- try testArgs(u128, u1024, 1 << 0);
- try testArgs(u128, u1024, 1 << 1023);
try testArgs(i256, u1024, 0);
try testArgs(i256, u1024, 1 << 0);
try testArgs(i256, u1024, 1 << 1023);
- try testArgs(u256, u1024, 0);
- try testArgs(u256, u1024, 1 << 0);
- try testArgs(u256, u1024, 1 << 1023);
try testArgs(i512, u1024, 0);
try testArgs(i512, u1024, 1 << 0);
try testArgs(i512, u1024, 1 << 1023);
- try testArgs(u512, u1024, 0);
- try testArgs(u512, u1024, 1 << 0);
- try testArgs(u512, u1024, 1 << 1023);
try testArgs(i1024, u1024, 0);
try testArgs(i1024, u1024, 1 << 0);
try testArgs(i1024, u1024, 1 << 1023);
- try testArgs(u1024, u1024, 0);
- try testArgs(u1024, u1024, 1 << 0);
- try testArgs(u1024, u1024, 1 << 1023);
- try testArgs(i8, i1025, -1 << 1024);
- try testArgs(i8, i1025, -1);
- try testArgs(i8, i1025, 0);
try testArgs(u8, i1025, -1 << 1024);
try testArgs(u8, i1025, -1);
try testArgs(u8, i1025, 0);
- try testArgs(i16, i1025, -1 << 1024);
- try testArgs(i16, i1025, -1);
- try testArgs(i16, i1025, 0);
try testArgs(u16, i1025, -1 << 1024);
try testArgs(u16, i1025, -1);
try testArgs(u16, i1025, 0);
- try testArgs(i32, i1025, -1 << 1024);
- try testArgs(i32, i1025, -1);
- try testArgs(i32, i1025, 0);
try testArgs(u32, i1025, -1 << 1024);
try testArgs(u32, i1025, -1);
try testArgs(u32, i1025, 0);
- try testArgs(i64, i1025, -1 << 1024);
- try testArgs(i64, i1025, -1);
- try testArgs(i64, i1025, 0);
try testArgs(u64, i1025, -1 << 1024);
try testArgs(u64, i1025, -1);
try testArgs(u64, i1025, 0);
- try testArgs(i128, i1025, -1 << 1024);
- try testArgs(i128, i1025, -1);
- try testArgs(i128, i1025, 0);
try testArgs(u128, i1025, -1 << 1024);
try testArgs(u128, i1025, -1);
try testArgs(u128, i1025, 0);
- try testArgs(i256, i1025, -1 << 1024);
- try testArgs(i256, i1025, -1);
- try testArgs(i256, i1025, 0);
try testArgs(u256, i1025, -1 << 1024);
try testArgs(u256, i1025, -1);
try testArgs(u256, i1025, 0);
- try testArgs(i512, i1025, -1 << 1024);
- try testArgs(i512, i1025, -1);
- try testArgs(i512, i1025, 0);
try testArgs(u512, i1025, -1 << 1024);
try testArgs(u512, i1025, -1);
try testArgs(u512, i1025, 0);
- try testArgs(i1024, i1025, -1 << 1024);
- try testArgs(i1024, i1025, -1);
- try testArgs(i1024, i1025, 0);
try testArgs(u1024, i1025, -1 << 1024);
try testArgs(u1024, i1025, -1);
try testArgs(u1024, i1025, 0);
try testArgs(i8, u1025, 0);
try testArgs(i8, u1025, 1 << 0);
try testArgs(i8, u1025, 1 << 1024);
- try testArgs(u8, u1025, 0);
- try testArgs(u8, u1025, 1 << 0);
- try testArgs(u8, u1025, 1 << 1024);
try testArgs(i16, u1025, 0);
try testArgs(i16, u1025, 1 << 0);
try testArgs(i16, u1025, 1 << 1024);
- try testArgs(u16, u1025, 0);
- try testArgs(u16, u1025, 1 << 0);
- try testArgs(u16, u1025, 1 << 1024);
try testArgs(i32, u1025, 0);
try testArgs(i32, u1025, 1 << 0);
try testArgs(i32, u1025, 1 << 1024);
- try testArgs(u32, u1025, 0);
- try testArgs(u32, u1025, 1 << 0);
- try testArgs(u32, u1025, 1 << 1024);
try testArgs(i64, u1025, 0);
try testArgs(i64, u1025, 1 << 0);
try testArgs(i64, u1025, 1 << 1024);
- try testArgs(u64, u1025, 0);
- try testArgs(u64, u1025, 1 << 0);
- try testArgs(u64, u1025, 1 << 1024);
try testArgs(i128, u1025, 0);
try testArgs(i128, u1025, 1 << 0);
try testArgs(i128, u1025, 1 << 1024);
- try testArgs(u128, u1025, 0);
- try testArgs(u128, u1025, 1 << 0);
- try testArgs(u128, u1025, 1 << 1024);
try testArgs(i256, u1025, 0);
try testArgs(i256, u1025, 1 << 0);
try testArgs(i256, u1025, 1 << 1024);
- try testArgs(u256, u1025, 0);
- try testArgs(u256, u1025, 1 << 0);
- try testArgs(u256, u1025, 1 << 1024);
try testArgs(i512, u1025, 0);
try testArgs(i512, u1025, 1 << 0);
try testArgs(i512, u1025, 1 << 1024);
- try testArgs(u512, u1025, 0);
- try testArgs(u512, u1025, 1 << 0);
- try testArgs(u512, u1025, 1 << 1024);
try testArgs(i1024, u1025, 0);
try testArgs(i1024, u1025, 1 << 0);
try testArgs(i1024, u1025, 1 << 1024);
- try testArgs(u1024, u1025, 0);
- try testArgs(u1024, u1025, 1 << 0);
- try testArgs(u1024, u1025, 1 << 1024);
}
fn testFloats() !void {
@setEvalBranchQuota(3_100);
@@ -10804,6 +9917,46 @@ test clz {
try test_clz.testIntVectors();
}
+inline fn intCast(comptime Result: type, comptime Type: type, rhs: Type) Result {
+ const res_info = switch (@typeInfo(Result)) {
+ .int => |info| info,
+ .vector => |info| @typeInfo(info.child).int,
+ else => @compileError(@typeName(Result)),
+ };
+ const rhs_info = switch (@typeInfo(Type)) {
+ .int => |info| info,
+ .vector => |info| @typeInfo(info.child).int,
+ else => @compileError(@typeName(Type)),
+ };
+ const min_bits = @min(res_info.bits, rhs_info.bits);
+ return @intCast(switch (@as(union(enum) {
+ shift: std.math.Log2Int(Type),
+ mask: std.math.Log2IntCeil(Type),
+ }, switch (res_info.signedness) {
+ .signed => switch (rhs_info.signedness) {
+ .signed => .{ .shift = rhs_info.bits - min_bits },
+ .unsigned => .{ .mask = min_bits - @intFromBool(res_info.bits <= rhs_info.bits) },
+ },
+ .unsigned => switch (rhs_info.signedness) {
+ .signed => .{ .mask = min_bits - @intFromBool(res_info.bits >= rhs_info.bits) },
+ .unsigned => .{ .mask = min_bits },
+ },
+ })) {
+ // TODO: if (bits == 0) rhs else rhs >> bits,
+ .shift => |bits| if (bits == 0)
+ rhs
+ else if (rhs < 0)
+ rhs | std.math.minInt(Type) >> bits
+ else
+ rhs & std.math.maxInt(Type) >> bits,
+ .mask => |bits| if (bits == rhs_info.bits) rhs else rhs & (1 << bits) - 1,
+ });
+}
+test intCast {
+ const test_int_cast = cast(intCast, .{});
+ try test_int_cast.testInts();
+}
+
inline fn floatCast(comptime Result: type, comptime Type: type, rhs: Type) Result {
return @floatCast(rhs);
}