47 using namespace Float;
51 for (
int i = x.
size();
i--; ) {
52 t[
i].
a=1.0; t[
i].
x=x[
i];
60 using namespace Float;
64 for (
int i = x.
size();
i--; ) {
65 t[
i].
a=1.0; t[
i].
x=x[
i];
74 using namespace Float;
80 for (
int i = x.
size();
i--; ) {
90 using namespace Float;
96 for (
int i = x.
size();
i--; ) {
105 using namespace Float;
106 if (home.
failed())
return;
109 for (
int i = x.
size();
i--; ) {
110 t[
i].
a=1.0; t[
i].
x=x[
i];
127 if (home.
failed())
return;
135 using namespace Float;
136 if (home.
failed())
return;
139 for (
int i = x.
size();
i--; ) {
140 t[
i].
a=1.0; t[
i].
x=x[
i];
150 using namespace Float;
153 if (home.
failed())
return;
156 for (
int i = x.
size();
i--; ) {
174 if (home.
failed())
return;
183 using namespace Float;
186 if (home.
failed())
return;
189 for (
int i = x.
size();
i--; ) {
bool failed(void) const
Check whether corresponding space is failed.
void linear(Home home, const FloatVarArgs &x, FloatRelType frt, FloatNum c)
Post propagator for .
void post(Home home, Term *t, int n, FloatRelType frt, FloatVal c)
Post propagator for linear constraint over floats.
int size(void) const
Return size of array (number of elements)
T * alloc(long unsigned int n)
Allocate block of n objects of type T from region.
void max(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
Gecode::IntArgs i(4, 1, 2, 3, 4)
FloatRelType
Relation types for floats.
Reification specification.
void min(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
Node * x
Pointer to corresponding Boolean expression node.
void estimate(Term *t, int n, FloatVal c, FloatNum &l, FloatNum &u)
Estimate lower and upper bounds.
#define GECODE_ME_FAIL(me)
Check whether modification event me is failed, and fail space home.
Class for describing linear term .
Gecode toplevel namespace
Home class for posting propagators
Exception: Arguments are of different size
double FloatNum
Floating point number base type.
struct Gecode::@518::NNF::@57::@59 a
For atomic nodes.