|
Public Types |
typedef std::slist< PDBM
>::const_iterator | const_iterator |
Public Member Functions |
| pfed_t () |
| Allocate empty priced federation of dimension 0.
|
| pfed_t (cindex_t dim) |
| Allocate empty priced federation of dimension dim.
|
| pfed_t (const PDBM pdbm, cindex_t dim) |
| Allocate a priced federation of dimension dim initialised to pdbm.
|
| pfed_t (const pfed_t &) |
| The copy constructor implements copy on write.
|
| ~pfed_t () |
| The destructor decrements the reference count and deallocates the priced DBM when the count reaches zero.
|
bool | constrain (cindex_t i, uint32_t value) |
| Constrain x(i) to value.
|
bool | constrain (cindex_t i, cindex_t j, raw_t constraint) |
| Constrain federation to valuations satisfying x(i) - x(j) ~ constraint.
|
bool | constrain (cindex_t i, cindex_t j, int32_t b, bool isStrict) |
| Constrain federation to valuations satisfying x(i) - x(j) ~ (b, isStrict).
|
bool | constrain (const constraint_t *constraints, size_t n) |
| Constrain federation to valuations satisfying the constraints.
|
bool | constrain (const constraint_t &c) |
| Constrain federation to valuations satisfying c.
|
int32_t | getInfimum () const |
| Returns the infimum of the federation.
|
bool | satisfies (const constraint_t &c) const |
| Check if the federation satisfies a given constraint.
|
bool | satisfies (cindex_t i, cindex_t j, raw_t constraint) const |
| Check if the federation satisfies a given constraint.
|
bool | isEmpty () const |
| Returns true iff the federation is empty.
|
bool | isUnbounded () const |
uint32_t | hash (uint32_t seed) const |
| Contains a hash of the federation.
|
bool | contains (const DoubleValuation &v) const |
| Returns true iff the federation contains .
|
bool | contains (const IntValuation &v) const |
| Returns true iff the federation contains .
|
void | up () |
| Delay with the current delay rate.
|
void | up (int32_t rate) |
| Delay with rate rate.
|
void | updateValue (cindex_t clock, uint32_t value) |
| Set x(clock) to value.
|
void | updateValueZero (cindex_t clock, int32_t value, cindex_t zero) |
| Set x(clock) to value.
|
void | extrapolateMaxBounds (int32_t *max) |
void | diagonalExtrapolateMaxBounds (int32_t *max) |
void | diagonalExtrapolateLUBounds (int32_t *lower, int32_t *upper) |
void | incrementCost (int32_t value) |
int32_t | getCostOfValuation (const IntValuation &valuation) const |
void | relax () |
void | freeClock (cindex_t clock) |
void | setZero () |
| Resets the federation to the federation containing only the origin, with a cost of 0.
|
void | setInit () |
| Resets the federation to the federation containing all valuations, with a cost of 0.
|
void | setEmpty () |
| Resets the federation to the empty federation.
|
const_iterator | begin () const |
| Returns an iterator to the first zone of the federation.
|
const_iterator | end () const |
| Returns an iterator to the position after the last zone of the federation.
|
bool | operator== (const pfed_t &) const |
pfed_t & | operator= (const pfed_t &) |
| Assignment operator.
|
pfed_t & | operator= (const PDBM) |
| Assignment operator.
|
pfed_t & | operator|= (const pfed_t &) |
| Union operator.
|
pfed_t & | operator|= (const PDBM) |
| Union operator.
|
pfed_t & | operator-= (const pfed_t &) |
| Not implemented.
|
pfed_t & | operator+= (const pfed_t &) |
| Not implemented.
|
pfed_t & | operator &= (const pfed_t &) |
| Not implemented.
|
bool | intersects (const pfed_t &) const |
| Not implemented.
|
pfed_t | operator & (const pfed_t &b) const |
| Not implemented.
|
pfed_t | operator- (const pfed_t &b) const |
| Not implemented.
|
void | down () |
| Not implemented.
|
int32_t | getUpperMinimumCost (cindex_t) const |
| Not implemented.
|
void | relaxUp () |
| Not implemented.
|
void | getValuation (DoubleValuation &cval, bool *freeC=NULL) const |
| Not implemented.
|
void | swapClocks (cindex_t, cindex_t) |
| Not implemented.
|
void | splitExtrapolate (const constraint_t *, const constraint_t *, const int32_t *) |
| Not implemented.
|
relation_t | relation (const pfed_t &fed) const |
| Relation between two priced federations: SUBSET is returned if all zones of this federation are contained in some zone of fed.
|
int32_t | getInfimumValuation (IntValuation &valuation, const bool *free=NULL) const |
| Returns the infimum of the federation given a partial valuation.
|
size_t | size () const |
| Returns the number of zones in the federation.
|
size_t | getDimension () const |
| Returns the dimension of the federation.
|
void | freeUp (cindex_t) |
| Implementation of the free up operation for priced federations.
|
void | freeDown (cindex_t) |
| Implementation of the free down operation for priced federations.
|
template<typename Predicate> |
void | erase_if (Predicate p) |
template<typename Predicate> |
void | erase_if_not (Predicate p) |
raw_t | operator() (cindex_t i, cindex_t j) const |
| Returns the bound on x(i) - x(j) of the first zone of the federation.
|
int32_t | getRate (cindex_t) const |
size_t | analyzeForMinDBM (uint32_t *bitMatrix) const |
int32_t | getOffsetCost () const |
int32_t | getSlopeOfDelayTrajectory () const |
void | setOffsetCost (int32_t) |
void | setRate (cindex_t, int32_t) |
int32_t * | writeToMinDBMWithOffset (bool minimizeGraph, bool tryConstraints16, allocator_t c_alloc, uint32_t offset) const |
relation_t | relation (const int32_t *, raw_t *) const |
bool | isOnZeroCycle (cindex_t clock, cindex_t &result) const |
| Returns true and a clock in result that is on a zero cycle with clock or false if no such clock exists.
|
const pfed_t & | const_dbmt () const |
Static Public Member Functions |
static size_t | getSizeOfMinDBM (size_t dimension, const int32_t *) |
static pfed_t | readFromMinDBM (size_t dimension, const int32_t *) |
Protected Types |
typedef std::slist< PDBM
>::iterator | iterator |
Protected Member Functions |
void | incRef () |
| Increment reference count.
|
void | decRef () |
| Decrement reference count.
|
void | prepare () |
| Prepare federation for modification.
|
iterator | beginMutable () |
| Returns a mutable iterator to the beginning of the federation.
|
iterator | endMutable () |
| Returns a mutable iterator to the end of the federation.
|
iterator | erase (iterator) |
| Erases a DBM from the federation and returns an itertor to the successor element.
|
void | add (const PDBM pdbm, size_t dim) |
| Adds pdbm to the federation.
|
Protected Attributes |
pfed_s * | ptr |
| Pointer to record holding the federation.
|
Static Protected Attributes |
static std::allocator< pfed_s > | alloc |
Classes |
struct | pfed_s |
Priced federations implement copy on write using reference counting.