38namespace Gecode {
namespace Int {
81 OffsetView::baseval(
int val)
const {
128 return x.
lq(home,
n-
c);
132 return x.
lq(home,
n-
c);
137 return x.
le(home,
n-
c);
141 return x.
le(home,
n-
c);
146 return x.
gq(home,
n-
c);
150 return x.
gq(home,
n-
c);
155 return x.
gr(home,
n-
c);
159 return x.
gr(home,
n-
c);
164 return x.
nq(home,
n-
c);
168 return x.
nq(home,
n-
c);
173 return x.
eq(home,
n-
c);
177 return x.
eq(home,
n-
c);
274 return ((
base() <
y.base())
319 return (
x.base() ==
y.base()) && (
x.offset() ==
y.offset());
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)
void update(Space &home, DerivedView< View > &y)
Update this view to be a clone of view y.
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.
int min(void) const
Return minimum of domain.
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.
int val(void) const
Return assigned value (only if assigned)
void update(Space &home, OffsetView &y)
Update this view to be a clone of view y.
ModEvent inter_r(Space &home, I &i, bool depends=true)
Intersect domain with ranges described by i.
int med(void) const
Return median of domain (greatest element not greater than the median)
unsigned int regret_min(void) const
Return regret of domain minimum (distance to next larger value)
ModEvent narrow_v(Space &home, I &i, bool depends=true)
Replace domain by values described by i.
unsigned int size(void) const
Return size (cardinality) of domain.
unsigned int regret_max(void) const
Return regret of domain maximum (distance to next smaller value)
ModEvent minus_v(Space &home, I &i, bool depends=true)
Remove from domain the values described by i.
int offset(void) const
Return offset.
int max(void) const
Return maximum of domain.
unsigned int width(void) const
Return width of domain (distance between maximum and minimum)
bool any(const Delta &d) const
Test whether arbitrary values got pruned.
OffsetView(void)
Default constructor.
bool in(int n) const
Test whether n is contained in domain.
bool operator<(const OffsetView &y) const
Whether this view comes before view y (arbitray order)
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 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 nq(Space &home, int n)
Restrict domain values to be different from n.
bool range(void) const
Test whether domain is a range.
ModEvent eq(Space &home, int n)
Restrict domain values to be equal to n.
ModEvent narrow_r(Space &home, I &i, bool depends=true)
Replace domain by ranges described by i.
Range iterator for integer views.
void init(const View &x)
Initialize with ranges for view x.
ViewRanges(void)
Default constructor.
Range iterator for pointwise offset (by some constant)
Value iterator for pointwise offset (by some constant)
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 y
Post propagator for SetVar x
int ModEvent
Type for modification events.