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