40 template<
class View,
class Offset>
45 template<
class View,
class Offset>
50 template<
class View,
class Offset>
56 template<
class View,
class Offset>
65 template<
class View,
class Offset>
68 for (
int i=0; i<
y.size(); i++)
69 if (
y[i].assigned()) {
76 template<
class View,
class Offset>
105 for (
int i=
y.size(); i--; )
112 template<
class View,
class Offset>
122 for (
int i=0; i<n; i++) {
Base-class for both propagators and branchers.
Home class for posting propagators
Base-class for circuit propagator.
ExecStatus connected(Space &home)
Check whether the view value graph is strongly connected.
ViewArray< View > y
Array for performing value propagation for distinct.
Offset o
Offset transformation.
Base(Space &home, Base &p)
Constructor for cloning p.
"Domain consistent" circuit propagator
Dom(Space &home, Dom &p)
Constructor for cloning p.
static ExecStatus post(Home home, ViewArray< View > &x, Offset &o)
Post propagator for circuit on x.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function.
Int::Distinct::DomCtrl< View > dc
Propagation controller for propagating distinct.
virtual void reschedule(Space &home)
Schedule function.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Converter with fixed offset.
static PropCost quadratic(PropCost::Mod m, unsigned int n)
Quadratic complexity for modifier m and size measure n.
static PropCost linear(PropCost::Mod m, unsigned int n)
Linear complexity for modifier pcm and size measure n.
ModEventDelta med
A set of modification events (used during propagation)
ExecStatus ES_FIX_PARTIAL(Propagator &p, const ModEventDelta &med)
Propagator p has computed partial fixpoint
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.
ExecStatus prop_val(Space &home, ViewArray< View > &)
Eliminate singletons by naive value propagation.
const Gecode::ModEvent ME_INT_VAL
Domain operation has resulted in a value (assigned variable)
const Gecode::ModEvent ME_INT_DOM
Domain operation has changed the domain.
Gecode toplevel namespace
void path(Home home, const IntVarArgs &x, IntVar s, IntVar e, IntPropLevel ipl=IPL_DEF)
Post propagator such that x forms a Hamiltonian path.
@ ES_OK
Execution is okay.
@ ES_FIX
Propagation has computed fixpoint.