38 namespace Gecode {
namespace Set {
namespace Rel {
60 void set(
int i,
bool j) {
88 :
cs(&cs0),
i(static_cast<unsigned int>(-1)),
100 template<
class View0,
class View1>
115 void xmax(
int i,
bool j) {
set(2*i+1,j); }
170 template<
class View0,
class View1>
197 template<
class View0,
class View1>
199 : xlm(false), xum(false), ylm(false), yum(false) {
217 for (
int i=0; xylubv(); ++xylubv, ++
i) {
219 if (xlv() && xylubv.
val()==xlv.
val()) {
223 if (xuv() && xylubv.
val()==xuv.
val()) {
227 if (ylv() && xylubv.
val()==ylv.
val()) {
231 if (yuv() && xylubv.
val()==yuv.
val()) {
238 template<
class View0,
class View1,
bool strict>
243 template<
class View0,
class View1,
bool strict>
248 template<
class View0,
class View1,
bool strict>
253 (void)
new (home)
Lq(home,x,y);
257 template<
class View0,
class View1,
bool strict>
260 return new (home)
Lq(home,share,*
this);
263 template<
class View0,
class View1,
bool strict>
266 if ( (!strict) && x1.cardMax()==0) {
270 if (x0.cardMax()==0) {
274 if (x0.glbMin() < x1.lubMin())
276 if (x1.glbMin() < x0.lubMin())
279 bool assigned = x0.assigned() && x1.assigned();
291 while ((i<n) && cs.
xmin(i) == cs.
ymax(i)) {
353 while ((i < n) && (cs.
xmax(i) == cs.
ymin(i))) {
382 while ((i < n) && (cs.
xmin(i) == cs.
ymax(i))) {