38 namespace Gecode {
namespace Set {
namespace Rel {
40 template<
class View0,
class View1, ReifyMode rm,
bool strict>
50 template<
class View0,
class View1, ReifyMode rm,
bool strict>
54 x0.update(home,share,p.
x0);
55 x1.update(home,share,p.
x1);
59 template<
class View0,
class View1, ReifyMode rm,
bool strict>
66 template<
class View0,
class View1, ReifyMode rm,
bool strict>
76 template<
class View0,
class View1, ReifyMode rm,
bool strict>
84 template<
class View0,
class View1, ReifyMode rm,
bool strict>
90 template<
class View0,
class View1, ReifyMode rm,
bool strict>
104 if (x0.cardMax() == 0) {
105 if ( (!strict) || x1.cardMin() > 0) {
110 if (strict && x1.cardMax() == 0) {
117 if (x0.assigned() && x1.assigned()) {
125 if ((!strict) && x0.cardMax() == x1.cardMax()) {
144 if (strict && x0.cardMax() == x1.cardMax()) {
158 assert(min01 != min10);
170 if (x1.cardMax() > 0) {
173 int x1umin=x1u.
min();
175 if (
d() && d.
min() < x1umin) {
182 if (x0.cardMax() > 0) {
185 int x0umin=x0u.
min();
187 if (
d() && d.
min() < x0umin) {
#define GECODE_REWRITE(prop, post)
Rewrite propagator by executing post function.
Inverse implication for reification.
ExecStatus ES_SUBSUMED(Propagator &p)
static ExecStatus post(Home home, View0 x, View1 y, Gecode::Int::BoolView b)
Post propagator for .
ReLq(Space &home, bool share, ReLq &)
Constructor for cloning p.
Base-class for propagators.
Propagator for set less than or equal
Range iterator for the greatest lower bound.
int min(void) const
Return smallest value of range.
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.
void subscribe(Space &home, Propagator &p, PropCond pc, bool schedule=true)
Subscribe propagator p with propagation condition pc to view.
int p
Number of positive literals for node type.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
void update(Space &home, bool share, VarImpView< Var > &y)
Update this view to be a clone of view y.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
Reified propagator for set less than or equal
const Gecode::PropCond PC_SET_ANY
Propagate when any bound or the cardinality of a view changes.
virtual size_t dispose(Space &home)
Delete actor and return its size.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
static PropCost ternary(PropCost::Mod m)
Three variables for modifier pcm.
struct Gecode::@518::NNF::@57::@58 b
For binary nodes (and, or, eqv)
Gecode toplevel namespace
Implication for reification.
Range iterator for computing set difference.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as PC_TERNARY_LO)
int ModEventDelta
Modification event deltas.
Home class for posting propagators
virtual Actor * copy(Space &home, bool)
Copy propagator during cloning.
const Gecode::PropCond PC_INT_VAL
Propagate when a view becomes assigned (single value)
Boolean view for Boolean variables.