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>
96 template<
class Val,
class UnsVal>
99 return static_cast<UnsVal>(
x.size());
102 template<
class Val,
class UnsVal>
105 return static_cast<UnsVal>(
x.width()) *
a;
108 template<
class Val,
class UnsVal>
111 return static_cast<UnsVal>(
x.regret_min()) *
a;
114 template<
class Val,
class UnsVal>
117 return static_cast<UnsVal>(
x.regret_max()) *
a;
125 template<
class Val,
class UnsVal>
130 template<
class Val,
class UnsVal>
133 return ((
n %
a) == 0) &&
x.in(
n /
a);
143 template<
class Val,
class UnsVal>
150 template<
class Val,
class UnsVal>
157 template<
class Val,
class UnsVal>
163 template<
class Val,
class UnsVal>
170 template<
class Val,
class UnsVal>
176 template<
class Val,
class UnsVal>
187 template<
class Val,
class UnsVal>
199 template<
class Val,
class UnsVal>
202 return static_cast<Val>(
x.min(
d)) *
a;
204 template<
class Val,
class UnsVal>
207 return static_cast<Val>(
x.max(
d)) *
a;
209 template<
class Val,
class UnsVal>
212 return static_cast<UnsVal>(
x.width(
d)) *
a;
214 template<
class Val,
class UnsVal>
226 template<
class Val,
class UnsVal>
238 template<
class Val,
class UnsVal>
241 return ((
base() <
y.base())
242 || ((
base() ==
y.base()) && (scale() <
y.scale())));
263 void init(
const IntScaleView&
x);
290 ViewRanges<IntView> > {
299 void init(
const LLongScaleView&
x);
323 template<
class Val,
class UnsVal>
326 return (
x.base() ==
y.base()) && (
x.scale() ==
y.scale());
328 template<
class Val,
class UnsVal>
struct Gecode::@602::NNF::@65::@66 b
For binary nodes (and, or, eqv)
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 update(Space &home, DerivedView< View > &y)
Update this view to be a clone of view y.
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.
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.
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.
struct Gecode::@602::NNF::@65::@67 a
For atomic nodes.
Val med(void) const
Return median of domain (greatest element not greater than the median)
Generic domain change information to be supplied to advisors.
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)
const double base
Base for geometric restart sequence.
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.
void update(Space &home, ScaleView< Val, UnsVal > &y)
Update this view to be a clone of view y.
bool operator<(const ScaleView< Val, UnsVal > &y) const
Whether this view comes before view y (arbitray order)
ModEvent gr(Space &home, Val n)
Restrict domain values to be greater than n.
Integer view for integer variables.
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.
bool operator!=(const CachedView< View > &x, const CachedView< View > &y)
Val min(void) const
Return minimum of domain.
ModEvent eq(Space &home, Val n)
Restrict domain values to be equal to n.
bool operator==(const CachedView< View > &x, const CachedView< View > &y)
ModEvent gq(Space &home, Val n)
Restrict domain values to be greater or equal than n.