38#ifdef GECODE_HAS_SET_VARS
78 class SetIRTRel :
public BoolExpr::Misc {
87 SetIRTRel(
const SetExpr&,
IntRelType,
const LinIntExpr&);
89 virtual void post(Home, BoolVar
b,
bool neg,
90 const IntPropLevels&)
override;
93 SetIRTRel::SetIRTRel(
const SetExpr& s,
IntRelType irt,
const LinIntExpr&
x)
94 : _s(s), _x(
x), _irt(irt) {}
97 SetIRTRel::post(Home home, BoolVar
b,
bool neg,
98 const IntPropLevels& ipls) {
101 _x.post(home, ipls));
102 }
else if (
b.one()) {
104 _x.post(home, ipls));
107 _x.post(home, ipls),
b);
123 return operator ==(
y,
x);
133 return operator !=(
y,
x);
143 return operator >=(
y,
x);
153 return operator >(
y,
x);
163 return operator <=(
y,
x);
173 return operator <(
y,
x);
struct Gecode::@603::NNF::@65::@66 b
For binary nodes (and, or, eqv)
Node * x
Pointer to corresponding Boolean expression node.
bool neg
Is atomic formula negative.
Linear expressions over integer variables.
Comparison relation (for two-sided comparisons)
void rel(Home home, FloatVar x0, FloatRelType frt, FloatVar x1)
Post propagator for .
IntRelType
Relation types for integers.
@ IRT_GQ
Greater or equal ( )
@ IRT_LQ
Less or equal ( )
Gecode toplevel namespace
bool operator<=(const FloatVal &x, const FloatVal &y)
Post propagator for SetVar SetOpType SetVar SetRelType r
SetRel operator||(const SetExpr &, const SetExpr &)
Disjointness of set expressions.
IntRelType neg(IntRelType irt)
Return negated relation type of irt.
Post propagator for SetVar SetOpType SetVar y
bool operator>=(const FloatVal &x, const FloatVal &y)
TFE post(PropagatorGroup g)
Only post functions (but not propagators) from g are considered.
Post propagator for SetVar x
bool operator==(const FloatVal &x, const FloatVal &y)
bool operator!=(const FloatVal &x, const FloatVal &y)