43 namespace Gecode {
namespace Int {
namespace GCC {
53 int m = l + (r -
l) / 2;
54 if (v == a[m].
card()) {
58 }
else if (v < a[m].
card()) {
168 unsigned int size(
void)
const;
172 int card(
void)
const;
219 _min =
min; _max=
max; _card =
c; _counter = 0;
250 if (++_counter > _max)
268 if ((_min > n) || (_max < n))
280 _min=x._min; _max=x._max; _card=x._card; _counter=x._counter;
299 x = y; _card =
c; _counter = 0;
303 x =
IntVar(home,s); _card =
c; _counter = 0;
333 if (++_counter > this->
max())
353 return x.narrow_v(home,i,depends);
358 return x.inter_v(home,i,depends);
363 return x.minus_v(home,i,depends);
368 x.update(home,share,y.
x);
CardView(void)
Default constructor.
bool assigned(void) const
void update(Space &home, bool share, CardView &x)
int card(void) const
Return cardinality.
void cancel(Space &home, Propagator &p, PropCond pc)
Cancel subscription of propagator p with propagation condition pc to view.
Constant view containing lower and upper cardinality bounds.
bool lookupValue(T &a, int v, int &i)
Return index of v in array a.
ViewRanges(void)
Default constructor.
int ModEvent
Type for modification events.
Base-class for propagators.
Range iterator for integer variable views
unsigned int size(void) const
Return size (cardinality) of domain.
const unsigned int card
Maximum cardinality of an integer set.
ModEvent lq(Space &home, int n)
Restrict domain values to be less or equal than n.
void init(const View &x)
Initialize with ranges for view x.
Base-class for derived views.
Range iterator for integer views.
const Gecode::ModEvent ME_INT_FAILED
Domain operation has resulted in failure.
Gecode::FloatVal c(-8, 8)
CardConst(void)
Default constructor.
ModEvent lq(Space &home, int n)
Restrict domain values to be less or equal than n.
int p
Number of positive literals for node type.
Gecode::IntArgs i(4, 1, 2, 3, 4)
int min(void) const
Return minimum of domain.
int n
Number of negative literals for node type.
ModEvent inter_v(Space &home, I &i, bool depends=true)
Intersect domain with values described by i.
static const bool propagate
This view does not require propagation.
View base(void) const
Return view from which this view is derived.
ModEvent eq(Space &home, int n)
Restrict domain values to be equal to n.
int PropCond
Type for propagation conditions.
ModEvent eq(Space &home, int n)
Restrict domain values to be equal to n.
ModEvent gq(Space &home, int n)
Restrict domain values to be greater or equal than n.
unsigned int size(I &i)
Size of all ranges of range iterator i.
struct Gecode::@519::NNF::@60::@62 a
For atomic nodes.
Cardinality integer view.
IntView base(void) const
Return used IntView (cannot be used)
void init(Space &home, int min, int max, int c)
Initialize with min, max, and cardinality c.
int max(void) const
Return maximum of domain.
int card(void) const
Return cardinality.
void init(const IntView &y, int c)
Initialize with integer view y and value c.
Integer view for integer variables.
ModEvent inc(void)
Increment counter.
int max(void) const
Return maximum of domain.
Node * x
Pointer to corresponding Boolean expression node.
ModEvent narrow_v(Space &home, I &i, bool depends=true)
Replace domain by values described by i.
void update(Space &home, bool share, CardConst &x)
ModEvent gq(Space &home, int n)
Restrict domain values to be greater or equal than n.
int counter(void) const
Return the number of times the value occurs.
void subscribe(Space &home, Propagator &p, PropCond pc, bool process=true)
Cancel subscription of propagator p with propagation condition pc to view.
const ModEvent ME_GEN_NONE
Generic modification event: no modification.
View x
View from which this view is derived.
int min(void) const
Return minimum of domain.
int counter(void) const
Return the number of times the value occurs.
Gecode toplevel namespace
ModEvent inc(void)
Increment counter.
ModEvent minus_v(Space &home, I &i, bool depends=true)
Remove from domain the values described by i.
#define GECODE_NEVER
Assert that this command is never executed.
const Gecode::ModEvent ME_INT_NONE
Domain operation has not changed domain.