aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/math.zig
diff options
context:
space:
mode:
authorRobin Voetter <robin@voetter.nl>2021-12-20 02:06:09 +0100
committerRobin Voetter <robin@voetter.nl>2021-12-21 01:41:51 +0100
commitc47ed0c912d2f445710fe4486fa071dd63601989 (patch)
tree3272549828e1ca5fbb65b43a6cad1ea6e200cbd4 /test/behavior/math.zig
parentddd2ef822f99979d3ea61583a91ab236942e6367 (diff)
downloadzig-c47ed0c912d2f445710fe4486fa071dd63601989.tar.gz
zig-c47ed0c912d2f445710fe4486fa071dd63601989.zip
stage2: @mulWithOverflow
Diffstat (limited to 'test/behavior/math.zig')
-rw-r--r--test/behavior/math.zig24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/behavior/math.zig b/test/behavior/math.zig
index 2cd67854af..963fe3f0d5 100644
--- a/test/behavior/math.zig
+++ b/test/behavior/math.zig
@@ -451,6 +451,14 @@ test "@addWithOverflow" {
try expect(result == 94);
try expect(!@addWithOverflow(u8, 100, 150, &result));
try expect(result == 250);
+
+ var a: u8 = 200;
+ var b: u8 = 99;
+ try expect(@addWithOverflow(u8, a, b, &result));
+ try expect(result == 43);
+ b = 55;
+ try expect(!@addWithOverflow(u8, a, b, &result));
+ try expect(result == 255);
}
test "small int addition" {
@@ -471,3 +479,19 @@ test "small int addition" {
try expect(result == 0);
}
+
+test "@mulWithOverflow" {
+ var result: u8 = undefined;
+ try expect(@mulWithOverflow(u8, 86, 3, &result));
+ try expect(result == 2);
+ try expect(!@mulWithOverflow(u8, 85, 3, &result));
+ try expect(result == 255);
+
+ var a: u8 = 123;
+ var b: u8 = 2;
+ try expect(!@mulWithOverflow(u8, a, b, &result));
+ try expect(result == 246);
+ b = 4;
+ try expect(@mulWithOverflow(u8, a, b, &result));
+ try expect(result == 236);
+}