aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/maximum_minimum.zig
diff options
context:
space:
mode:
authorRobin Voetter <robin@voetter.nl>2023-10-08 13:02:16 +0200
committerRobin Voetter <robin@voetter.nl>2023-10-15 14:00:07 +0200
commit4f279078c8bd57e7ee47eebce2572ab25729850a (patch)
tree01b17bf5eead8d87b22b1e9d5b33e61a2f5a7cf8 /test/behavior/maximum_minimum.zig
parentf858bf161602d72584da9e950c5a9eeadfe8b29d (diff)
downloadzig-4f279078c8bd57e7ee47eebce2572ab25729850a.tar.gz
zig-4f279078c8bd57e7ee47eebce2572ab25729850a.zip
spirv: air min/max
Diffstat (limited to 'test/behavior/maximum_minimum.zig')
-rw-r--r--test/behavior/maximum_minimum.zig8
1 files changed, 6 insertions, 2 deletions
diff --git a/test/behavior/maximum_minimum.zig b/test/behavior/maximum_minimum.zig
index c76dd7573d..0b9ca8c636 100644
--- a/test/behavior/maximum_minimum.zig
+++ b/test/behavior/maximum_minimum.zig
@@ -9,14 +9,16 @@ test "@max" {
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
- if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
const S = struct {
fn doTheTest() !void {
var x: i32 = 10;
var y: f32 = 0.68;
+ var nan: f32 = std.math.nan(f32);
try expect(@as(i32, 10) == @max(@as(i32, -3), x));
try expect(@as(f32, 3.2) == @max(@as(f32, 3.2), y));
+ try expect(y == @max(nan, y));
+ try expect(y == @max(y, nan));
}
};
try S.doTheTest();
@@ -58,14 +60,16 @@ test "@min" {
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_sparc64) return error.SkipZigTest; // TODO
- if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
const S = struct {
fn doTheTest() !void {
var x: i32 = 10;
var y: f32 = 0.68;
+ var nan: f32 = std.math.nan(f32);
try expect(@as(i32, -3) == @min(@as(i32, -3), x));
try expect(@as(f32, 0.68) == @min(@as(f32, 3.2), y));
+ try expect(y == @min(nan, y));
+ try expect(y == @min(y, nan));
}
};
try S.doTheTest();