43 namespace Gecode {
namespace Set {
namespace Rel {
45 template<
class View0,
class View1,
class CtrlView, ReifyMode rm>
55 template<
class View0,
class View1,
class CtrlView, ReifyMode rm>
59 x0.update(home,share,p.
x0);
60 x1.update(home,share,p.
x1);
61 b.update(home,share,p.
b);
64 template<
class View0,
class View1,
class CtrlView, ReifyMode rm>
70 template<
class View0,
class View1,
class CtrlView, ReifyMode rm>
80 template<
class View0,
class View1,
class CtrlView, ReifyMode rm>
88 template<
class View0,
class View1,
class CtrlView, ReifyMode rm>
94 template<
class View0,
class View1,
class CtrlView, ReifyMode rm>
109 if (x0.assigned() && x1.assigned()) {
114 for (; x0lb() && x1lb(); ++x0lb, ++x1lb) {
115 if (x0lb.
min() != x1lb.
min() ||
116 x0lb.
max() != x1lb.
max()) {
121 if (x0eqx1 && !x0lb() && !x1lb()) {
133 if (x0.cardMin() > x1.cardMax() ||
134 x1.cardMin() > x0.cardMax()) {
#define GECODE_REWRITE(prop, post)
Rewrite propagator by executing post function.
Propagator for negated equality
static ExecStatus post(Home home, View0 x, View1 y, CtrlView b)
Post propagator for .
ReEq(Space &home, bool share, ReEq &)
Constructor for cloning p.
Inverse implication for reification.
ExecStatus ES_SUBSUMED(Propagator &p)
Base-class for propagators.
Range iterator for the greatest lower bound.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as PC_TERNARY_LO)
Propagation has computed fixpoint.
Range iterator for the least upper bound.
Base-class for both propagators and branchers.
int min(void) const
Return smallest value of range.
Reified equality propagator
int max(void) const
Return largest value of range.
int p
Number of positive literals for node type.
virtual Actor * copy(Space &home, bool)
Copy propagator during cloning.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
const Gecode::PropCond PC_SET_ANY
Propagate when any bound or the cardinality of a view changes.
struct Gecode::@519::NNF::@60::@61 b
For binary nodes (and, or, eqv)
virtual size_t dispose(Space &home)
Delete actor and return its size.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Propagator for set equality
static PropCost ternary(PropCost::Mod m)
Three variables for modifier pcm.
Gecode toplevel namespace
Implication for reification.
Range iterator for computing set difference.
int ModEventDelta
Modification event deltas.
Home class for posting propagators
const Gecode::PropCond PC_INT_VAL
Propagate when a view becomes assigned (single value)