
Float variable implementation. More...
#include <var-imp.hpp>
Public Member Functions | |
| FloatVarImp (Space &home, const FloatVal &d) | |
| Initialize with interval d. | |
Public Member Functions inherited from Gecode::Float::FloatVarImpBase | |
| FloatVarImpBase (void) | |
| Constructor for creating static instance of variable. | |
| FloatVarImpBase (Gecode::Space &home) | |
| Constructor for creating variable. | |
| void | subscribe (Gecode::Space &home, Gecode::Propagator &p, Gecode::PropCond pc, bool assigned, bool schedule) |
| Subscribe propagator p with propagation condition pc. | |
| void | subscribe (Gecode::Space &home, Gecode::Advisor &a, bool assigned, bool failed) |
| Subscribe advisor a if assigned is false. | |
| 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 information d. | |
| void | reschedule (Gecode::Space &home, Gecode::Propagator &p, Gecode::PropCond pc, bool assigned) |
| Re-schedule propagator p. | |
Public Member Functions inherited from Gecode::VarImp< Gecode::Float::FloatVarImpConf > | |
| VarImp (Space &home) | |
| Creation. | |
| VarImp (void) | |
| Creation of static instances. | |
| VarImp * | next (void) const |
| Return next copied variable. | |
| VarImp (Space &home, VarImp &x) | |
| Constructor for cloning. | |
| bool | copied (void) const |
| Is variable already copied. | |
| VarImp * | forward (void) const |
| Use forward pointer if variable already copied. | |
| void | cancel (Space &home, Propagator &p, PropCond pc) |
| Cancel subscription of propagator p with propagation condition pc. | |
| void | cancel (Space &home, Advisor &a, bool fail) |
| Cancel subscription of advisor a. | |
| void | subscribe (Space &home, Propagator &p, PropCond pc, bool assigned, ModEvent me, bool schedule) |
| Subscribe propagator p with propagation condition pc. | |
| void | subscribe (Space &home, Advisor &a, bool assigned, bool fail) |
| Subscribe advisor a to variable. | |
| unsigned int | degree (void) const |
| Return degree (number of subscribed propagators and advisors) | |
| double | afc (void) const |
| Return accumulated failure count (plus degree) | |
| unsigned int | bits (void) const |
| Provide access to free bits. | |
| unsigned int & | bits (void) |
| Provide access to free bits. | |
Protected Member Functions | |
| FloatVarImp (Space &home, FloatVarImp &x) | |
| Constructor for cloning x. | |
Protected Member Functions inherited from Gecode::Float::FloatVarImpBase | |
| FloatVarImpBase (Gecode::Space &home, FloatVarImpBase &x) | |
| Constructor for cloning x. | |
Protected Member Functions inherited from Gecode::VarImp< Gecode::Float::FloatVarImpConf > | |
| void | cancel (Space &home) |
| Cancel all subscriptions when variable implementation is assigned. | |
| bool | advise (Space &home, ModEvent me, Delta &d) |
| Run advisors when variable implementation has been modified with modification event me and domain change d. | |
| ModEvent | fail (Space &home) |
| Run advisors to be run on failure and returns ME_GEN_FAILED. | |
| void | schedule (Space &home, PropCond pc1, PropCond pc2, ModEvent me) |
| Schedule subscribed propagators. | |
Protected Attributes | |
| FloatVal | dom |
| Domain information. | |
Value access | |
| FloatVal | domain (void) const |
| Return domain. | |
| FloatNum | min (void) const |
| Return minimum of domain. | |
| FloatNum | max (void) const |
| Return maximum of domain. | |
| FloatVal | val (void) const |
| Return value of domain (only if assigned) | |
| FloatNum | med (void) const |
| Return median of domain (closest representation) | |
| FloatNum | size (void) const |
| Return width of domain (distance between maximum and minimum) | |
Domain tests | |
| bool | assigned (void) const |
| Test whether variable is assigned. | |
| bool | zero_in (void) const |
| Test whether 0 is contained in domain. | |
| bool | in (FloatNum n) const |
| Test whether n is contained in domain. | |
| bool | in (const FloatVal &n) const |
| Test whether n is contained in domain. | |
Domain update by value | |
| ModEvent | eq (Space &home, FloatNum n) |
| Restrict domain values to be equal to n. | |
| ModEvent | eq (Space &home, const FloatVal &n) |
| Restrict domain values to be equal to n. | |
| ModEvent | lq (Space &home, FloatNum n) |
| Restrict domain values to be less or equal than n. | |
| ModEvent | lq (Space &home, const FloatVal &n) |
| Restrict domain values to be less or equal than n. | |
| ModEvent | gq (Space &home, FloatNum n) |
| Restrict domain values to be greater or equal than n. | |
| ModEvent | gq (Space &home, const FloatVal &n) |
| Restrict domain values to be greater or equal than n. | |
Dependencies | |
| void | subscribe (Space &home, Propagator &p, PropCond pc, bool schedule=true) |
| Subscribe propagator p with propagation condition pc to variable. | |
| void | reschedule (Space &home, Propagator &p, PropCond pc) |
| Re-schedule propagator p with propagation condition pc. | |
| void | subscribe (Space &home, Advisor &a, bool fail) |
| Subscribe advisor a to variable. | |
Cloning | |
| FloatVarImp * | copy (Space &home) |
| Return copy of this variable. | |
Variable implementation-dependent propagator support | |
| static ModEventDelta | med (ModEvent me) |
| Translate modification event me to modification event delta for view. | |
Delta information for advisors | |
| static FloatNum | min (const Delta &d) |
| Return minimum value just pruned. | |
| static FloatNum | max (const Delta &d) |
| Return maximum value just pruned. | |
Additional Inherited Members | |
| static void | schedule (Gecode::Space &home, Gecode::Propagator &p, Gecode::ModEvent me) |
| Schedule propagator p. | |
| static void | schedule (Space &home, Propagator &p, ModEvent me, bool force=false) |
| Schedule propagator p with modification event me. | |
| static void | reschedule (Space &home, Propagator &p, PropCond pc, bool assigned, ModEvent me) |
| Schedule propagator p. | |
| static ModEvent | me (const ModEventDelta &med) |
| Project modification event for this variable type from med. | |
| static ModEventDelta | med (ModEvent me) |
| Translate modification event me into modification event delta. | |
| static ModEvent | me_combine (ModEvent me1, ModEvent me2) |
| Combine modifications events me1 and me2. | |
| static ModEvent | modevent (const Delta &d) |
| Return modification event. | |
| static void * | operator new (size_t, Space &) |
| Allocate memory from space. | |
| static void | operator delete (void *, Space &) |
| Return memory to space. | |
| static void | operator delete (void *) |
| Needed for exceptions. | |
Public Attributes inherited from Gecode::VarImp< Gecode::Float::FloatVarImpConf > | |
| ActorLink ** | base |
| Subscribed actors. | |
| VarImp< Gecode::Float::FloatVarImpConf > * | fwd |
| Forwarding pointer. | |
| unsigned int | idx [pc_max+1] |
| Indices of subscribed actors. | |
| VarImp< Gecode::Float::FloatVarImpConf > * | next |
| During cloning, points to the next copied variable. | |
Float variable implementation.
Definition at line 76 of file var-imp.hpp.
|
inlineprotected |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| void Gecode::Float::FloatVarImp::subscribe | ( | Space & | home, |
| Propagator & | p, | ||
| PropCond | pc, | ||
| bool | schedule = true ) |
| void Gecode::Float::FloatVarImp::reschedule | ( | Space & | home, |
| Propagator & | p, | ||
| PropCond | pc ) |
|
inlinestatic |
|
inline |
|
protected |
Domain information.
Definition at line 79 of file var-imp.hpp.