42 template<
class View0,
class View1>
47 template<
class View0,
class View1>
50 if (
x0.assigned() &&
x1.assigned()) {
53 }
else if (
x0 ==
x1) {
61 template<
class View0,
class View1>
66 template<
class View0,
class View1>
72 template<
class View0,
class View1>
75 if (
x0.assigned() &&
x1.assigned()) {
Base-class for both propagators and branchers.
NqFloat(Space &home, NqFloat< View > &p)
Constructor for cloning p.
FloatVal c
Float constant to check.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
static ExecStatus post(Home home, View x0, FloatVal c)
Post bounds consistent propagator .
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
static ExecStatus post(Home home, View0 x0, View1 x1)
Post bounds consistent propagator .
Nq(Space &home, Nq< View0, View1 > &p)
Constructor for cloning p.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
Home class for posting propagators
MixBinaryPropagator(Space &home, MixBinaryPropagator &p)
UnaryPropagator(Space &home, UnaryPropagator &p)
ExecStatus ES_SUBSUMED(Propagator &p)
Propagator p is subsumed
int ModEventDelta
Modification event deltas.
Simple relation propagators.
const Gecode::PropCond PC_FLOAT_VAL
Propagate when a view becomes assigned (single value)
bool overlap(const FloatVal &x, const FloatVal &y)
Gecode toplevel namespace
@ ES_OK
Execution is okay.
@ ES_FIX
Propagation has computed fixpoint.
@ ES_FAILED
Execution has resulted in failure.
Post propagator for SetVar x