38 namespace Gecode {
namespace Int {
namespace Rel {
56 x.update(home,share,p.
x);
57 y.update(home,share,p.
y);
93 while ((i < n) && (
x[i].
min() == y[i].
max())) {
112 x[i].val() == y[i].val()));
114 x.drop_fst(i); y.drop_fst(i);
131 (
x[i].val() == y[i].val()));
150 x[i-1]=
x[0];
x.drop_fst(i-1);
151 y[i-1]=y[0]; y.drop_fst(i-1);
155 if (
x[1].
max() <= y[1].
min()) {
165 while ((i < n) && (
x[i].
max() == y[i].
min()))
180 for (
int j=i; j<
n; j++) {
184 x.size(i); y.size(i);
191 if (
x[1].
min() >= y[1].
max()) {
201 while ((i < n) && (
x[i].
min() == y[i].
max()))
217 for (
int j=i; j<
n; j++) {
221 x.size(i); y.size(i);
265 x0(xv[xv.
size()-2]), y0(yv[xv.
size()-2]),
266 x1(xv[xv.
size()-1]), y1(yv[xv.
size()-1]),
270 assert(n ==
y.size());
271 x.size(n-2);
y.size(n-2);
286 x0.update(home,share,p.
x0);
y0.update(home,share,p.
y0);
287 x1.update(home,share,p.
x1);
y1.update(home,share,p.
y1);
288 x.update(home,share,p.
x);
y.update(home,share,p.
y);
332 n--; x[
i]=x[
n]; y[
i]=y[
n];
337 if (
same(x[i],y[i])) {
339 n--; x[
i]=x[
n]; y[
i]=y[
n];
351 (void)
new (home)
LexNq(home,x,y);
361 return sizeof(*this);
367 RelTest rt, View& x0, View& y0, View x1, View y1) {
369 assert(x0.assigned() && y0.assigned());
370 assert(x0.val() == y0.val());
376 n--;
x[
i]=
x[
n]; y[
i]=y[
n];
383 n--;
x[
i]=
x[
n]; y[
i]=y[
n];
384 x.size(n); y.size(n);