|
Public Member Functions |
| | fed_t (cindex_t dim=1) |
| | Initialize a fed_t to empty federation of a given dimension.
|
| | fed_t (const fed_t &arg) |
| | Standard copy constructor.
|
| | fed_t (const dbm_t &arg) |
| | Wrap a DBM in a federation.
|
| | fed_t (const raw_t *arg, cindex_t dim) |
| | Copy a DBM matrix in a federation.
|
| | ~fed_t () |
| size_t | size () const |
| cindex_t | getDimension () const |
| void | setDimension (cindex_t dim) |
| | Change the dimension of this federation.
|
| bool | isEmpty () const |
| void | setEmpty () |
| | Empty this federation.
|
| void | nil () |
| | Short for setDimension(1), has the effect of deallocating the DBMs.
|
| bool | hasZero () const |
| std::string | toString (const ClockAccessor &) const |
| int32_t | getUpperMinimumCost (int cost) const |
| | Computes the biggest lower cost in the zone.
|
| int32_t | getInfimum () const |
| | Only for compatibility with priced federations.
|
| uint32_t | hash (uint32_t seed=0) const |
| bool | sameAs (const fed_t &arg) const |
| void | intern () |
| | Try to share the DBMs. Side-effect: affects all copies of this fed_t.
|
| fed_t & | operator= (const fed_t &) |
| | Overload of standard operators.
|
| fed_t & | operator= (const dbm_t &) |
| fed_t & | operator= (const raw_t *) |
| bool | operator== (const fed_t &) const |
| | Comparisons have the semantics of set inclusion.
|
| bool | operator== (const dbm_t &) const |
| bool | operator== (const raw_t *) const |
| bool | operator!= (const fed_t &) const |
| bool | operator!= (const dbm_t &) const |
| bool | operator!= (const raw_t *) const |
| bool | operator< (const fed_t &) const |
| bool | operator< (const dbm_t &) const |
| bool | operator< (const raw_t *) const |
| bool | operator> (const fed_t &) const |
| bool | operator> (const dbm_t &) const |
| bool | operator> (const raw_t *) const |
| bool | operator<= (const fed_t &) const |
| bool | operator<= (const dbm_t &) const |
| bool | operator<= (const raw_t *) const |
| bool | operator>= (const fed_t &) const |
| bool | operator>= (const dbm_t &) const |
| bool | operator>= (const raw_t *) const |
| relation_t | relation (const fed_t &arg) const |
| | Relation (wrt inclusion, approximate).
|
| relation_t | relation (const dbm_t &arg) const |
| relation_t | relation (const raw_t *arg, cindex_t dim) const |
| bool | isSupersetEq (const raw_t *arg, cindex_t dim) const |
| | Specialized relation test: >= arg (approximate).
|
| bool | eq (const fed_t &arg) const |
| | Exact (expensive) relations.
|
| bool | eq (const dbm_t &arg) const |
| bool | eq (const raw_t *arg, cindex_t dim) const |
| bool | lt (const fed_t &arg) const |
| bool | lt (const dbm_t &arg) const |
| bool | lt (const raw_t *arg, cindex_t dim) const |
| bool | gt (const fed_t &arg) const |
| bool | gt (const dbm_t &arg) const |
| bool | gt (const raw_t *arg, cindex_t dim) const |
| bool | le (const fed_t &arg) const |
| bool | le (const dbm_t &arg) const |
| bool | le (const raw_t *arg, cindex_t dim) const |
| bool | ge (const fed_t &arg) const |
| bool | ge (const dbm_t &arg) const |
| bool | ge (const raw_t *arg, cindex_t dim) const |
| relation_t | exactRelation (const fed_t &arg) const |
| relation_t | exactRelation (const dbm_t &arg) const |
| relation_t | exactRelation (const raw_t *arg, cindex_t dim) const |
| fed_t & | setZero () |
| | Set this federation to zero (origin).
|
| fed_t & | setInit () |
| | (re-)initialize the federation with no constraint.
|
| fed_t & | convexHull () |
| | Convex union of its DBMs.
|
| fed_t & | operator|= (const fed_t &) |
| | (Set) union operator (|).
|
| fed_t & | operator|= (const dbm_t &) |
| fed_t & | operator|= (const raw_t *) |
| fed_t & | unionWith (fed_t &arg) |
| | Union of 2 fed_t.
|
| fed_t & | unionWithC (fed_t arg) |
| fed_t & | add (const fed_t &arg) |
| | Simply add (list concatenation) DBMs to this federation.
|
| fed_t & | add (const dbm_t &arg) |
| fed_t & | add (const raw_t *arg, cindex_t dim) |
| fed_t & | append (fed_t &arg) |
| | Append arg to 'this',.
|
| fed_t & | appendC (fed_t arg) |
| void | append (fdbm_t *arg) |
| fed_t & | operator+= (const fed_t &) |
| | Convex union operator (+).
|
| fed_t & | operator+= (const dbm_t &) |
| fed_t & | operator+= (const raw_t *) |
| fed_t & | operator &= (const fed_t &) |
| | Intersection and constraint operator (&).
|
| fed_t & | operator &= (const dbm_t &) |
| fed_t & | operator &= (const raw_t *) |
| fed_t & | operator &= (const constraint_t &) |
| fed_t & | operator &= (const base::pointer_t< constraint_t > &) |
| fed_t & | operator &= (const std::vector< constraint_t > &) |
| fed_t & | operator-= (const fed_t &) |
| | (Set) subtraction operator (-).
|
| fed_t & | operator-= (const dbm_t &) |
| fed_t & | operator-= (const raw_t *) |
| bool | constrain (cindex_t i, int32_t value) |
| | Methods for constraining: with one or more constraints.
|
| bool | constrain (cindex_t i, cindex_t j, raw_t c) |
| bool | constrain (cindex_t i, cindex_t j, int32_t b, strictness_t s) |
| bool | constrain (cindex_t i, cindex_t j, int32_t b, bool isStrict) |
| bool | constrain (const constraint_t &c) |
| bool | constrain (const constraint_t *c, size_t n) |
| bool | constrain (const cindex_t *table, const constraint_t *c, size_t n) |
| bool | constrain (const cindex_t *table, const base::pointer_t< constraint_t > &) |
| bool | constrain (const cindex_t *table, const std::vector< constraint_t > &) |
| bool | intersects (const fed_t &) const |
| bool | intersects (const dbm_t &) const |
| bool | intersects (const raw_t *, cindex_t dim) const |
| fed_t & | up () |
| | Delay (strongest post-condition) for all the DBMs.
|
| fed_t & | down () |
| | Inverse delay (weakest pre-condition) for all the DBMs.
|
| fed_t & | freeClock (cindex_t clock) |
| | Free clock (unconstraint) for all the DBMs.
|
| fed_t & | freeUp (cindex_t clock) |
| | Free upper or lower bounds only for a particular clock or for all clocks.
|
| fed_t & | freeDown (cindex_t clock) |
| fed_t & | freeAllUp () |
| fed_t & | freeAllDown () |
| void | updateValue (cindex_t x, int32_t v) |
| | Update methods where x & y are clocks, v an integer value.
|
| void | updateClock (cindex_t x, cindex_t y) |
| void | updateIncrement (cindex_t x, int32_t v) |
| void | update (cindex_t x, cindex_t y, int32_t v) |
| bool | satisfies (cindex_t i, cindex_t j, raw_t c) const |
| bool | satisfies (const constraint_t &c) const |
| bool | operator && (const constraint_t &c) const |
| bool | isUnbounded () const |
| fed_t & | relaxUp () |
| | Make upper or lower finite bounds non strict for all the DBMs.
|
| fed_t & | relaxDown () |
| fed_t & | relaxUpClock (cindex_t clock) |
| | Similar for all bounds of a particular clock for all the DBMs.
|
| fed_t & | relaxDownClock (cindex_t clock) |
| fed_t & | relaxAll () |
| | Make all constraints (except infinity) non strict for all the DBMs.
|
| fed_t & | reduce () |
| | Remove redundant DBMs (if included in ONE other DBM).
|
| fed_t & | noReduce () |
| | This method is useful only for experiments.
|
| fed_t & | expensiveReduce () |
| | Remove redundant DBMs (if included in the UNION of the other DBMs).
|
| fed_t & | mergeReduce () |
| | Try to merge DBMs by pairs.
|
| fed_t & | convexReduce () |
| | Use a heuristic to recompute parts of the federation as part=convexHull(part)-(convexHull(part)-part).
|
| fed_t & | expensiveConvexReduce () |
| | Try to replace this by convexHull(this)-(convexHull(this)-this).
|
| fed_t & | partitionReduce () |
| | Find partitions in the federation and reduce them separately.
|
| bool | contains (const IntValuation &point) const |
| bool | contains (const int32_t *point, cindex_t dim) const |
| bool | contains (const DoubleValuation &point) const |
| bool | contains (const double *point, cindex_t dim) const |
| double | possibleBackDelay (const DoubleValuation &point) const |
| double | possibleBackDelay (const double *point, cindex_t dim) const |
| bool | delay (const DoubleValuation &point, double *t) const |
| | Compute the 'almost min' necessary delay from a point to enter this federation.
|
| bool | delay (const double *point, cindex_t dim, double *t) const |
| void | extrapolateMaxBounds (const int32_t *max) |
| | Extrapolations:.
|
| void | diagonalExtrapolateMaxBounds (const int32_t *max) |
| void | extrapolateLUBounds (const int32_t *lower, const int32_t *upper) |
| void | diagonalExtrapolateLUBounds (const int32_t *lower, const int32_t *upper) |
| void | splitExtrapolate (const constraint_t *begin, const constraint_t *end, const int32_t *max) |
| | "Split-extrapolation".
|
| void | resize (const uint32_t *bitSrc, const uint32_t *bitDst, size_t bitSize, cindex_t *table) |
| | Resize all the DBMs of this federation,.
|
| void | changeClocks (const cindex_t *target, cindex_t newDim) |
| | Resize and change clocks of all the DBMs of this federation.
|
| void | swapClocks (cindex_t x, cindex_t y) |
| | Swap clocks x and y.
|
| DoubleValuation & | getValuation (DoubleValuation &cval, bool *freeC=NULL) const throw (std::out_of_range) |
| | Get a clock valuation and change only the clocks that are marked free.
|
| fed_t & | predt (const fed_t &bad) |
| | predt operation: temporal predecessor of this federation avoiding 'bad'.
|
| fed_t & | predt (const dbm_t &bad) |
| fed_t & | predt (const raw_t *bad, cindex_t dim) |
| bool | isIncludedInPredt (const fed_t &good, const fed_t &bad) const |
| bool | has (const dbm_t &arg) const |
| | Identify test to know if this federation has a specific DBM.
|
| bool | has (const raw_t *arg, cindex_t dim) const |
| bool | hasSame (const dbm_t &arg) const |
| | Similar but test with exact same dbm_t.
|
| void | removeIncludedIn (const fed_t &arg) |
| | Remove the DBMs that are included in DBMs of arg (pair-wise inclusion checking).
|
| bool | removeIncludedIn (const dbm_t &arg) |
| bool | removeIncludedIn (const raw_t *arg, cindex_t dim) |
| | fed_t (const ClockOperation< fed_t > &op) |
| | Special constructor to copy the result of a pending operation.
|
| ClockOperation< fed_t > | operator() (cindex_t clk) |
| | Overload of operator (): () or (i,j) make no sense here.
|
| bool | isSubtractionEmpty (const raw_t *arg, cindex_t dim) const |
| bool | isSubtractionEmpty (const dbm_t &arg) const |
| bool | isSubtractionEmpty (const fed_t &arg) const |
| void | removeEmpty () |
| | Clean-up the federation of its empty dbm_t.
|
| bool | hasEmpty () const |
| const_iterator | begin () const |
| | Access to iterators.
|
| const const_iterator | end () const |
| iterator | beginMutable () |
| const iterator | endMutable () const |
| iterator | erase (iterator &iter) |
| size_t | write (fdbm_t **mem) |
| | Dump its list of ifed_t and reload them.
|
| void | read (fdbm_t **fed, size_t size) |
| | Symmetric: read.
|
| const dbm_t & | const_dbmt () const |
| bool | removeThisDBM (const dbm_t &dbm) |
| | Remove a dbm_t from this fed_t.
|
| void | setMutable () |
| | Ensure this ifed_t is mutable.
|
Static Public Member Functions |
| static bool | isSubtractionEmpty (const raw_t *dbm, cindex_t dim, const fed_t &fed) |
| static fed_t | subtract (const raw_t *arg1, const raw_t *arg2, cindex_t dim) |
| | Subtract DBM arg1 - DBM arg2 wrapper function.
|
| static fed_t | subtract (const dbm_t &arg1, const raw_t *arg2, cindex_t dim) |
Private Member Functions |
| | fed_t (ifed_t *ifed) |
| ifed_t * | ifed () |
| const ifed_t * | ifed () const |
| bool | isMutable () const |
| | Call-backs to ifed_t.
|
| bool | isOK () const |
| void | incRef () const |
| void | decRef () const |
| void | decRefImmutable () const |
| dbm_t & | dbmt () |
| void | toArray (const raw_t **ar) const |
| | Convert its linked list to an array.
|
| void | ptr_subtract (const raw_t *arg, cindex_t dim) |
| | Internal subtraction implemention (*this - arg).
|
| relation_t | ptr_relation (const raw_t *arg, cindex_t dim) const |
| | Similarly with a DBM.
|
Private Attributes |
| ifed_t * | ifedPtr |
Classes |
| class | const_iterator |
| | Const iterator -> iterate though dbm_t. More...
|
| class | iterator |
| | Mutable iterator -> iterate though dbm_t. More...
|