Commit d877eb0e8d

data-man <datamanrb@gmail.com>
2020-12-16 03:38:36
Fix typo in math.order
1 parent d3a57b9
Changed files (1)
lib
lib/std/math.zig
@@ -1169,7 +1169,7 @@ pub const Order = enum {
         return switch (self) {
             .lt => .gt,
             .eq => .eq,
-            .gt => .gt,
+            .gt => .lt,
         };
     }
 
@@ -1266,6 +1266,29 @@ test "compare between signed and unsigned" {
     testing.expect(compare(@as(u8, 1), .eq, @as(u8, 1)));
 }
 
+test "order" {
+    testing.expect(order(0, 0) == .eq);
+    testing.expect(order(1, 0) == .gt);
+    testing.expect(order(-1, 0) == .lt);
+}
+
+test "order.invert" {
+    testing.expect(Order.invert(order(0, 0)) == .eq);
+    testing.expect(Order.invert(order(1, 0)) == .lt);
+    testing.expect(Order.invert(order(-1, 0)) == .gt);
+}
+
+test "order.compare" {
+    testing.expect(order(-1, 0).compare(.lt));
+    testing.expect(order(-1, 0).compare(.lte));
+    testing.expect(order(0, 0).compare(.lte));
+    testing.expect(order(0, 0).compare(.eq));
+    testing.expect(order(0, 0).compare(.gte));
+    testing.expect(order(1, 0).compare(.gte));
+    testing.expect(order(1, 0).compare(.gt));
+    testing.expect(order(1, 0).compare(.neq));
+}
+
 test "math.comptime" {
     comptime const v = sin(@as(f32, 1)) + ln(@as(f32, 5));
     testing.expect(v == sin(@as(f32, 1)) + ln(@as(f32, 5)));