aboutsummaryrefslogtreecommitdiff
path: root/gen/src/gleam@order.erl
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2019-06-25 22:48:07 +0100
committerLouis Pilfold <louis@lpil.uk>2019-06-25 22:48:07 +0100
commit2c2541750ca4b7b604070c75c18d84be833c97d5 (patch)
treef5e63d941a1c7e2c2d4dff1d81c43fa2766308ae /gen/src/gleam@order.erl
parent96c20b8ebf8420fbba75c97fa08eaeb34e8dc394 (diff)
downloadgleam_stdlib-2c2541750ca4b7b604070c75c18d84be833c97d5.tar.gz
gleam_stdlib-2c2541750ca4b7b604070c75c18d84be833c97d5.zip
stdlib namespace std -> gleam
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.