aboutsummaryrefslogtreecommitdiff
path: root/gen/src/gleam@order.erl
diff options
context:
space:
mode:
Diffstat (limited to 'gen/src/gleam@order.erl')
-rw-r--r--gen/src/gleam@order.erl73
1 files changed, 73 insertions, 0 deletions
diff --git a/gen/src/gleam@order.erl b/gen/src/gleam@order.erl
new file mode 100644
index 0000000..9e259ed
--- /dev/null
+++ b/gen/src/gleam@order.erl
@@ -0,0 +1,73 @@
+-module(gleam@order).
+-compile(no_auto_import).
+
+-export([reverse/1, to_int/1, compare/2, max/2, min/2]).
+
+reverse(Order) ->
+ case Order of
+ lt ->
+ gt;
+
+ eq ->
+ eq;
+
+ gt ->
+ lt
+ end.
+
+to_int(Order) ->
+ case Order of
+ lt ->
+ -1;
+
+ eq ->
+ 0;
+
+ gt ->
+ 1
+ end.
+
+compare(A, B) ->
+ case {A, B} of
+ {lt, lt} ->
+ eq;
+
+ {lt, _} ->
+ lt;
+
+ {eq, eq} ->
+ eq;
+
+ {gt, gt} ->
+ eq;
+
+ {eq, gt} ->
+ lt;
+
+ _ ->
+ gt
+ end.
+
+max(A, B) ->
+ case {A, B} of
+ {gt, _} ->
+ gt;
+
+ {eq, lt} ->
+ eq;
+
+ _ ->
+ B
+ end.
+
+min(A, B) ->
+ case {A, B} of
+ {lt, _} ->
+ lt;
+
+ {eq, gt} ->
+ eq;
+
+ _ ->
+ B
+ end.