|
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 |