50 return new (home)
NaryEqv(home,*
this);
57 if (
x[i].assigned()) {
85 if (
x0.assigned() &&
x1.assigned()) {
87 }
else if (
x0.assigned()) {
90 }
else if (
x1.assigned()) {
Base-class for both propagators and branchers.
Home class for posting propagators
static ExecStatus post(Home home, BVA x0, BVB x1)
Post propagator .
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
void resubscribe(Space &home, BoolView &x0)
Update subscription.
NaryEqv(Home home, ViewArray< BoolView > &x, int pm2)
Constructor for posting.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low binary)
virtual Actor * copy(Space &home)
Copy propagator during cloning.
int pm2
Parity information mod 2.
ViewArray< BoolView > x
Views not yet subscribed to.
static ExecStatus post(Home home, ViewArray< BoolView > &x, int pm2)
Post propagator .
static PropCost binary(PropCost::Mod m)
Two variables for modifier pcm.
ExecStatus ES_SUBSUMED(Propagator &p)
Propagator p is subsumed
int ModEventDelta
Modification event deltas.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
Gecode toplevel namespace
@ ES_OK
Execution is okay.
@ ES_FIX
Propagation has computed fixpoint.
@ ES_FAILED
Execution has resulted in failure.