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!
This commit is contained in:
@@ -102,6 +102,7 @@
|
|||||||
fd_dom/2,
|
fd_dom/2,
|
||||||
|
|
||||||
% for use in predicates from library(reif)
|
% for use in predicates from library(reif)
|
||||||
|
clpz_t/2,
|
||||||
(#=)/3,
|
(#=)/3,
|
||||||
(#<)/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).
|
Reified predicates for use with predicates from library(reif).
|
||||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
|
||||||
|
|
||||||
#=(X, Y, T) :-
|
clpz_t(Expr, T) :-
|
||||||
X #= Y #<==> #B,
|
Expr #<==> #B,
|
||||||
zo_t(B, T).
|
zo_t(B, T).
|
||||||
|
|
||||||
#<(X, Y, T) :-
|
#=(X, Y, T) :- clpz_t(X #= Y, T).
|
||||||
X #< Y #<==> #B,
|
|
||||||
zo_t(B, T).
|
#<(X, Y, T) :- clpz_t(X #< Y, T).
|
||||||
|
|
||||||
zo_t(0, false).
|
zo_t(0, false).
|
||||||
zo_t(1, true).
|
zo_t(1, true).
|
||||||
|
|||||||
Reference in New Issue
Block a user