From: Markus Triska Date: Tue, 6 Feb 2024 18:05:29 +0000 (+0100) Subject: ADDED: clpz_t/2, generalizing support for use with library(reif) X-Git-Tag: v0.9.4~10^2 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=aa98a7e7d69ec58edac155bf6f8bcf8aeea3c90f;p=scryer-prolog.git ADDED: clpz_t/2, generalizing support for use with library(reif) This was suggested and contributed by @librarianmage in: https://github.com/mthom/scryer-prolog/issues/2225#issuecomment-1890801923 Many thanks! If anyone can find a better predicate name, please let us know any time! --- diff --git a/src/lib/clpz.pl b/src/lib/clpz.pl index 07768da5..6834a379 100644 --- a/src/lib/clpz.pl +++ b/src/lib/clpz.pl @@ -102,6 +102,7 @@ fd_dom/2, % for use in predicates from library(reif) + clpz_t/2, (#=)/3, (#<)/3 @@ -7981,13 +7982,13 @@ coeff_var_term(C-V, T) :- ( C =:= 1 -> T = #V ; T = C * #V ). Reified predicates for use with predicates from library(reif). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ -#=(X, Y, T) :- - X #= Y #<==> #B, +clpz_t(Expr, T) :- + Expr #<==> #B, zo_t(B, T). -#<(X, Y, T) :- - X #< Y #<==> #B, - zo_t(B, T). +#=(X, Y, T) :- clpz_t(X #= Y, T). + +#<(X, Y, T) :- clpz_t(X #< Y, T). zo_t(0, false). zo_t(1, true).