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