36namespace Gecode {
namespace Int {
namespace Rel {
42 template<
class V0,
class V1>
47 template<
class V0,
class V1>
52 }
else if (x1.assigned()) {
54 }
else if (x0 == x1) {
62 template<
class V0,
class V1>
67 template<
class V0,
class V1>
73 template<
class V0,
class V1>
79 template<
class V0,
class V1>
125 if (
x[i].assigned()) {
126 std::swap(
x[0],
x[i]);
129 if (
x[0].assigned()) {
132 for (
int i=
n-1; i>0; i--)
135 }
else if (
x[i].assigned()) {
136 assert(
x[i].val() == v);
145 (void)
new (home)
NaryNq(home,
x);
153 return sizeof(*this);
160 if (!
x[0].assigned()) {
162 for (
int i=1;
true; i++)
163 if (
x[i].assigned()) {
164 std::swap(
x[0],
x[i]);
170 for (
int i=
n-1; i>0; i--)
174 }
else if (
x[i].assigned()) {
175 assert(
x[i].val() == v);
int p
Number of positive literals for node type.
int n
Number of negative literals for node type.
Base-class for both propagators and branchers.
Home class for posting propagators
Nary disequality propagator.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
NaryNq(Home home, ViewArray< View > &x)
Constructor for posting.
static ExecStatus post(Home home, ViewArray< View > &x)
Post propagator .
virtual Actor * copy(Space &home)
Copy propagator during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function.
Binary disequality propagator.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low unary)
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
static ExecStatus post(Home home, V0 x0, V1 x1)
Post propagator .
Nq(Space &home, Nq< V0, V1 > &p)
Constructor for cloning p.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
static PropCost unary(PropCost::Mod m)
Single variable for modifier pcm.
static PropCost linear(PropCost::Mod m, unsigned int n)
Linear complexity for modifier pcm and size measure n.
ExecStatus ES_SUBSUMED(Propagator &p)
int ModEventDelta
Modification event deltas.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
const Gecode::PropCond PC_INT_VAL
Propagate when a view becomes assigned (single value)
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