40 namespace Gecode {
namespace Int {
namespace Arithmetic {
105 View x0, View x1, View x2)
118 if ((x0.max() <= x1.min()) || (x0.max() < x2.min()))
120 if ((x1.max() <= x0.min()) || (x1.max() < x2.min()))
122 return x0.assigned() && x1.assigned() && x2.assigned() ?
139 assert(x.
size() > 0);
147 for (
int i=x.
size();
i--; ) {
153 if (x.
same(home,y)) {
155 for (
int i=x.
size();
i--; )
174 return new (home)
MaxBnd<View>(home,share,*
this,x[0],x[1],y);
190 assert(x.
size() > 0);
191 int maxmax = x[x.
size()-1].max();
192 int maxmin = x[x.
size()-1].min();
193 for (
int i = x.
size()-1;
i--; ) {
202 for (
int i = x.
size();
i--; ) {
208 if (x[
i].
max() < maxmin) {
263 View x0, View x1, View x2)
284 if ((x0.max() <= x1.min()) || (x0.max() < x2.min()))
286 if ((x1.max() <= x0.min()) || (x1.max() < x2.min()))
288 return x0.assigned() && x1.assigned() && x2.assigned() ?
319 assert(x.
size() > 0);
327 for (
int i=x.
size();
i--; ) {
333 if (x.
same(home,y)) {
335 for (
int i=x.
size();
i--; )
354 return new (home)
MaxDom<View>(home,share,*
this,x[0],x[1],y);
379 for (
int i = x.
size();
i--; ) {
384 for (
int i = x.
size();
i--; )
389 assert(x.size() > 0);