summaryrefslogtreecommitdiff
path: root/stdlib.pl
diff options
context:
space:
mode:
authorPeter Mikkelsen <peter@pmikkelsen.com>2021-07-08 00:49:34 +0000
committerPeter Mikkelsen <peter@pmikkelsen.com>2021-07-08 00:49:34 +0000
commit2dce50fbd5ef72bbcd51533cf04f8722f8139d6a (patch)
treee1d2b8447694e1199caa2e69bfdb9ebd6a45685d /stdlib.pl
parent3844776a21b3f2a1f028f76bdf06b3ff05b8fc0f (diff)
Add arithmetic comparison predicates
Diffstat (limited to 'stdlib.pl')
-rw-r--r--stdlib.pl21
1 files changed, 21 insertions, 0 deletions
diff --git a/stdlib.pl b/stdlib.pl
index 596aff6..b36a851 100644
--- a/stdlib.pl
+++ b/stdlib.pl
@@ -129,3 +129,24 @@ write_canonical(Term) :-
write_canonical(S, Term) :-
write_term(S, Term, [quoted(true), ignore_ops(true)]).
+% Arithmetic comparisons defined in terms of >=. This is not the most effective way,
+% but it is fine for now.
+
+E1 =:= E2 :-
+ E1 >= E2,
+ E2 >= E1.
+
+E1 =\= E2 :-
+ \+ E1 =:= E2.
+
+E1 < E2 :-
+ E2 >= E1,
+ E1 =\= E2.
+
+E1 =< E2 :-
+ E2 >= E1.
+
+E1 > E2 :-
+ E2 < E1.
+
+