diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2018-01-17 10:24:27 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-01-17 10:24:27 -0500 |
| commit | a4e8e55908eb406f4713c22a6721d6d73f6951a5 (patch) | |
| tree | d89e36d6b195dcd3862f2bc3e1f16a86384e0f1e /test/cases/math.zig | |
| parent | 2e6125bc66bd717838fb107107564cdd66112613 (diff) | |
| parent | 1d6f54cc7d6a00f3ebcc96b5265c845223c64e2e (diff) | |
| download | zig-a4e8e55908eb406f4713c22a6721d6d73f6951a5.tar.gz zig-a4e8e55908eb406f4713c22a6721d6d73f6951a5.zip | |
Merge pull request #701 from Hejsil/fix-xor-with-zero
Fixed bigint_xor for none negative numbers
Diffstat (limited to 'test/cases/math.zig')
| -rw-r--r-- | test/cases/math.zig | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/test/cases/math.zig b/test/cases/math.zig index 090e2b9dfd..88f32a2839 100644 --- a/test/cases/math.zig +++ b/test/cases/math.zig @@ -349,6 +349,32 @@ test "big number shifting" { } } +test "xor" { + test_xor(); + comptime test_xor(); +} + +fn test_xor() { + assert(0xFF ^ 0x00 == 0xFF); + assert(0xF0 ^ 0x0F == 0xFF); + assert(0xFF ^ 0xF0 == 0x0F); + assert(0xFF ^ 0x0F == 0xF0); + assert(0xFF ^ 0xFF == 0x00); +} + +test "big number xor" { + comptime { + assert(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ^ 0x00000000000000000000000000000000 == 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); + assert(0xFFFFFFFFFFFFFFFF0000000000000000 ^ 0x0000000000000000FFFFFFFFFFFFFFFF == 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); + assert(0xFFFFFFFFFFFFFFFF0000000000000000 ^ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF == 0x0000000000000000FFFFFFFFFFFFFFFF); + assert(0x0000000000000000FFFFFFFFFFFFFFFF ^ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF == 0xFFFFFFFFFFFFFFFF0000000000000000); + assert(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ^ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF == 0x00000000000000000000000000000000); + assert(0xFFFFFFFF00000000FFFFFFFF00000000 ^ 0x00000000FFFFFFFF00000000FFFFFFFF == 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); + assert(0xFFFFFFFF00000000FFFFFFFF00000000 ^ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF == 0x00000000FFFFFFFF00000000FFFFFFFF); + assert(0x00000000FFFFFFFF00000000FFFFFFFF ^ 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF == 0xFFFFFFFF00000000FFFFFFFF00000000); + } +} + test "f128" { test_f128(); comptime test_f128(); @@ -368,4 +394,4 @@ fn test_f128() { fn should_not_be_zero(x: f128) { assert(x != 0.0); -} +}
\ No newline at end of file |
