64 if (
y.min() ==
x.size()) {
73 if (
x[i].assigned()) {
74 vs.add(home,
x[i].val());
81 assert(
vs.size() >=
y.max());
116 if (
vs.size() >=
y.max())
Home class for posting propagators
static ExecStatus post(Home home, ViewArray< View > &x)
Post propagator for views x.
static ExecStatus post(Home home, ViewArray< IntView > &x, VY y)
Post propagator for .
virtual Propagator * copy(Space &home)
Copy propagator during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
GqInt(Home home, ValSet &vs, ViewArray< IntView > &x, VY y)
Constructor for posting.
ValSet vs
Value set storing the values of already assigned views.
void add(Space &home)
Add values of assigned views to value set.
void eliminate(Space &home)
Eliminate subsumed views (all values included in the value set vs)
ExecStatus prune_upper(Space &home, Graph &g)
IntBase(Home home, ValSet &vs, ViewArray< IntView > &x, VY y)
Constructor for posting.
Class for storing values of already assigned views.
Base-class for propagators.
ModEventDelta med
A set of modification events (used during propagation)
static ModEvent me(const ModEventDelta &med)
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.
#define GECODE_ES_CHECK(es)
Check whether execution status es is failed or subsumed, and forward failure or subsumption.
Number of values propagators.
const Gecode::ModEvent ME_INT_VAL
Domain operation has resulted in a value (assigned variable)
Gecode toplevel namespace
@ ES_OK
Execution is okay.
@ ES_NOFIX
Propagation has not computed fixpoint.