38 namespace Gecode {
namespace Set {
namespace Rel {
60 void set(
int i,
bool j) {
99 template<
class View0,
class View1>
114 void xmax(
int i,
bool j) {
set(2*i+1,j); }
169 template<
class View0,
class View1>
196 template<
class View0,
class View1>
198 : xlm(false), xum(false), ylm(false), yum(false) {
216 for (
int i=0; xylubv(); ++xylubv, ++
i) {
218 if (xlv() && xylubv.
val()==xlv.
val()) {
222 if (xuv() && xylubv.
val()==xuv.
val()) {
226 if (ylv() && xylubv.
val()==ylv.
val()) {
230 if (yuv() && xylubv.
val()==yuv.
val()) {
237 template<
class View0,
class View1,
bool strict>
242 template<
class View0,
class View1,
bool strict>
247 template<
class View0,
class View1,
bool strict>
252 (void)
new (home)
Lq(home,x,y);
256 template<
class View0,
class View1,
bool strict>
259 return new (home)
Lq(home,share,*
this);
262 template<
class View0,
class View1,
bool strict>
265 if ( (!strict) && x1.cardMax()==0) {
269 if (x0.cardMax()==0) {
273 if (x0.glbMin() < x1.lubMin())
275 if (x1.glbMin() < x0.lubMin())
278 bool assigned = x0.assigned() && x1.assigned();
290 while ((i<n) && cs.
xmin(i) == cs.
ymax(i)) {
352 while ((i < n) && (cs.
xmax(i) == cs.
ymin(i))) {
381 while ((i < n) && (cs.
xmin(i) == cs.
ymax(i))) {