|
Functions |
DBMList_t * | dbmf_internAllocate (DBMAllocator_t *factory) |
| Allocate DBMs with the factory.
|
void | dbmf_internDeallocateList (DBMAllocator_t *factory, DBMList_t *dbmList) |
| Give back a LIST of DBMs to its factory.
|
BOOL | dbmf_internCheckFactory (const DBMAllocator_t *factory) |
void | dbmf_clearFactory (DBMAllocator_t *factory) |
| Clear a factory.
|
BOOL | dbmf_hasDBM (const DBMList_t *fed, const raw_t *dbm, cindex_t dim) |
| Test if a federation has a particular DBM.
|
size_t | dbmf_getSize (const DBMList_t *dbmList) |
| Size of a federation.
|
void | dbmf_cleanUp (DBMFederation_t *fed, DBMAllocator_t *factory) |
| Clean up the federation from empty DBMs.
|
int | dbmf_copy (DBMFederation_t *dst, const DBMFederation_t src, DBMAllocator_t *factory) |
| Copy a federation.
|
DBMFederation_t | dbmf_copyDBM (const raw_t *dbm, cindex_t dim, DBMAllocator_t *factory) |
| Copy a DBM to a federation.
|
DBMList_t * | dbmf_copyDBM2List (const raw_t *dbm, cindex_t dim, DBMAllocator_t *factory) |
| Copy a DBM to a DBMList_t.
|
static DBMList_t * | dbmf_validCopyDBM2List (const raw_t *dbm, cindex_t dim, BOOL *valid, DBMAllocator_t *factory) |
| Internal function: another way to copy and to use *valid instead of a null return code.
|
DBMList_t * | dbmf_copyDBMList (const DBMList_t *dbmList, cindex_t dim, BOOL *valid, DBMAllocator_t *factory) |
| Copy a list of DBMs.
|
int | dbmf_addZero (DBMFederation_t *fed, DBMAllocator_t *factory) |
| Add to the federation 1 DBM that contains only 0.
|
int | dbmf_addInit (DBMFederation_t *fed, DBMAllocator_t *factory) |
| Add to the federation 1 DBM that is not constrained (all clocks >= 0, that's all).
|
BOOL | dbmf_union (DBMFederation_t *fed, DBMList_t *dbmList, DBMAllocator_t *factory) |
| Union of a list of DBMs and a federation: add DBMs to the federation.
|
BOOL | dbmf_unionWithCopy (DBMFederation_t *fed, const DBMList_t *dbmList, DBMAllocator_t *factory, BOOL *valid) |
| Union of a list of DBMs and a federation: add DBMs to the federation.
|
void | dbmf_convexUnion (raw_t *dbm, cindex_t dim, const DBMList_t *dbmList) |
| Computes the convex hull union between one DBM and a list of DBMs: dbm = dbm + list of dbm.
|
void | dbmf_convexUnionWithSelf (DBMFederation_t *fed, DBMAllocator_t *factory) |
| Computes the convex hull union from all the DBMs of a federation.
|
DBMList_t * | dbmf_intersection (const raw_t *dbm, cindex_t dim, const DBMList_t *dbmList, BOOL *valid, DBMAllocator_t *factory) |
| Computes the intersection between one DBM and a list of DBMs = dbm intersec list of dbm.
|
DBMList_t * | dbmf_intersectionWithFederation (const DBMList_t *fed1, const DBMList_t *fed2, cindex_t dim, BOOL *valid, DBMAllocator_t *factory) |
| Computes the intersection between 2 federations.
|
BOOL | dbmf_intersectsDBM (DBMFederation_t *fed, const raw_t *dbm, DBMAllocator_t *factory) |
| Computes the intersection between one DBM and a federation.
|
int | dbmf_intersectsFederation (DBMFederation_t *fed1, const DBMList_t *fed2, DBMAllocator_t *factory) |
| Computes the intersection between one federation and a federation.
|
BOOL | dbmf_DBMsHaveIntersection (const DBMList_t *dbmList, const raw_t *dbm, cindex_t dim) |
| Test if a list of DBMs and a DBM have an intersection.
|
void | dbmf_constrainN (DBMFederation_t *fed, const constraint_t *constraints, size_t n, DBMAllocator_t *factory) |
| Constrain a federation with several constraints.
|
void | dbmf_constrainIndexedN (DBMFederation_t *fed, const cindex_t *indexTable, const constraint_t *constraints, size_t n, DBMAllocator_t *factory) |
| Constrain a federation with several constraints using an index table to translate constraint indices to DBM indices.
|
void | dbmf_constrain1 (DBMFederation_t *fed, cindex_t i, cindex_t j, raw_t constraint, DBMAllocator_t *factory) |
| Constrain a federation with one constraint constraint1 once is cheaper than constrainN with 1 constraintN with n > 1 is cheaper than constrain1 n times.
|
void | dbmf_up (DBMFederation_t fed) |
| Up/delay operation (strongest post-condition).
|
void | dbmf_down (DBMFederation_t fed) |
| Down operation (weakest pre-condition).
|
void | dbmf_reduce (DBMFederation_t *fed, DBMAllocator_t *factory) |
| Reduce a federation: remove DBMs that are included in other DBMs of the same federation.
|
int | dbmf_expensiveReduce (DBMFederation_t *fed, DBMAllocator_t *factory) |
| Reduce a federation: remove DBMs that are redundant.
|
void | dbmf_freeClock (DBMFederation_t fed, cindex_t clock) |
| Free operation: remove all constraints for a given clock.
|
void | dbmf_updateValue (DBMFederation_t fed, cindex_t clock, int32_t value) |
| Update a clock value: x := value.
|
void | dbmf_updateClock (DBMFederation_t fed, cindex_t x, cindex_t y) |
| Copy a clock: x := y.
|
void | dbmf_updateIncrement (DBMFederation_t fed, cindex_t clock, int32_t value) |
| Increment a clock: x += value.
|
void | dbmf_update (DBMFederation_t fed, cindex_t x, cindex_t y, int32_t value) |
| General update: x := x + value.
|
BOOL | dbmf_satisfies (const DBMFederation_t fed, cindex_t i, cindex_t j, raw_t constraint) |
| Check if a federation satisfies a constraint.
|
BOOL | dbmf_isUnbounded (const DBMFederation_t fed) |
| Test if a federation is unbounded, ie, if one of its DBM is unbounded.
|
relation_t | dbmf_partialRelation (const raw_t *dbm, const DBMFederation_t fed) |
| Partial relation between one DBM and a federation: apply the relation to all the DBMs of a federation.
|
BOOL | dbmf_isIncludedIn (const raw_t *dbm, const DBMList_t *dbmList, cindex_t dim) |
| Test if a DBM is included in a list of DBMs.
|
BOOL | dbmf_areDBMsIncludedIn (const DBMList_t *l1, const DBMList_t *l2, cindex_t dim) |
| Test if all the DBMs of l1 are included in some DBMs of l2.
|
BOOL | dbmf_areDBMsReallyIncludedIn (const DBMList_t *l1, const DBMFederation_t l2, BOOL *valid, DBMAllocator_t *factory) |
| Test if all the DBMs of l1 are included semantically in l2.
|
BOOL | dbmf_removePartialIncluded (DBMFederation_t *fed, const DBMList_t *arg, DBMAllocator_t *factory) |
| Remove DBMs of fed that are (partially) included in arg.
|
relation_t | dbmf_relation (const raw_t *dbm, const DBMFederation_t fed, BOOL *valid, DBMAllocator_t *factory) |
| Relation between one DBM and a federation.
|
void | dbmf_stretchUp (DBMFederation_t fed) |
| Stretch-up operation for approximation.
|
void | dbmf_stretchDown (DBMFederation_t fed, cindex_t clock) |
| Stretch-down operation for approximation.
|
void | dbmf_microDelay (DBMFederation_t fed) |
| Smallest possible delay.
|
BOOL | dbmf_areEqual (const DBMFederation_t fed1, const DBMFederation_t fed2, BOOL *valid, DBMAllocator_t *factory) |
| Test semantic equality.
|
BOOL | dbmf_isPointIncluded (const int32_t *pt, const DBMFederation_t fed) |
| Check if a discrete point is included in a federation.
|
BOOL | dbmf_isRealPointIncluded (const double *pt, const DBMFederation_t fed) |
| Check if a real point is included in a federation.
|
static BOOL | dbmf_isSubstractEqualToIdentity (const raw_t *dbm1, const raw_t *dbm2, cindex_t dim, const uint32_t *bitMatrix, size_t nbConstraints) |
static DBMList_t * | dbmf_internSubstractDBMFromDBM (const raw_t *dbm1, const raw_t *dbm2, cindex_t dim, BOOL *valid, DBMAllocator_t *factory, const uint32_t *bits, size_t nbConstraints) |
DBMList_t * | dbmf_substractDBMFromDBM (const raw_t *dbm1, const raw_t *dbm2, cindex_t dim, BOOL *valid, DBMAllocator_t *factory) |
| Substraction operation: computes C = A - B.
|
DBMFederation_t | dbmf_substractDBMFromFederation (const DBMFederation_t fed, const raw_t *dbm, BOOL *valid, DBMAllocator_t *factory) |
| Substraction operation: computes C = A - B.
|
DBMFederation_t | dbmf_substractFederationFromFederation (const DBMFederation_t fed1, const DBMFederation_t fed2, BOOL *valid, DBMAllocator_t *factory) |
| Substraction operation: computes C = A - B.
|
DBMList_t * | dbmf_substractFederationFromDBM (const raw_t *dbm, const DBMFederation_t fed, BOOL *valid, DBMAllocator_t *factory) |
| Substraction operation: computes C = A - B.
|
int | dbmf_substractDBM (DBMFederation_t *fed, const raw_t *dbm, DBMAllocator_t *factory) |
| Substraction operation: computes A = A - B.
|
int | dbmf_substractFederation (DBMFederation_t *fed1, const DBMList_t *toSubstract, DBMAllocator_t *factory) |
| Substraction operation: computes A = A - B.
|
BOOL | simpleBad (const raw_t *good, const raw_t *bad, cindex_t dim, DBMList_t **toSubtract, BOOL *valid, DBMAllocator_t *factory) |
int | dbmf_predt (DBMFederation_t *goodF, DBMFederation_t *badF, DBMAllocator_t *factory) |
| Operation similar to down but constrained: predecessors of fed avoiding the states that could reach bad.
|
void | dbmf_shrinkExpand (DBMFederation_t *fed, const uint32_t *bitSrc, const uint32_t *bitDst, size_t bitSize, cindex_t *table, DBMAllocator_t *factory) |
| Similarly, on federations.
|
void | dbmf_extrapolateMaxBounds (DBMFederation_t fed, const int32_t *max) |
| Classical extrapolation based on maximal bounds, formerly called k-normalization.
|
void | dbmf_diagonalExtrapolateMaxBounds (DBMFederation_t fed, const int32_t *max) |
| Diagonal extrapolation based on maximal bounds.
|
void | dbmf_extrapolateLUBounds (DBMFederation_t fed, const int32_t *lower, const int32_t *upper) |
| Extrapolation based on lower-upper bounds.
|
void | dbmf_diagonalExtrapolateLUBounds (DBMFederation_t fed, const int32_t *lower, const int32_t *upper) |
| Diagonal extrapolation based on lower-upper bounds.
|
Variables |
int | allocatedhop |