75 IntView::baseval(
int val)
const {
90 return x->regret_min();
94 return x->regret_max();
122 return x->lq(home,n);
126 return x->lq(home,n);
131 return x->lq(home,n-1);
135 return x->lq(home,n-1);
140 return x->gq(home,n);
144 return x->gq(home,n);
149 return x->gq(home,n+1);
153 return x->gq(home,n+1);
158 return x->nq(home,n);
162 return x->nq(home,n);
167 return x->eq(home,n);
171 return x->eq(home,n);
182 return x->narrow_r(home,i,depend);
187 return x->inter_r(home,i,depend);
192 return x->minus_r(home,i,depend);
197 return x->narrow_v(home,i,depend);
202 return x->inter_v(home,i,depend);
207 return x->minus_v(home,i,depend);
Generic domain change information to be supplied to advisors.
void init(const IntVarImp *x)
Initialize with ranges from variable implementation x.
IntVarImpFwd(void)
Default constructor.
Integer variable implementation.
unsigned int width(void) const
Return width of domain (distance between maximum and minimum)
int max(void) const
Return maximum of domain.
int min(void) const
Return minimum of domain.
static bool any(const Delta &d)
Test whether arbitrary values got pruned.
Integer view for integer variables.
unsigned int size(void) const
Return size (cardinality) of domain.
ModEvent inter_r(Space &home, I &i, bool depends=true)
Intersect domain with ranges described by i.
int min(void) const
Return minimum of domain.
unsigned int width(void) const
Return width of domain (distance between maximum and minimum)
bool range(void) const
Test whether domain is a range.
ModEvent gr(Space &home, int n)
Restrict domain values to be greater than n.
ModEvent narrow_v(Space &home, I &i, bool depends=true)
Replace domain by values described by i.
bool in(int n) const
Test whether n is contained in domain.
ModEvent lq(Space &home, int n)
Restrict domain values to be less or equal than n.
int med(void) const
Return median of domain (greatest element not greater than the median)
ModEvent le(Space &home, int n)
Restrict domain values to be less than n.
ModEvent inter_v(Space &home, I &i, bool depends=true)
Intersect domain with values described by i.
ModEvent gq(Space &home, int n)
Restrict domain values to be greater or equal than n.
ModEvent minus_v(Space &home, I &i, bool depends=true)
Remove from domain the values described by i.
IntView(void)
Default constructor.
unsigned int regret_min(void) const
Return regret of domain minimum (distance to next larger value)
ModEvent minus_r(Space &home, I &i, bool depends=true)
Remove from domain the ranges described by i.
unsigned int regret_max(void) const
Return regret of domain maximum (distance to next smaller value)
int val(void) const
Return assigned value (only if assigned)
bool any(const Delta &d) const
Test whether arbitrary values got pruned.
int max(void) const
Return maximum of domain.
ModEvent narrow_r(Space &home, I &i, bool depends=true)
Replace domain by ranges described by i.
ModEvent nq(Space &home, int n)
Restrict domain values to be different from n.
ModEvent eq(Space &home, int n)
Restrict domain values to be equal to n.
ViewRanges(void)
Default constructor.
void init(const View &x)
Initialize with ranges for view x.
ViewRanges(void)
Default constructor.
static ModEventDelta med(ModEvent me)
Translate modification event me to modification event delta for view.
static ModEvent me(const ModEventDelta &med)
void varimp(VarImpType *y)
int ModEventDelta
Modification event deltas.
Gecode toplevel namespace
Post propagator for SetVar SetOpType SetVar y
Post propagator for SetVar x
int ModEvent
Type for modification events.