73 unsigned int width(
void)
const;
112 static void*
operator new(
size_t s,
Space& home);
114 static void*
operator new(
size_t s,
void*
p);
116 static void operator delete(
void*);
118 static void operator delete(
void*,
Space& home);
120 static void operator delete(
void*,
void*);
173 return static_cast<unsigned int>(
_max -
_min + 1);
178 RangeList::operator
delete(
void*) {}
181 RangeList::operator
delete(
void*,
Space&) {
186 RangeList::operator
delete(
void*,
void*) {
191 RangeList::operator
new(size_t,
Space& home) {
192 return home.fl_alloc<
sizeof(
RangeList)>();
196 RangeList::operator
new(size_t,
void*
p) {
208 while (
l->next() != NULL)
220 p->next(
n);
p=
n; ++
i;
232 while ((
c != NULL) &&
i()) {
234 p=
c;
c=
c->next(); ++
i;
236 if ((
c == NULL) && !
i())
243 p->next(
n);
p=
n; ++
i;
247 while (
c->next() != NULL)
249 p->next()->dispose(home,
c);
262 while ((
c != NULL) &&
i()) {
263 if ((
c->
max()+1 <
i.min())) {
265 }
else if (
i.max()+1 <
c->
min()) {
267 p->next(
n);
p=
n; ++
i;
272 p=
c;
c=
c->next(); ++
i;
274 if ((
c != NULL) && (
c->
min() <=
max+1)) {
279 if (
i() && (
i.min() <=
max+1)) {
286 f->
next()->dispose(home,
p);
int p
Number of positive literals for node type.
int n
Number of negative literals for node type.
friend FloatVal max(const FloatVal &x, const FloatVal &y)
friend FloatVal min(const FloatVal &x, const FloatVal &y)
Base-class for freelist-managed objects.
FreeList ** nextRef(void)
Return pointer to next link in freelist object.
FreeList * next(void) const
Return next freelist object.
Lists of ranges (intervals)
int max(void) const
Return maximum.
int min(void) const
Return minimum.
void dispose(Space &home, RangeList *l)
Free memory for all elements between this and l (inclusive)
int _min
Minimum of range.
RangeList * next(void) const
Return next element.
unsigned int width(void) const
Return width (distance between maximum and minimum)
static void overwrite(Space &home, RangeList *&r, Iter &i)
Overwrite rangelist r with ranges from range iterator i.
RangeList ** nextRef(void)
Return pointer to next element.
RangeList(void)
Default constructor (noop)
static void insert(Space &home, RangeList *&r, I &i)
Insert (as union) ranges from iterator i into r.
static void copy(Space &home, RangeList *&r, Iter &i)
Create rangelist r from range iterator i.
int _max
Maximum of range.
void fl_dispose(FreeList *f, FreeList *l)
Return freelist-managed memory to freelist.
Base * next(void) const
Return next test.
const FloatNum max
Largest allowed float value.
const FloatNum min
Smallest allowed float value.
Gecode toplevel namespace
Post propagator for SetVar SetOpType SetVar SetRelType r
void min(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
void max(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
Gecode::FloatVal c(-8, 8)
Gecode::IntArgs i({1, 2, 3, 4})
#define GECODE_NEVER
Assert that this command is never executed.