38namespace Gecode {
namespace Int {
69 MinusView::baseval(
int val)
const {
116 return x.
gq(home,-
n);
120 return x.
gq(home,-
n);
125 return x.
gr(home,-
n);
129 return x.
gr(home,-
n);
134 return x.
lq(home,-
n);
138 return x.
lq(home,-
n);
143 return x.
le(home,-
n);
147 return x.
le(home,-
n);
152 return x.
nq(home,-
n);
156 return x.
nq(home,-
n);
161 return x.
eq(home,-
n);
165 return x.
eq(home,-
n);
301 unsigned int i =
x.
size() / 2;
305 while (i >=
r.width()) {
309 return r.min() +
static_cast<int>(i);
318 return x.base() ==
y.base();
int n
Number of negative literals for node type.
Generic domain change information to be supplied to advisors.
Base-class for derived views.
static ModEvent me(const ModEventDelta &med)
Backward iterator for ranges of integer variable implementations.
int max(void) const
Return largest value of range.
int min(void) const
Return smallest value of range.
void init(const IntVarImp *x)
Initialize with ranges from variable implementation x.
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.
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.
ModEvent narrow_v(Space &home, I &i, bool depends=true)
Replace domain by values described by i.
ModEvent eq(Space &home, int n)
Restrict domain values to be equal to n.
ModEvent nq(Space &home, int n)
Restrict domain values to be different from n.
unsigned int regret_max(void) const
Return regret of domain maximum (distance to next smaller value)
ModEvent le(Space &home, int n)
Restrict domain values to be less than n.
unsigned int width(void) const
Return width of domain (distance between maximum and minimum)
ModEvent gr(Space &home, int n)
Restrict domain values to be greater than n.
ModEvent lq(Space &home, int n)
Restrict domain values to be less or equal than n.
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.
ModEvent gq(Space &home, int n)
Restrict domain values to be greater or equal than n.
ModEvent inter_v(Space &home, I &i, bool depends=true)
Intersect domain with values described by i.
int max(void) const
Return maximum of domain.
int min(void) const
Return minimum of domain.
ModEvent inter_r(Space &home, I &i, bool depends=true)
Intersect domain with ranges described by i.
bool in(int n) const
Test whether n is contained in domain.
bool range(void) const
Test whether domain is a range.
unsigned int size(void) const
Return size (cardinality) of domain.
ModEvent narrow_r(Space &home, I &i, bool depends=true)
Replace domain by ranges described by i.
bool any(const Delta &d) const
Test whether arbitrary values got pruned.
ModEvent minus_v(Space &home, I &i, bool depends=true)
Remove from domain the values described by i.
MinusView(void)
Default constructor.
int med(void) const
Return median of domain.
int val(void) const
Return assigned value (only if assigned)
Range iterator for integer views.
int max(void) const
Return largest value of range.
int min(void) const
Return smallest value of range.
void init(const View &x)
Initialize with ranges for view x.
ViewRanges(void)
Default constructor.
Range iterator for pointwise minus of a range iterator.
Value iterator for pointwise minus of a value iterator.
VarImp * varimp(void) const
Return variable implementation of variable.
int ModEventDelta
Modification event deltas.
bool operator==(const CachedView< View > &x, const CachedView< View > &y)
bool operator!=(const CachedView< View > &x, const CachedView< View > &y)
Gecode toplevel namespace
Post propagator for SetVar SetOpType SetVar SetRelType r
Post propagator for SetVar SetOpType SetVar y
Post propagator for SetVar x
int ModEvent
Type for modification events.