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>
266 ViewRanges<IntView> > {
299 template<
class Val,
class UnsVal>
304 template<
class Val,
class UnsVal>
Scale integer view (template)
bool range(void) const
Test whether domain is a range.
Val med(void) const
Return median of domain (greatest element not greater than the median)
void max(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
bool before(const CachedView< View > &x, const CachedView< View > &y)
Val min(void) const
Return minimum of domain.
ViewRanges(void)
Default constructor.
int ModEvent
Type for modification events.
Range iterator for integer variable views
ScaleView(void)
Default constructor.
int scale(void) const
Return scale factor of scale view.
void init(const View &x)
Initialize with ranges for view x.
UnsVal size(void) const
Return size (cardinality) of domain.
Base-class for derived views.
Range iterator for integer views.
bool any(const Delta &d) const
Test whether arbitrary values got pruned.
UnsVal width(void) const
Return width of domain (distance between maximum and minimum)
const Gecode::ModEvent ME_INT_FAILED
Domain operation has resulted in failure.
bool same(const CachedView< View > &x, const CachedView< View > &y)
int n
Number of negative literals for node type.
View base(void) const
Return view from which this view is derived.
ModEvent lq(Space &home, Val n)
Restrict domain values to be less or equal than n.
Range iterator for pointwise product with a positive integer.
void update(Space &home, bool share, DerivedView< View > &y)
Update this view to be a clone of view y.
UnsVal regret_min(void) const
Return regret of domain minimum (distance to next larger value)
IntType floor_div_xp(IntType x, IntType y)
Compute where y is non-negative.
IntType ceil_div_xp(IntType x, IntType y)
Compute where y is non-negative.
ModEvent le(Space &home, Val n)
Restrict domain values to be less than n.
Val max(void) const
Return maximum of domain.
void min(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
Integer view for integer variables.
Node * x
Pointer to corresponding Boolean expression node.
Generic domain change information to be supplied to advisors.
ModEvent gr(Space &home, Val n)
Restrict domain values to be greater than n.
int med(void) const
Return median of domain (greatest element not greater than the median)
void update(Space &home, bool share, ScaleView< Val, UnsVal > &y)
Update this view to be a clone of view y.
Val val(void) const
Return assigned value (only if assigned)
struct Gecode::@518::NNF::@57::@58 b
For binary nodes (and, or, eqv)
Gecode toplevel namespace
ModEvent nq(Space &home, Val n)
Restrict domain values to be different from n.
int ModEventDelta
Modification event deltas.
bool in(Val n) const
Test whether n is contained in domain.
const Gecode::ModEvent ME_INT_NONE
Domain operation has not changed domain.
struct Gecode::@518::NNF::@57::@59 a
For atomic nodes.
UnsVal regret_max(void) const
Return regret of domain maximum (distance to next smaller value)
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.