diff options
| author | Daniele Cocca <daniele.cocca@gmail.com> | 2022-03-11 11:48:11 +0000 |
|---|---|---|
| committer | Daniele Cocca <daniele.cocca@gmail.com> | 2022-03-11 23:12:15 +0000 |
| commit | 226fcd7c709ec664c5d883042cf7beb3026f66cb (patch) | |
| tree | 200bd4f31e1328d7a94a106a437d3d0ebd0b9569 /test/behavior/math.zig | |
| parent | 6dcfbfbfb2103082603f34fd5bd7c26616eda8c1 (diff) | |
| download | zig-226fcd7c709ec664c5d883042cf7beb3026f66cb.tar.gz zig-226fcd7c709ec664c5d883042cf7beb3026f66cb.zip | |
CBE: implement clz, ctz for ints <= 128 bits
Diffstat (limited to 'test/behavior/math.zig')
| -rw-r--r-- | test/behavior/math.zig | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/test/behavior/math.zig b/test/behavior/math.zig index e06d1bf01a..a8daac54b5 100644 --- a/test/behavior/math.zig +++ b/test/behavior/math.zig @@ -65,7 +65,6 @@ test "@clz" { if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO - if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO try testClz(); comptime try testClz(); @@ -76,6 +75,20 @@ fn testClz() !void { try expect(testOneClz(u8, 0b00001010) == 4); try expect(testOneClz(u8, 0b00011010) == 3); try expect(testOneClz(u8, 0b00000000) == 8); +} + +test "@clz big ints" { + if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO + + try testClzBigInts(); + comptime try testClzBigInts(); +} + +fn testClzBigInts() !void { try expect(testOneClz(u128, 0xffffffffffffffff) == 64); try expect(testOneClz(u128, 0x10000000000000000) == 63); } @@ -130,7 +143,6 @@ test "@ctz" { if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO - if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO try testCtz(); comptime try testCtz(); |
