Go to the documentation of this file.
40 namespace Gecode {
namespace Int {
46 template<
class Val,
class UnsVal>
50 template<
class Val,
class UnsVal>
60 template<
class Val,
class UnsVal>
65 template<
class Val,
class UnsVal>
68 return static_cast<Val
>(
x.min()) *
a;
71 template<
class Val,
class UnsVal>
74 return static_cast<Val
>(
x.max()) *
a;
77 template<
class Val,
class UnsVal>
80 return static_cast<Val
>(
x.med()) *
a;
83 template<
class Val,
class UnsVal>
86 return static_cast<Val
>(
x.val()) *
a;
89 template<
class Val,
class UnsVal>
92 return static_cast<UnsVal
>(
x.size());
95 template<
class Val,
class UnsVal>
98 return static_cast<UnsVal
>(
x.width()) *
a;
101 template<
class Val,
class UnsVal>
104 return static_cast<UnsVal
>(
x.regret_min()) *
a;
107 template<
class Val,
class UnsVal>
110 return static_cast<UnsVal
>(
x.regret_max()) *
a;
118 template<
class Val,
class UnsVal>
123 template<
class Val,
class UnsVal>
126 return ((
n %
a) == 0) &&
x.in(
n /
a);
136 template<
class Val,
class UnsVal>
143 template<
class Val,
class UnsVal>
150 template<
class Val,
class UnsVal>
156 template<
class Val,
class UnsVal>
163 template<
class Val,
class UnsVal>
169 template<
class Val,
class UnsVal>
180 template<
class Val,
class UnsVal>
192 template<
class Val,
class UnsVal>
195 return static_cast<Val
>(
x.min(
d)) *
a;
197 template<
class Val,
class UnsVal>
200 return static_cast<Val
>(
x.max(
d)) *
a;
202 template<
class Val,
class UnsVal>
214 template<
class Val,
class UnsVal>
239 void init(
const IntScaleView&
x);
266 ViewRanges<IntView> > {
275 void init(
const LLongScaleView&
x);
299 template<
class Val,
class UnsVal>
302 return same(
x.base(),
y.base()) && (
x.scale() ==
y.scale());
304 template<
class Val,
class UnsVal>
308 || (
same(
x.base(),
y.base()) && (
x.scale() <
y.scale()));
Val max(void) const
Return maximum of domain.
Post propagator for SetVar x
Post propagator for SetVar SetOpType SetVar y
UnsVal size(void) const
Return size (cardinality) of domain.
void max(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
const Gecode::ModEvent ME_INT_FAILED
Domain operation has resulted in failure.
void init(const View &x)
Initialize with ranges for view x.
ScaleView(void)
Default constructor.
const Gecode::ModEvent ME_INT_NONE
Domain operation has not changed domain.
bool same(const CachedView< View > &x, const CachedView< View > &y)
int scale(void) const
Return scale factor of scale view.
bool any(const Delta &d) const
Test whether arbitrary values got pruned.
IntType floor_div_xp(IntType x, IntType y)
Compute where y is non-negative.
bool in(Val n) const
Test whether n is contained in domain.
ModEvent lq(Space &home, Val n)
Restrict domain values to be less or equal than n.
void update(Space &home, bool share, DerivedView< View > &y)
Update this view to be a clone of view y.
Base-class for derived views.
IntType ceil_div_xp(IntType x, IntType y)
Compute where y is non-negative.
Gecode toplevel namespace
Range iterator for integer views.
bool before(const CachedView< View > &x, const CachedView< View > &y)
Val med(void) const
Return median of domain (greatest element not greater than the median)
Generic domain change information to be supplied to advisors.
struct Gecode::@579::NNF::@61::@63 a
For atomic nodes.
struct Gecode::@579::NNF::@61::@62 b
For binary nodes (and, or, eqv)
bool range(void) const
Test whether domain is a range.
Val val(void) const
Return assigned value (only if assigned)
ViewRanges(void)
Default constructor.
UnsVal regret_max(void) const
Return regret of domain maximum (distance to next smaller value)
Range iterator for pointwise product with a positive integer.
UnsVal regret_min(void) const
Return regret of domain minimum (distance to next larger value)
int ModEvent
Type for modification events.
Scale integer view (template)
ModEvent le(Space &home, Val n)
Restrict domain values to be less than n.
ModEvent gr(Space &home, Val n)
Restrict domain values to be greater than n.
Integer view for integer variables.
void update(Space &home, bool share, ScaleView< Val, UnsVal > &y)
Update this view to be a clone of view y.
ModEvent nq(Space &home, Val n)
Restrict domain values to be different from n.
UnsVal width(void) const
Return width of domain (distance between maximum and minimum)
Range iterator for integer variable views
void min(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
int n
Number of negative literals for node type.
int med(void) const
Return median of domain (greatest element not greater than the median)
int ModEventDelta
Modification event deltas.
Val min(void) const
Return minimum of domain.
ModEvent eq(Space &home, Val n)
Restrict domain values to be equal to n.
ModEvent gq(Space &home, Val n)
Restrict domain values to be greater or equal than n.