]> Repositorios git - scryer-prolog.git/commitdiff
ENHANCED: domain error in zcompare/3 (#1723)
authorMarkus Triska <[email protected]>
Mon, 14 Aug 2023 15:54:18 +0000 (17:54 +0200)
committerMarkus Triska <[email protected]>
Mon, 14 Aug 2023 15:54:18 +0000 (17:54 +0200)
src/lib/clpz.pl

index ed01f079ade8ce9bed17dd9d11d67a35e15e4174..2d991af6cfe084496f9d862eaf080b7d2e7b39ec 100644 (file)
@@ -7488,9 +7488,15 @@ zcompare(Order, A, B) :-
             propagator_init_trigger([A,B], pzcompare(Order, A, B))
         ).
 
-zcompare_(=, A, B) :- #A #= #B.
-zcompare_(<, A, B) :- #A #< #B.
-zcompare_(>, A, B) :- #A #> #B.
+zcompare_(O, A, B) :-
+        (   member(O, "<=>") -> true
+        ;   domain_error(order, O, zcompare/3)
+        ),
+        zcompare__(O, A, B).
+
+zcompare__(=, A, B) :- #A #= #B.
+zcompare__(<, A, B) :- #A #< #B.
+zcompare__(>, A, B) :- #A #> #B.
 
 %% chain(+Relation, +Zs)
 %