do not leave an attribute when (re-)enabling a queue
This commit is contained in:
@@ -147,7 +147,7 @@
|
|||||||
clpz_gcc_num/1,
|
clpz_gcc_num/1,
|
||||||
clpz_gcc_occurred/1,
|
clpz_gcc_occurred/1,
|
||||||
queue/2,
|
queue/2,
|
||||||
enabled/1.
|
disabled/0.
|
||||||
|
|
||||||
:- dynamic(monotonic/0).
|
:- dynamic(monotonic/0).
|
||||||
:- dynamic(clpz_equal_/2).
|
:- dynamic(clpz_equal_/2).
|
||||||
@@ -2684,7 +2684,7 @@ clear_queue(queue(Goals,Fast,Slow,Aux)) :-
|
|||||||
put_atts(Goals, -queue(_,_)),
|
put_atts(Goals, -queue(_,_)),
|
||||||
put_atts(Fast, -queue(_,_)),
|
put_atts(Fast, -queue(_,_)),
|
||||||
put_atts(Slow, -queue(_,_)),
|
put_atts(Slow, -queue(_,_)),
|
||||||
put_atts(Aux, -enabled(_)).
|
put_atts(Aux, -disabled).
|
||||||
|
|
||||||
collect_goal(Qs) --> collect_arg(Qs, 1).
|
collect_goal(Qs) --> collect_arg(Qs, 1).
|
||||||
collect_fast(Qs) --> collect_arg(Qs, 2).
|
collect_fast(Qs) --> collect_arg(Qs, 2).
|
||||||
@@ -4212,9 +4212,9 @@ queue_get_arg_(Queue, Which, Element) :-
|
|||||||
; put_atts(Arg, +queue(Elements,Tail))
|
; put_atts(Arg, +queue(Elements,Tail))
|
||||||
).
|
).
|
||||||
|
|
||||||
queue_enabled --> state(queue(_,_,_,Aux)), { \+ get_atts(Aux, +enabled(false)) }.
|
queue_enabled --> state(queue(_,_,_,Aux)), { \+ get_atts(Aux, disabled) }.
|
||||||
disable_queue --> state(queue(_,_,_,Aux)), { put_atts(Aux, +enabled(false)) }.
|
disable_queue --> state(queue(_,_,_,Aux)), { put_atts(Aux, +disabled) }.
|
||||||
enable_queue --> state(queue(_,_,_,Aux)), { put_atts(Aux, +enabled(true)) }.
|
enable_queue --> state(queue(_,_,_,Aux)), { put_atts(Aux, -disabled) }.
|
||||||
|
|
||||||
portray_propagator(propagator(P,_), F) :- functor(P, F, _).
|
portray_propagator(propagator(P,_), F) :- functor(P, F, _).
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user