48 using namespace Float;
73 using namespace Float;
97 using namespace Float;
104 post(home,x0,x1,
r.var())));
108 post(home,x0,x1,
r.var())));
112 post(home,x0,x1,
r.var())));
123 post(home,x0,x1,
n)));
127 post(home,x0,x1,
n)));
131 post(home,x0,x1,
n)));
143 post(home,x0,x1,
r.var())));
147 post(home,x0,x1,
r.var())));
151 post(home,x0,x1,
r.var())));
164 post(home,x0,x1,
n)));
168 post(home,x0,x1,
n)));
172 post(home,x0,x1,
n)));
185 using namespace Float;
187 if (home.
failed())
return;
211 GECODE_ES_FAIL((Rel::ReEqFloat<FloatView,Int::NegBoolView,RM_EQV>::
215 GECODE_ES_FAIL((Rel::ReEqFloat<FloatView,Int::NegBoolView,RM_PMI>::
219 GECODE_ES_FAIL((Rel::ReEqFloat<FloatView,Int::NegBoolView,RM_IMP>::
265 GECODE_ES_FAIL((Rel::ReLeFloat<FloatView,Int::NegBoolView,RM_EQV>::
269 GECODE_ES_FAIL((Rel::ReLeFloat<FloatView,Int::NegBoolView,RM_PMI>::
273 GECODE_ES_FAIL((Rel::ReLeFloat<FloatView,Int::NegBoolView,RM_IMP>::
285 GECODE_ES_FAIL((Rel::ReLqFloat<FloatView,Int::NegBoolView,RM_EQV>::
289 GECODE_ES_FAIL((Rel::ReLqFloat<FloatView,Int::NegBoolView,RM_PMI>::
293 GECODE_ES_FAIL((Rel::ReLqFloat<FloatView,Int::NegBoolView,RM_IMP>::
307 using namespace Float;
309 if (home.
failed())
return;
312 for (
int i=
x.size();
i--; ) {
317 for (
int i=
x.size();
i--; ) {
322 for (
int i=
x.size();
i--; ) {
327 for (
int i=
x.size();
i--; ) {
333 for (
int i=
x.size();
i--; ) {
338 for (
int i=
x.size();
i--; ) {
350 using namespace Float;
351 if (home.
failed())
return;
354 for (
int i=
x.size();
i--; ) {
359 for (
int i=
x.size();
i--; ) {
364 for (
int i=
x.size();
i--; ) {
369 for (
int i=
x.size();
i--; ) {
374 for (
int i=
x.size();
i--; ) {
379 for (
int i=
x.size();
i--; ) {
Inverse implication for reification.
void post(Home home, Term *t, int n, FloatRelType frt, FloatVal c)
Post propagator for linear constraint over floats.
static ExecStatus post(Home home, View x0, FloatVal c)
Post bounds consistent propagator .
Reified less or equal propagator.
Exception: Unknown relation passed as argument
Reified equality propagator
Gecode::IntArgs i(4, 1, 2, 3, 4)
int n
Number of negative literals for node type.
FloatRelType
Relation types for floats.
bool failed(void) const
Check whether corresponding space is failed.
Reification specification.
Less or equal propagator.
void check(const FloatVal &n, const char *l)
Check whether float n is a valid number, otherwise throw out of limits exception with information l.
Node * x
Pointer to corresponding Boolean expression node.
void rel(Home home, FloatVar x0, FloatRelType frt, FloatVal n)
Propagates .
Propagator for set equality
Binary disequality propagator.
#define GECODE_ME_FAIL(me)
Check whether modification event me is failed, and fail space home.
Exception: Unknown reification mode passed as argument
Gecode toplevel namespace
Implication for reification.
Home class for posting propagators
#define GECODE_ES_FAIL(es)
Check whether execution status es is failed, and fail space home.
Equivalence for reification (default)