Go to the documentation of this file.
42 namespace Gecode {
namespace Int {
namespace Extensional {
49 template<
class View,
bool shared>
56 template<
class View,
bool shared>
61 for (
int i =
x.size();
i--; ) {
69 template<
class View,
bool shared>
72 :
Base<View>(home,share,
p) {
75 template<
class View,
bool shared>
84 template<
class View,
bool shared>
90 template<
class View,
bool shared>
102 for (
int i =
x.size();
i--; )
103 has_support[
i].init(home, ts()->domsize);
112 for (
int i =
x.size();
i--; ) {
115 int val = vv.val() - ts()->min;
116 if (!has_support[
i].get(
static_cast<unsigned int>(val))) {
126 for (
int j =
i; j--; ) {
127 has_support[j].
set(
static_cast<unsigned int>(
l[j]- ts()->
min));
128 assert(has_support[j].get(
l[j] - ts()->
min));
139 for (
int i =
x.size();
i--; )
Post propagator for SetVar x
void set(unsigned int i)
Set bit i.
ExecStatus ES_SUBSUMED(Propagator &p)
bool assigned(View x, int v)
Whether x is assigned to value v.
Gecode::IntArgs i(4, 1, 2, 3, 4)
Stack with fixed number of elements.
Value iterator for integer views.
Base-class for both propagators and branchers.
static PropCost quadratic(PropCost::Mod m, unsigned int n)
Quadratic complexity for modifier m and size measure n.
Base for domain consistent extensional propagation
const Gecode::ModEvent ME_INT_VAL
Domain operation has resulted in a value (assigned variable)
Gecode toplevel namespace
Domain consistent extensional propagator.
static ExecStatus post(Home home, ViewArray< View > &x, const TupleSet &t)
Post propagator for views x.
Home class for posting propagators
static PropCost cubic(PropCost::Mod m, unsigned int n)
Cubic complexity for modifier m and size measure n.
void dom(Home home, FloatVar x, FloatVal n)
Propagates .
Post propagator for SetVar SetOpType SetVar SetRelType r
bool empty(void) const
Test whether stack is empty.
T pop(void)
Pop topmost element from stack and return it.
Class represeting a set of tuples.
Basic(Space &home, bool share, Basic< View, shared > &p)
Constructor for cloning p.
bool shared(const IntSet &, VX)
@ ES_FIX
Propagation has computed fixpoint.
void push(const T &x)
Push element x on top of stack.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
void min(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
int ModEventDelta
Modification event deltas.
@ ES_NOFIX
Propagation has not computed fixpoint.
@ ES_OK
Execution is okay.
int p
Number of positive literals for node type.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function.