( Var = Next,
label(Vars, Selection, Order, step, Consistency)
; neq_num(Var, Next),
- do_queue,
label(Vars0, Selection, Order, step, Consistency)
).
choice_order_variable(enum, Order, Var, Vars, _, Selection, Consistency) :-
)
; ( AI cis_geq n(B) -> true
; domain_remove_smaller_than(AD, B, AD1),
- fd_put(A, AD1, APs),
- do_queue
+ fd_put(A, AD1, APs)
)
)
; fd_get(B, BD, BPs) ->
domain_remove_greater_than(BD, A, BD1),
- fd_put(B, BD1, BPs),
- do_queue
+ fd_put(B, BD1, BPs)
; A >= B
).
% When reasoning over integers, replace (=\=)/2 by (#\=)/2 to obtain more
% general relations.
-X #\= Y :- clpz_neq(X, Y), do_queue.
+X #\= Y :- clpz_neq(X, Y).
% X #\= Y + Z
% X in inf.. -4\/1..9\/81..sup.
% ```
-#\ Q :- reify(Q, 0), do_queue.
+#\ Q :- reify(Q, 0).
%% #<==>(?P, ?Q)
%
% Z = 2.
% ```
-L #<==> R :- reify(L, B), reify(R, B), do_queue.
+L #<==> R :- reify(L, B), reify(R, B).
%% #==>(?P, ?Q)
%
%
% P and Q hold.
-L #/\ R :- reify(L, 1), reify(R, 1), do_queue.
+L #/\ R :- reify(L, 1), reify(R, 1).
conjunctive_neqs_var_drep(Eqs, Var, Drep) :-
conjunctive_neqs_var(Eqs, Var),
domains_intersection(Dom, Dom0, Dom1),
%format("intersected\n: ~w\n ~w\n==> ~w\n\n", [Dom,Dom0,Dom1]),
fd_put(V, Dom1, VPs),
- do_queue,
reinforce(V)
; domain_contains(Dom, V)
).
enable_queue :- true. % NOP
disable_queue :- true. % NOP
-do_queue. % NOP
%do_queue --> print_queue, { false }.
do_queue -->
weak_arc_all_distinct(Ls) :-
must_be(list, Ls),
Orig = original_goal(_, weak_arc_all_distinct(Ls)),
- all_distinct(Ls, [], Orig),
- do_queue.
+ all_distinct(Ls, [], Orig).
all_distinct([], _, _).
all_distinct([X|Right], Left, Orig) :-
gcc_global(Vs, KNs) :-
gcc_check(KNs),
- % reach fix-point: all elements of clpz_gcc_vs must be variables
- do_queue,
+ % previously: call do_queue/0 (now a NOP) here to reach a
+ % fix-point: all elements of clpz_gcc_vs must be variables. We
+ % must ensure this holds if gcc_check/1 is later rewritten to
+ % actually disable the queue.
with_local_attributes(Vs,
(gcc_arcs(KNs, S, Vals),
variables_with_num_occurrences(Vs, VNs),