45 namespace Gecode {
namespace Float {
222 : perform_copy(home,share);
227 FloatVarImp::perform_copy(
Space& home,
bool share) {
bool assigned(void) const
Test whether variable is assigned.
VarImp * forward(void) const
Use forward pointer if variable already copied.
bool subset(const FloatVal &x, const FloatVal &y)
#define GECODE_ASSUME(p)
Assert certain property.
FloatNum min(void) const
Return minimum of domain.
FloatVal dom
Domain information.
bool overlap(const FloatVal &x, const FloatVal &y)
void dom(Home home, FloatVar x, FloatVal n)
Propagates .
int ModEvent
Type for modification events.
bool in(FloatNum n) const
Test whether n is contained in domain.
bool zero_in(void) const
Test whether zero is included.
static ModEventDelta med(ModEvent me)
Translate modification event me into modification event delta.
const Gecode::ModEvent ME_FLOAT_VAL
Domain operation has resulted in a value (assigned variable)
bool in(FloatNum n) const
Test whether n is included.
FloatVal domain(void) const
Return domain.
FloatVarImp(Space &home, bool share, FloatVarImp &x)
Constructor for cloning x.
int n
Number of negative literals for node type.
static ModEvent me(const ModEventDelta &med)
Project modification event for this variable type from med.
bool copied(void) const
Is variable already copied.
FloatVal intersect(const FloatVal &x, const FloatVal &y)
Float variable implementation.
bool tight(void) const
Test whether float is tight.
FloatNum size(void) const
Return width of domain (distance between maximum and minimum)
Float delta information for advisors.
FloatVarImp * copy(Space &home, bool share)
Return copy of this variable.
FloatNum med(void) const
Return median of float value.
ModEvent eq(Space &home, FloatNum n)
Restrict domain values to be equal to n.
Generic domain change information to be supplied to advisors.
bool zero_in(void) const
Test whether 0 is contained in domain.
FloatVal val(void) const
Return value of domain (only if assigned)
const Gecode::ModEvent ME_FLOAT_NONE
Domain operation has not changed domain.
Gecode::ModEvent notify(Gecode::Space &home, Gecode::ModEvent me, Gecode::Delta &d)
Notify that variable implementation has been modified with modification event me and delta informatio...
ModEvent fail(Space &home)
Run advisors to be run on failure and returns ME_GEN_FAILED.
Post propagator for SetVar x
FloatNum med(void) const
Return median of domain (closest representation)
FloatNum max(void) const
Return maximum of domain.
ModEvent gq(Space &home, FloatNum n)
Restrict domain values to be greater or equal than n.
Gecode toplevel namespace
FloatNum size(void) const
Return size of float value (distance between maximum and minimum)
const Gecode::ModEvent ME_FLOAT_BND
Domain operation has changed the minimum or maximum of the domain.
Base-class for Float-variable implementations.
friend FloatVal max(const FloatVal &x, const FloatVal &y)
int ModEventDelta
Modification event deltas.
friend FloatVal min(const FloatVal &x, const FloatVal &y)
double FloatNum
Floating point number base type.
ModEvent lq(Space &home, FloatNum n)
Restrict domain values to be less or equal than n.