diff options
| author | Jacob Young <jacobly0@users.noreply.github.com> | 2024-04-13 22:16:27 -0400 |
|---|---|---|
| committer | Jacob Young <jacobly0@users.noreply.github.com> | 2024-04-14 21:26:08 -0400 |
| commit | 425e38b6e0601e12329f93b2e94c76c1da300b8e (patch) | |
| tree | 2aef938ebad6036c08482e566b3cc3c6404390f6 /lib/std/math.zig | |
| parent | e45bdc6bd6e47ec3f7a06dbb48f24e842bf43a0d (diff) | |
| download | zig-425e38b6e0601e12329f93b2e94c76c1da300b8e.tar.gz zig-425e38b6e0601e12329f93b2e94c76c1da300b8e.zip | |
WindowsSdk: fix for new x86_64-windows CI
Diffstat (limited to 'lib/std/math.zig')
| -rw-r--r-- | lib/std/math.zig | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/std/math.zig b/lib/std/math.zig index 19dd82ec67..858e9243bf 100644 --- a/lib/std/math.zig +++ b/lib/std/math.zig @@ -1588,6 +1588,31 @@ pub const Order = enum { try testing.expect(Order.invert(order(-1, 0)) == .gt); } + pub fn differ(self: Order) ?Order { + return if (self != .eq) self else null; + } + + test differ { + const neg: i32 = -1; + const zero: i32 = 0; + const pos: i32 = 1; + try testing.expect(order(zero, neg).differ() orelse + order(pos, zero) == .gt); + try testing.expect(order(zero, zero).differ() orelse + order(zero, zero) == .eq); + try testing.expect(order(pos, pos).differ() orelse + order(neg, zero) == .lt); + try testing.expect(order(zero, zero).differ() orelse + order(pos, neg).differ() orelse + order(neg, zero) == .gt); + try testing.expect(order(pos, pos).differ() orelse + order(pos, pos).differ() orelse + order(neg, neg) == .eq); + try testing.expect(order(zero, pos).differ() orelse + order(neg, pos).differ() orelse + order(pos, neg) == .lt); + } + pub fn compare(self: Order, op: CompareOperator) bool { return switch (self) { .lt => switch (op) { |
