42 #ifdef GECODE_HAS_SET_VARS
136 SetExpr::NNF::operator
delete(
void*) {}
139 SetExpr::NNF::operator
delete(
void*,
Region&) {}
142 SetExpr::NNF::operator
new(
size_t s,
Region&
r) {
162 rel(home,
u.a.x->x, srt, bc);
166 rel(home,
u.a.x->x, srt, s);
183 dom(home, s, srt, ss);
213 rel(home, bc, srt, s);
232 rel(home, bc, srt, s);
269 rel(home, br, srt, bc);
280 rel(home, br, srt, s);
307 rel(home, u.a.x->x, srt, bc, b);
311 rel(home, u.a.x->x, srt, s, b);
323 dom(home, s, srt, ss, b);
333 rel(home,ic,srt,s,b);
335 rel(home,iv,srt,s,b);
346 rel(home, br, srt, s, b);
357 rel(home, br, srt, s, b);
377 rel(home, br, srt, bc);
384 rel(home, br, srt, s, b);
418 u.b.l->post(home, t, b, i);
419 u.b.r->post(home, t, b, i);
426 post(home,srt,n->
u.
a.x->x);
432 default: n_srt = srt;
434 n->
post(home,n_srt,
this);
448 post(home,srt,n->
u.
a.x->x,b);
454 default: n_srt = srt;
456 n->
post(home,b,
true,n_srt,
this);
463 }
else if (srt ==
SRT_EQ) {
465 }
else if (srt ==
SRT_NQ) {
470 post(home,nb,
true,srt,n);
489 return nnf(r,n->
l,!neg);
494 t = n->
t; xneg =
neg; neg =
false;
502 x->
u.
b.l = nnf(r,n->
l,neg);
503 x->
u.
b.r = nnf(r,n->
r,neg);
505 if ((x->
u.
b.l->t == t) || (x->
u.
b.l->t ==
NT_VAR)) {
506 p_l=x->
u.
b.l->p; n_l=x->
u.
b.l->n;
511 if ((x->
u.
b.r->t == t) || (x->
u.
b.r->t ==
NT_VAR)) {
512 p_r=x->
u.
b.r->p; n_r=x->
u.
b.r->n;
581 namespace MiniModel {
604 min(home, e.post(home),
m);
607 max(home, e.post(home),
m);
617 if (t==SNLE_CARD && irt!=
IRT_NQ) {
622 static_cast<unsigned int>(
c));
627 static_cast<unsigned int>(c-1));
631 static_cast<unsigned int>(
c),
636 static_cast<unsigned int>(c+1),
641 static_cast<unsigned int>(
c),
642 static_cast<unsigned int>(c));
647 }
else if (t==SNLE_MIN && (irt==
IRT_GR || irt==
IRT_GQ)) {
648 c = (irt==
IRT_GQ ? c : c+1);
650 }
else if (t==SNLE_MAX && (irt==
IRT_LE || irt==
IRT_LQ)) {
651 c = (irt==
IRT_LQ ? c : c-1);
654 rel(home,
post(home,NULL,icl), irt, c);
660 c = (irt==
IRT_GQ ? c : c+1);
662 }
else if (t==SNLE_MAX && (irt==
IRT_LE || irt==
IRT_LQ)) {
663 c = (irt==
IRT_LQ ? c : c-1);
666 rel(home,
post(home,NULL,icl), irt, c, b);