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;
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;
139 for (
int i = x.
size();
i--; ) {
140 t[
i].
a=1.0; t[
i].
x=x[
i];
150 using namespace Float;
156 for (
int i = x.
size();
i--; ) {
174 if (home.
failed())
return;
183 using namespace Float;
189 for (
int i = x.
size();
i--; ) {
void linear(Home home, const FloatVarArgs &x, FloatRelType frt, FloatNum c)
Post propagator for .
int size(void) const
Return size of array (number of elements)
void post(Home home, Term *t, int n, FloatRelType frt, FloatVal c)
Post propagator for linear constraint over floats.
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 .
struct Gecode::@554::NNF::@60::@62 a
For atomic nodes.
Gecode::IntArgs i(4, 1, 2, 3, 4)
FloatRelType
Relation types for floats.
bool failed(void) const
Check whether corresponding space is failed.
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
#define GECODE_POST
Check for failure in a constraint post function.
Home class for posting propagators
Exception: Arguments are of different size
double FloatNum
Floating point number base type.