40 namespace Gecode {
namespace MiniModel {
89 y = result(home,ret,x);
98 y = result(home,ret,
a[0].
post(home, icl));
100 IntVar x0 =
a[0].post(home, icl);
101 IntVar x1 =
a[1].post(home, icl);
103 y = result(home,ret,x0);
104 else if (x1.
max() <= x0.
min())
105 y = result(home,ret,x1);
107 y = result(home,ret);
108 min(home, x0, x1, y, icl);
114 y = result(home,ret);
115 min(home, x, y, icl);
120 y = result(home,ret,
a[0].
post(home, icl));
122 IntVar x0 =
a[0].post(home, icl);
123 IntVar x1 =
a[1].post(home, icl);
125 y = result(home,ret,x1);
126 else if (x1.
max() <= x0.
min())
127 y = result(home,ret,x0);
129 y = result(home,ret);
130 max(home, x0, x1, y, icl);
136 y = result(home,ret);
137 max(home, x, y, icl);
143 IntVar x0 =
a[0].post(home, icl);
144 IntVar x1 =
a[1].post(home, icl);
146 y = result(home,ret,x0);
148 y = result(home,ret,x1);
150 y = result(home,ret,x1);
152 y = result(home,ret,x0);
154 y = result(home,ret);
155 mult(home, x0, x1, y, icl);
162 IntVar x0 =
a[0].post(home, icl);
163 IntVar x1 =
a[1].post(home, icl);
166 y = result(home,ret,x0);
168 y = result(home,ret,x0);
170 y = result(home,ret);
171 div(home, x0, x1, y, icl);
178 IntVar x0 =
a[0].post(home, icl);
179 IntVar x1 =
a[1].post(home, icl);
180 y = result(home,ret);
181 mod(home, x0, x1, y, icl);
191 y = result(home,ret);
192 sqr(home, x, y, icl);
201 y = result(home,ret,x);
203 y = result(home,ret);
204 sqrt(home, x, y, icl);
213 ((x.
val() == 0) || (x.
val() == 1)))
216 y = result(home,ret);
217 pow(home, x, aInt, y, icl);
226 ((x.
val() == 0) || (x.
val() == 1)))
227 y = result(home,ret,x);
229 y = result(home,ret);
230 nroot(home, x, aInt, y, icl);
238 y = result(home,ret,
a[z.
val()].post(home, icl));
242 for (
int i=
n-1;
i--;) {
243 x[
i] =
a[
i].post(home, icl);
247 y = result(home,ret);
250 for (
int i=
n-1;
i--;)
263 IntVar x0 =
a[0].post(home, icl);
264 IntVar x1 =
a[1].post(home, icl);
265 y = result(home,ret);
266 ite(home, c, x0, x1, y, icl);
281 rel(home, x, irt, c);
283 rel(home,
post(home,NULL,icl), irt, c);
288 rel(home,
post(home,NULL,icl), irt, c, b);
295 dynamic_cast<ArithNonLinIntExpr*>(e.
nle())->t == t;
304 using namespace MiniModel;
307 ArithNonLinIntExpr* ae =
315 using namespace MiniModel;
318 n +=
static_cast<ArithNonLinIntExpr*
>(e0.
nle())->
n;
322 n += static_cast<ArithNonLinIntExpr*>(e1.
nle())->
n;
325 ArithNonLinIntExpr* ae =
329 ArithNonLinIntExpr* e0e =
static_cast<ArithNonLinIntExpr*
>(e0.
nle());
330 for (;
i<e0e->
n;
i++)
331 ae->
a[
i] = e0e->a[
i];
336 ArithNonLinIntExpr* e1e =
static_cast<ArithNonLinIntExpr*
>(e1.
nle());
338 for (;
i<curN+e1e->
n;
i++)
339 ae->
a[
i] = e1e->a[
i-curN];
348 using namespace MiniModel;
351 n +=
static_cast<ArithNonLinIntExpr*
>(e0.
nle())->
n;
355 n += static_cast<ArithNonLinIntExpr*>(e1.
nle())->
n;
358 ArithNonLinIntExpr* ae =
362 ArithNonLinIntExpr* e0e =
static_cast<ArithNonLinIntExpr*
>(e0.
nle());
363 for (;
i<e0e->
n;
i++)
364 ae->
a[
i] = e0e->a[
i];
369 ArithNonLinIntExpr* e1e =
static_cast<ArithNonLinIntExpr*
>(e1.
nle());
371 for (;
i<curN+e1e->
n;
i++)
372 ae->
a[
i] = e1e->a[
i-curN];
381 using namespace MiniModel;
382 ArithNonLinIntExpr* ae =
384 for (
int i=x.
size();
i--;)
391 using namespace MiniModel;
392 ArithNonLinIntExpr* ae =
394 for (
int i=x.
size();
i--;)
401 using namespace MiniModel;
402 ArithNonLinIntExpr* ae =
411 using namespace MiniModel;
412 ArithNonLinIntExpr* ae =
420 using namespace MiniModel;
421 ArithNonLinIntExpr* ae =
429 using namespace MiniModel;
430 ArithNonLinIntExpr* ae =
438 using namespace MiniModel;
439 ArithNonLinIntExpr* ae =
447 using namespace MiniModel;
448 ArithNonLinIntExpr* ae =
457 using namespace MiniModel;
458 ArithNonLinIntExpr* ae =
467 using namespace MiniModel;
468 ArithNonLinIntExpr* ae =
470 for (
int i=x.
size();
i--;)
478 using namespace MiniModel;
479 ArithNonLinIntExpr* ae =
481 for (
int i=x.
size();
i--;)
489 using namespace MiniModel;
490 ArithNonLinIntExpr* ae =