38 namespace Gecode {
namespace Int {
namespace Rel {
45 template<
class View0,
class View1>
50 template<
class View0,
class View1>
55 }
else if (x1.assigned()) {
57 }
else if (!
same(x0,x1)) {
67 template<
class View0,
class View1>
72 template<
class View0,
class View1>
79 template<
class View0,
class View1>
85 template<
class View0,
class View1>
90 }
else if (x1.assigned()) {
96 }
while (x0.min() != x1.min());
100 }
while (x0.max() != x1.max());
104 assert(x0.assigned() && x1.assigned());
113 template<
class View0,
class View1>
118 template<
class View0,
class View1>
123 }
else if (x1.assigned()) {
125 }
else if (!
same(x0,x1)) {
136 template<
class View0,
class View1>
141 template<
class View0,
class View1>
148 template<
class View0,
class View1>
154 template<
class View0,
class View1>
165 template<
class View0,
class View1>
180 }
while (x0.min() != x1.min());
184 }
while (x0.max() != x1.max());
187 if (x0.range() && x1.range())
218 }
else if (x.
size() > 2) {
221 for (
int i=x.
size();
i-- > 1; ) {
225 for (
int i=x.
size();
i--; ) {
258 assert(x.size() > 2);
263 for (
int i = 0; ;
i++)
267 for (
int j = x.size(); j--; )
279 for (
int i = x.
size();
i--; ) {
281 if (mn < x[
i].
min()) {
291 for (
int i = x.
size();
i--; ) {
293 if (mx > x[
i].
max()) {
308 for (
int i = n;
i--; ) {
319 for (
int i = n;
i--; ) {
324 for (
int i = n;
i--; ) {
350 }
else if (x.
size() > 2) {
353 for (
int i=x.
size();
i-- > 1; ) {
357 for (
int i=x.
size();
i--; ) {
389 assert(x.size() > 2);
392 for (
int i = 0; ;
i++)
396 for (
int j = x.size(); j--; )
405 for (
int i = x.
size();
i--; ) {
407 if (mn < x[
i].
min()) {
414 for (
int i = x.
size();
i--; ) {
416 if (mx > x[
i].
max()) {
431 template<
class View,
class CtrlView>
436 template<
class View,
class CtrlView>
444 (void)
new (home)
ReEqDom(home,x0,x1,b);
452 template<
class View,
class CtrlView>
457 template<
class View,
class CtrlView>
463 template<
class View,
class CtrlView>
489 template<
class View,
class CtrlView>
494 template<
class View,
class CtrlView>
502 (void)
new (home)
ReEqBnd(home,x0,x1,b);
510 template<
class View,
class CtrlView>
515 template<
class View,
class CtrlView>
521 template<
class View,
class CtrlView>
548 template<
class View,
class CtrlView>
551 (
Home home, View x,
int c0, CtrlView
b)
554 template<
class View,
class CtrlView>
559 }
else if (b.zero()) {
561 }
else if (x.assigned()) {
575 template<
class View,
class CtrlView>
580 template<
class View,
class CtrlView>
586 template<
class View,
class CtrlView>
591 }
else if (b.zero()) {
615 template<
class View,
class CtrlView>
618 (
Home home, View x,
int c0, CtrlView b)
621 template<
class View,
class CtrlView>
626 }
else if (b.zero()) {
628 }
else if (x.assigned()) {
642 template<
class View,
class CtrlView>
647 template<
class View,
class CtrlView>
653 template<
class View,
class CtrlView>
658 }
else if (b.zero()) {