48 using namespace Float;
73 using namespace Float;
97 using namespace Float;
123 post(home,x0,x1,
n)));
127 post(home,x0,x1,
n)));
131 post(home,x0,x1,
n)));
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--; ) {
bool failed(void) const
Check whether corresponding space is failed.
Inverse implication for reification.
ReifyMode mode(void) const
Return reification mode.
void post(Home home, Term *t, int n, FloatRelType frt, FloatVal c)
Post propagator for linear constraint over floats.
BoolVar var(void) const
Return Boolean control variable.
int size(void) const
Return size of array (number of elements)
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.
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)