-
ddi.h
- External header file
-
ddiInt.h
- Internal header file
-
ddiArray.c
- Internal Functions for array manipulations
-
ddiBdd.c
- Functions working on Boolean functions (Ddi_Bdd_t)
-
ddiBddarray.c
- Functions to manage arrays of BDDs
-
ddiExpr.c
- Functions working on Expressions (Ddi_Expr_t)
-
ddiGeneric.c
- Functions working on generic DDI type Ddi_Generic_t
-
ddiMeta.c
- Functions working on Meta BDDs
-
ddiMgr.c
- Functions to deal with DD Managers
-
ddiNew.c
- Utility Functions
-
ddiUtil.c
- utility functions
-
ddiVar.c
- Functions to manipulate BDD variables
-
ddiVararray.c
- Functions to manage arrays of variables
-
ddiVarset.c
- Functions to manage sets of variables
-
ddiVarsetarray.c
- Functions to manage arrays of Varsetss
ddi.h
External header file
By: Gianpiero Cabodi and Stefano Quer
-
()
- Read handle code.
-
()
- Read the DDI Manager field.
-
()
- Read the name field.
-
()
- Compute Operation generating a BDD (Ddi_Bdd_t).
-
()
- Compute Operation on all entries of an Array of BDDs.
-
()
- Free DDI node.
-
()
- Lock DDI node.
-
()
- Unlock DDI node.
-
()
- Set name field of DDI node
-
()
- Read name field of DDI node
ddiInt.h
Internal header file
By: Gianpiero Cabodi and Stefano Quer
ddiArray.c
Internal Functions for array manipulations
By: Gianpiero Cabodi and Stefano Quer
Arrays of ddi objects (Boolean functions, variables, ...)
are implemented using the generic ddi
-
DdiArrayAlloc()
- Allocate a new array
-
DdiArrayFree()
- Frees a DDI array
-
DdiArrayToCU()
- Generate an array of pointers to CUDD nodes
-
DdiArrayWrite()
- Write in array at i-th position
-
DdiArrayInsert()
- Insert in array at i-th position
-
DdiArrayRead()
- Reads i-th element array
-
DdiArrayExtract()
- Extracts i-th element array
-
DdiArrayNum()
- Returns the number of elements of the array
-
DdiArrayDup()
- Duplicate an array.
-
DdiArrayCopy()
- Copy a BDD array to a destination manager.
-
DdiArrayAppend()
- Append array2 at the end of array1
-
DdiArrayStore()
- Writes array of BDDs in a dump file
-
ArrayResize()
- Resize a DDI array
ddiBdd.c
Functions working on Boolean functions (Ddi_Bdd_t)
By: Gianpiero Cabodi and Stefano Quer
Functions working on Boolean functions represented by the
Ddi_Bdd_t type. Type Ddi_Bdd_t is used for BDDs in monolitic,
partitioned (conjunctive/disjunctive) and metaBDD formats.
Internally, functions are implemented using handles (wrappers) pointing
to BDD roots. Externally, they are accessed only by pointers.
Type Ddi_Bdd_t is cast to Ddi_Generic_t (generic DDI node) for internal
operations.
All the results obtained by operations are implicitly
allocated or referenced (CUDD nodes), so explicit freeing is required.
External procedures in this module include
- Basic Boolean operations: And, Or, ..., ITE
- Specific BDD operators: Constrain, Restrict
- Quantification operators: Exist, And-Exist (relational product)
- Comparison operators: Equality, Inclusion, Tautology checks
- Manipulation of (disjunctively and/or conjunctively)
partitioned BDDs: create, add/remove partitions,
- translation from/to CUDD BDDs.
- Dumping on file, based on the DDDMP format, distributed
with CUDD.
-
Ddi_BddMakeFromCU()
- Build a Ddi_Bdd_t from a given CUDD node.
-
Ddi_BddToCU()
- Convert a DDI function to the corresponding Cudd Node
-
Ddi_BddMakeLiteral()
- Generate a literal from a variable
-
Ddi_BddMakeConst()
- Generate a Ddi_Bdd_t constant node (BDD zero or one)
-
Ddi_BddMakePartConjFromMono()
- Build a conjunctively partitioned BDD from a monolithic BDD
-
Ddi_BddMakePartConjVoid()
- Build a conjunctively partitioned BDD with 0 partitions
-
Ddi_BddMakePartDisjVoid()
- Build a disjunctively partitioned BDD with 0 partitions
-
Ddi_BddMakePartDisjFromMono()
- Build a disjunctively partitioned BDD from a monolithic BDD
-
Ddi_BddMakePartConjFromArray()
- Build a conjunctively partitioned BDD from array of partitions
-
Ddi_BddMakePartDisjFromArray()
- Build a disjunctively partitioned BDD from array of BDDs
-
Ddi_BddSetPartConj()
- Convert a BDD to conjunctively partitioned (if required).
Result accumulated
-
Ddi_BddSetPartDisj()
- Convert a BDD to disjunctively partitioned (if required).
Result accumulated
-
Ddi_BddRelMakeFromArray()
- Generate a Ddi_Bdd_t relation from array of functions
-
Ddi_BddDup()
- Duplicate a Ddi_Bdd_t
-
Ddi_BddCopy()
- Copy a Ddi_Bdd_t to a destination DDI manager
-
Ddi_BddSize()
- Return BDD size (total amount of BDD nodes) of f
-
Ddi_BddTopVar()
- Return the top BDD variable of f
-
Ddi_BddEvalFree()
- Evaluate expression and free BDD node
-
Ddi_BddEqual()
- Return true (non 0) if the two DDs are equal (f==g).
-
Ddi_BddIsZero()
- Return true (non 0) if f is the zero constant.
-
Ddi_BddIsOne()
- Return true (non 0) if f is the one constant.
-
Ddi_CountMinterm()
- Check for inclusion (f in g). Return non 0 if true
-
Ddi_BddIncluded()
- Check for inclusion (f in g). Return non 0 if true
-
Ddi_BddNot()
- Boolean NOT. New result is generated
-
Ddi_BddNotAcc()
- Boolean NOT. Result is accumulated
-
Ddi_BddAnd()
- Boolean AND. New result is generated
-
Ddi_BddAndAcc()
- Boolean AND. Result is accumulated
-
Ddi_BddDiff()
- Boolean difference (f & !g). New result is generated
-
Ddi_BddDiffAcc()
- Boolean difference (f & !g). Result is accumulated
-
Ddi_BddNand()
- Boolean NAND (!(f&g)). New result is generated
-
Ddi_BddNandAcc()
- Boolean NAND (!(f&g)). New result is accumulated
-
Ddi_BddOr()
- Boolean OR (f|g). New result is generated
-
Ddi_BddOrAcc()
- Boolean OR (f|g). New result is accumulated
-
Ddi_BddNor()
- Boolean NOR (!(f|g)). New result is generated
-
Ddi_BddNorAcc()
- Boolean NOR (!(f|g)). New result is accumulated
-
Ddi_BddXor()
- Boolean XOR (f^g). New result is generated
-
Ddi_BddXorAcc()
- Boolean XOR (f^g). New result is accumulated
-
Ddi_BddXnor()
- Boolean XNOR (!(f^g)). New result is generated
-
Ddi_BddXnorAcc()
- Boolean XNOR (!(f^g)). New result is accumulated
-
Ddi_BddIte()
- If-Then-Else (ITE(f,g,h)). New result is generated
-
Ddi_BddIteAcc()
- If-Then-Else (ITE(f,g,h)). New result is accumulated
-
Ddi_BddExist()
- Existential abstraction. New result is generated
-
Ddi_BddExistAcc()
- Existential abstraction. New result is accumulated
-
Ddi_BddForall()
- Universal abstraction. New result is generated
-
Ddi_BddForallAcc()
- Universal abstraction. New result is accumulated
-
Ddi_BddAndExist()
- Relational product (Exist(f&g,vars)). New result is generated
-
Ddi_BddAndExistAcc()
- Relational product (Exist(f&g,vars)). New result is accumulated
-
Ddi_BddConstrain()
- Constrain cofactor. New result is generated
-
Ddi_BddConstrainAcc()
- Constrain cofactor. New result is accumulated
-
Ddi_BddRestrict()
- Restrict cofactor. New result is generated
-
Ddi_BddRestrictAcc()
- Restrict cofactor. New result is accumulated
-
Ddi_BddCofexist()
- Cofexist cofactor. New result is generated
-
Ddi_BddCproject()
- Compatible projector. New result is generated
-
Ddi_BddCprojectAcc()
- Compatible projector. New result is accumulated
-
Ddi_BddSwapVars()
- Swap x and y variables in f. New result is generated
-
Ddi_BddSwapVarsAcc()
- Swap x and y variables in f. Result is accumulated
-
Ddi_BddPickOneCube()
- Pick one random on-set cube. Result is generated
-
Ddi_BddPickOneCubeAcc()
- Pick one random on-set cube. Result is accumulated
-
Ddi_BddPickOneMinterm()
- Pick one random on-set minterm. Result is generated
-
Ddi_BddPickOneMintermAcc()
- Pick one random on-set minterm. Result is accumulated
-
Ddi_BddSupp()
- Support of f. New result is generated
-
Ddi_BddSuppAttach()
- Attach support of f to f. Return pointer to f
-
Ddi_BddSuppRead()
- Read the support attached to a Bdd.
-
Ddi_BddSuppDetach()
- Detach (and free) support attached to f. Return pointer to f
-
Ddi_BddIsMono()
- Return true (non 0) if f is a monolithic BDD.
-
Ddi_BddIsPartConj()
- Return true (non 0) if f is a conjunctively partitioned BDD.
-
Ddi_BddIsPartDisj()
- Return true (non 0) if f is a disjunctively partitioned BDD.
-
Ddi_BddPartNum()
- Read the number of partitions (conj/disj).
-
Ddi_BddPartRead()
- Read the i-th partition (conj/disj) of f.
-
Ddi_BddPartWrite()
- Write i-th partition. Result accumulated
-
Ddi_BddPartExtract()
- Return the i-th partition (conj/disj), and remove it from f.
-
Ddi_BddPartInsert()
- Add i-th partition. Result accumulated
-
Ddi_BddPartInsertLast()
- Add last partition. Result accumulated
-
Ddi_BddMakeMono()
- Create a monolithic BDD from a partitioned one
-
Ddi_BddSetMono()
- Convert a BDD to monolitic (if required). Result accumulated
-
Ddi_BddPrint()
- Prints a BDD
-
Ddi_BddPrintStats()
- Prints Statistics of a BDD
-
Ddi_BddPrintCubes()
- Outputs the cubes of a BDD on file
-
Ddi_BddStore()
- Stores BDD on file
-
Ddi_BddLoad()
- Loads BDD from file
-
Ddi_BddDenseSet()
- Compute the Dense Super or Subset of a Boolean functions
ddiBddarray.c
Functions to manage arrays of BDDs
By: Gianpiero Cabodi and Stefano Quer
The basic manipulation allowed for BDD arrays are:
- alloc, make, free arrays
- write, read, clear, insert, extract, remove array entries
- duplicate, copy, append
- store and load to/from file
For each element of array can be apply any boolean operator
as AND,OR,XOR,XNOR,Restrict and Constrain.
-
Ddi_BddarrayAlloc()
- Allocate a new array of BDDs
-
Ddi_BddarrayMakeFromCU()
- Generate a BDD array from CUDD BDDs
-
Ddi_BddarrayToCU()
- Generate an array of pointers to CUDD nodes
-
Ddi_BddarrayMakeFromBddPart()
- Generate a BDD array from partitions of partitioned BDD
-
Ddi_BddarrayNum()
- Return the number of BDDs (entries) in array
-
Ddi_BddarrayWrite()
- Write a BDD in array at given position
-
Ddi_BddarrayRead()
- Read the BDD at i-th position in array
-
Ddi_BddarrayClear()
- clear array at given position (BDD freed and replaced by NULL)
-
Ddi_BddarrayInsert()
- Insert a BDD in array at given position
-
Ddi_BddarrayInsertLast()
- Insert a BDD in array at last (new) position
-
Ddi_BddarrayExtract()
- Extract the BDD at i-th position in array
-
Ddi_BddarrayRemove()
- Remove array entry at given position
-
Ddi_BddarrayDup()
- Duplicate an array of BDDs
-
Ddi_BddarrayCopy()
- Copy an array of BDDs to a destination manager
-
Ddi_BddarrayAppend()
- Append the elements of array2 at the end of array1
-
Ddi_BddarraySize()
- Return the number of BDD nodes in a BDD array
-
Ddi_BddarrayStore()
- Writes array of BDDs in a dump file
-
Ddi_BddarrayLoad()
- Reads array of BDDs from a dump file
-
Ddi_BddarraySupp()
- Return the support of a BDD array
-
Ddi_BddarraySuppArray()
- OLD(pdt-1). Return a vector of supports of BDD array elements
ddiExpr.c
Functions working on Expressions (Ddi_Expr_t)
By: Gianpiero Cabodi and Stefano Quer
Functions working on Expressions (Ddi_Expr_t)
-
Ddi_ExprMakeFromBdd()
- Build a Ddi_Expr_t from a given BDD.
-
Ddi_ExprToBdd()
- Retrieve the Bdd associated to the expression
-
Ddi_ExprMakeFromString()
- Build a Ddi_Expr_t from a given string.
-
Ddi_ExprToString()
- Retrieve the string associated to the expression
-
Ddi_ExprCtlMake()
- Build a Ctl Ddi_Expr_t from given sub-expressions.
-
Ddi_ExprBoolMake()
- Build a Boolean Ddi_Expr_t from given sub-expressions.
-
Ddi_ExprWriteSub()
- Write operand sub-expression to expression at given position.
-
Ddi_ExprSubNum()
- Read the number of sub-expressions.
-
Ddi_ExprReadSub()
- Rear sub-expression at given position
-
Ddi_ExprReadOpcode()
- Read expression opcode
-
Ddi_ExprIsTerminal()
- Return true (non 0) if expression is terminal (Bdd or string).
-
Ddi_ExprLoad()
- Load EXPRESSION from file
-
Ddi_ExprDup()
- Duplicate a Ddi_Expr_t
-
Ddi_ExprPrint()
- Print a Ddi_Expr_t
ddiGeneric.c
Functions working on generic DDI type Ddi_Generic_t
By: Gianpiero Cabodi and Stefano Quer
-
Ddi_GenericOp()
- Compute generic operation. Result generated
-
Ddi_GenericOpAcc()
- Compute generic operation. Result accumulated
-
Ddi_GenericDup()
- Generic dup
-
Ddi_GenericLock()
- Lock DDI node.
-
Ddi_GenericUnlock()
- Unlock DDI node.
-
Ddi_GenericFree()
- Free the content of a generic DDI node
-
Ddi_GenericSetName()
- Set name field of DDI node
-
Ddi_GenericReadCode()
- called through Ddi_ReadCode.
-
Ddi_GenericReadMgr()
- called through Ddi_ReadMgr.
-
Ddi_GenericReadName()
- called through Ddi_ReadName.
-
DdiGenericAlloc()
- Allocate and initialize a new DDI block
-
DdiGenericFree()
- Free the content of a generic DDI node
-
DdiDeferredFree()
- Schedule free of a generic block
-
DdiGenericDup()
- Duplicate a DDI node
-
DdiGenericCopy()
- Copy a DDI node to a destination manager
-
DdiGenericDataCopy()
- Copy the content of a DDI node to another one
-
DdiGenericOp()
- Compute operation
-
DdiGenericBddSize()
- Compute BDD size
-
GenericFreeIntern()
- Frees a generic block
-
GenericDupIntern()
- Duplicate a DDI node
-
ArraySupp()
- Iterate operation on array entries (accumulate mode used)
-
ArrayOpIterate()
- Iterate operation on array entries (accumulate mode used)
-
GenBddRoots()
- Generate root pointers of leave BDDs for partitioned DDs
-
GenBddRootsRecur()
- Recursive step of root pointers generation
ddiMeta.c
Functions working on Meta BDDs
By: Gianpiero Cabodi and Stefano Quer
Functions working on Meta BDDs
-
DdiMetaFree()
- Free meta struct and pointed arrays: one, zero and dc.
-
DdiMetaDup()
- Duplicate meta struct
-
DdiMetaSupp()
- Return support of Meta BDD
-
DdiMetaDoCompl()
- Complement (not) meta BDD. Result accumulated
-
DdiMetaAndExistAcc()
- Operate And-Exist between Meta BDD and monolithic BDD
-
DdiMetaSwapVarsAcc()
- Operate variable swap
-
DdiMetaAndAcc()
- Operate And between two Meta BDDs
-
DdiMetaOrAcc()
- Operate Or between two Meta BDDs
-
Ddi_MetaActive()
- Return true if Meta handling active (Ddi_MetaInit done)
-
Ddi_MetaInit()
- Initialize Meta BDD handling in DDI manager
-
Ddi_MetaQuit()
- Close Meta BDD handling in DDI manager
-
Ddi_BddMakeMeta()
- Transform a BDD to Meta BDD. Result generated
-
Ddi_BddSetMeta()
- Transform a BDD to Meta BDD. Result accumulated
-
Ddi_BddarrayMakeMeta()
- Transform a BDD array to Meta BDD. Result generated
-
Ddi_BddArraySetMeta()
- Transform a BDD array to Meta BDD. Result accumulated
-
Ddi_BddMakeFromMeta()
- Transform a BDD to Meta BDD. Result generated
-
Ddi_BddFromMeta()
- Transform a BDD to Meta BDD. Result accumulated
-
MetaConvert()
- Transform between generic DDI node and Meta BDD.
Result accumulated
-
MetaConvertBdd()
- Conversion between BDD and Meta BDD
-
MetaFromMono()
- Transform a BDD to Meta BDD
-
MetaReduce()
- Apply bottom-up reduction process to meta BDD
-
MetaSimplify()
- Apply top-down cofactor based simplification
-
MetaSetConj()
- Apply top-down reduction of ones to bottom layer
-
MetaToMono()
- Transform a Meta BDD to monolitic BDD
-
MetaUpdate()
- Update Meta handling by calling Init
-
MetaLinearAndExistAcc()
- Operate And-Exist between Meta BDD and conj. part. BDD
-
MetaConstrainOpt()
- Optimized constrain cofactor.
ddiMgr.c
Functions to deal with DD Managers
By: Gianpiero Cabodi and Stefano Quer
-
DdiMgrCheckVararraySize()
- make checks and resizes arrays if required
-
DdiMgrGarbageCollect()
- Garbage collect freed nodes (handles) in manager node list
-
DdiMgrReadIntRef()
- Read the counter of internal references
-
DdiMgrMakeVarGroup()
- Create a variable group
-
Ddi_MgrInit()
- Creates a DdManager.
-
Ddi_MgrConsistencyCheck()
- make checks on DDI manager. Return 0 for failure
-
Ddi_MgrCheckExtRef()
- Check number of externally referenced DDI handles
-
Ddi_MgrPrintExtRef()
- print ids of external refs
-
Ddi_MgrUpdate()
- update DDI manager after directly working on CUDD manager
-
Ddi_MgrQuit()
- Close a DdManager.
-
Ddi_MgrDup()
- Creates a copy of a DdManager.
-
Ddi_MgrShuffle()
- Reorders all DDs in a manager.
-
Ddi_MgrAlign()
- Aligns the order of two managers.
-
Ddi_MgrCreateGroups2()
- Create groups of 2 variables
-
Ddi_MgrOrdWrite()
- Stores the variable ordering
-
Ddi_MgrReadOrdNamesAuxids()
- Reads the variable ordering
-
Ddi_MgrAutodynSuspend()
- Suspend autodyn if active.
-
Ddi_MgrAutodynResume()
- Resume autodyn if suspended.
-
Ddi_MgrOperation()
-
-
Ddi_MgrPrintStats()
- Prints on standard outputs statistics on a DD manager
-
Ddi_MgrReadMgrCU()
- Reads the Cudd Manager
-
Ddi_MgrReadOne()
- Reads one constant
-
Ddi_MgrReadZero()
- Reads zero constant
-
Ddi_MgrReadCurrNodeId()
- Reads currend node id field
-
Ddi_MgrReadVarnames()
- Reads the variable names
-
Ddi_MgrReadVarauxids()
- Reads the variable auxiliary ids
-
Ddi_MgrReadExtRef()
- Read the counter of external references
-
Ddi_MgrReadExtBddRef()
- Read the counter of external references to BDDs
-
Ddi_MgrReadExtBddarrayRef()
- Read the counter of external references to BDD arrays
-
Ddi_MgrReadExtVarsetRef()
- Read the counter of external references to varsets
-
Ddi_MgrReadDynordThresh()
- Returns the threshold for the next dynamic reordering.
-
Ddi_ReadDdiName()
- Returns the threshold for the next dynamic reordering.
-
Ddi_SetDdiName()
- Returns the threshold for the next dynamic reordering.
-
Ddi_MgrReadVerbosity()
- Read verbosity
-
Ddi_MgrSetVerbosity()
- Set verbosity
-
Ddi_MgrReadPeakProdLocal()
- Read peak product local
-
Ddi_MgrReadPeakProdGlobal()
- Read peak product global
-
Ddi_MgrPeakProdLocalReset()
- Reset peak product local
-
Ddi_MgrPeakProdUpdate()
- Update peak product stats
-
Ddi_MgrSetMgrCU()
- Sets the CUDD manager
-
Ddi_MgrSetOne()
- Sets the one constant
-
Ddi_MgrSetZero()
- Sets the zero constant
-
Ddi_MgrSetVarnames()
- Sets the names of variables
-
Ddi_MgrSetVarauxids()
- Sets the auxiliary variable ids
-
Ddi_MgrSetDynordThresh()
- Returns the threshold for the next dynamic reordering.
-
Ddi_ReadCacheSlots()
- Reads the number of slots in the cache.
-
Ddi_ReadCacheLookUps()
- Returns the number of cache look-ups.
-
Ddi_ReadCacheHits()
- Returns the number of cache hits.
-
Ddi_ReadMinHit()
- Reads the hit ratio that causes resizing of the computed
table.
-
Ddi_ReadMaxCacheHard()
- Reads the maxCacheHard parameter of the manager.
-
Ddi_ReadMaxCache()
- Returns the soft limit for the cache size.
-
Ddi_MgrPrintAllocStats()
- Print DDI manager allocation statistics
ddiNew.c
Utility Functions
By: Gianpiero Cabodi and Stefano Quer
-
Ddi_BddOperation()
-
-
Ddi_BddarrayOperation()
-
-
Ddi_ReadCube()
- Reads a cube from stdin
-
Ddi_ReadVarset()
- Reads a variable set from file
-
Ddi_VarSubst()
- The function does a substitution of variables of a BDD
-
Ddi_PrintVararray()
- Prints the indices of a Vararray
-
Ddi_PrintDdArray()
- Prints the size of each function in a DdArray
ddiUtil.c
utility functions
By: Gianpiero Cabodi and Stefano Quer
-
Ddi_ProfileHeuristicString2Enum()
- Given a string it Returns an Enumerated type
-
Ddi_ProfileHeuristicEnum2String()
- Given an Enumerated type Returns a string
-
Ddi_ReorderingMethodString2Enum()
- Given a string it Returns an Enumerated type
-
Ddi_ReorderingMethodEnum2String()
- Given an Enumerated type Returns a string
-
Ddi_DenseMethodString2Enum()
- Given a string it Returns an Enumerated type
-
Ddi_DenseMethodEnum2String()
- Given an Enumerated type Returns a string
-
Ddi_PrintCuddVersion()
- Returns the version of CUDD package
-
Ddi_BddPrintSupportAndCubes()
-
-
Ddi_BddarrayPrintSupportAndCubes()
-
ddiVar.c
Functions to manipulate BDD variables
By: Gianpiero Cabodi and Stefano Quer
-
DdiVarNewFromCU()
- Create a variable
-
Ddi_VarIndex()
- Return the variable index (CUDD variable index)
-
Ddi_IthVar()
- Return the variable of a given index
-
Ddi_VarAtLevel()
- Returns variable at a given level in the order
-
Ddi_VarNew()
- Create a new variable (generated within a CUDD manager)
-
Ddi_VarNewAtLevel()
- Returns a new variable at a given level in the order
-
Ddi_VarCurrPos()
- Return current position of var in variable order
-
Ddi_VarName()
- Return the name of a variable
-
Ddi_VarAttachName()
- Returns the variable name given the index
-
Ddi_VarAuxid()
- Return the variable auxid (-1 if auxids not defined)
-
Ddi_VarAttachAuxid()
- Set the variable auxid of a variable
-
Ddi_VarFromName()
- Search a variable given the name
-
Ddi_VarFromAuxid()
- Search a variable given the auxid
-
Ddi_VarToCU()
- Return the CUDD bdd node of a variable
-
Ddi_VarFromCU()
- Convert a CUDD variable to a DDI variable
-
Ddi_VarCopy()
- Copy a variable to a destination dd manager
-
Ddi_VarMakeGroup()
- Create a variable group
-
Ddi_VarMakeGroupFixed()
- Create a variable group with fixed inner order
-
Ddi_VarReadGroup()
- Return variable group including v. NULL if v is not in a group
-
Ddi_VarIsGrouped()
- Return true (non 0) if variable is in variable group
ddiVararray.c
Functions to manage arrays of variables
By: Gianpiero Cabodi and Stefano Quer
Array of variables is implemented as an array of BDD nodes
(called "projection funtions" in CUDD package).
The basic manipulation allowed for variable arrays are:
- Alloc and free an array
- Insert and fetch a variable
- Duplicate an array
- Join and append a new array
- Convert into array of integer
- Convert into a set of variables
-
Ddi_VararrayMakeFromCU()
- Generate a variable array from CU vars (BDD nodes)
-
Ddi_VararrayToCU()
- Generate an array of pointers to CUDD variables
-
Ddi_VararrayMakeFromInt()
- Generate a variable array from array of integer indexes
-
Ddi_VararrayToInt()
- Generate an array of integer variable indexes
-
Ddi_VararrayAlloc()
- Allocate a new array of variables of given length
-
Ddi_VararrayNum()
- Return the number of variables (entries) in array
-
Ddi_VararrayWrite()
- Write a variable in array at given position
-
Ddi_VararrayRead()
- Return the variable at i-th position in array
-
Ddi_VararrayDup()
- Duplicate an array of variables
-
Ddi_VararrayCopy()
- Copy an array of variables to a destination maneger
-
Ddi_VararrayAppend()
- Append the elements of array2 at the end of array1
ddiVarset.c
Functions to manage sets of variables
By: Gianpiero Cabodi and Stefano Quer
Sets of variables (var-set) are implemented as cubes.
The basic manipulation allowed on a var-set are:
- Create an empty var-set (New)
and destroy one (Free)
- Add a new variable or remove one
- Duplicate a var-set
- Union, intersect and difference
of two var-sets
- Other specific operations
-
Ddi_VarsetVoid()
- Return an empty var-set
-
Ddi_VarsetIsVoid()
- Return true (non 0) if var-set is empty
-
Ddi_VarsetNext()
- Remove top variable from var-set. Result generated
-
Ddi_VarsetNextAcc()
- Remove top variable from var-set. Result accumulated
-
Ddi_VarsetAdd()
- Add variable to var-set. Result is generated
-
Ddi_VarsetAddAcc()
- Add variable to var-set. Result is accumulated
-
Ddi_VarsetRemove()
- Remove variable from var-set. Result is generated
-
Ddi_VarsetRemoveAcc()
- Remove variable from var-set. Result is accumulated
-
Ddi_VarsetUnion()
- Return union of two var-sets. Result generated
-
Ddi_VarsetUnionAcc()
- Return union of two var-sets. Result accumulated
-
Ddi_VarsetIntersect()
- Return intersection of two var-sets. Result generated
-
Ddi_VarsetIntersectAcc()
- Return intersection of two var-sets. Result accumulated
-
Ddi_VarsetDiff()
- Return difference of two var-sets. Result generated
-
Ddi_VarsetDiffAcc()
- Return difference of two var-sets. Result accumulated
-
Ddi_VarsetDup()
- Duplicate a var-set
-
Ddi_VarsetCopy()
- Copy a var-set to another manager
-
Ddi_VarsetEvalFree()
- Evaluates an expression and frees first argument
-
Ddi_VarsetNum()
- Return the number of variables in varset
-
Ddi_VarsetPrint()
- Print the varset variables sorted by id
-
Ddi_VarInVarset()
- Return true (non 0) if var is in varset
-
Ddi_VarsetEqual()
- Return true (non 0) if the two var-sets are equal
-
Ddi_VarsetTop()
- Return the top variable (in the ordering) in varset
-
Ddi_VarsetBottom()
- Return the bottom variable in the ordering
-
Ddi_VarsetToCU()
- Convert a varset to a Cudd cube
-
Ddi_VarsetMakeFromCU()
- Build a Ddi_Varset_t from a given CUDD cube.
-
Ddi_VarsetMakeFromVar()
- Build a Ddi_Varset_t from a given variable.
-
Ddi_VarsetMakeFromArray()
- Build a Ddi_Varset_t from a given variable array.
-
Ddi_VarsetSwapVars()
- Swap two sets of variables in varset. Result generated
-
Ddi_VarsetSwapVarsAcc()
- Swap two sets of variables in varset. Result accumulated
-
Ddi_VarsetWalkStart()
- Start Varset walk process
-
Ddi_VarsetWalkStep()
- Varset walk process step
-
Ddi_VarsetWalkEnd()
- test for varset walk end
-
Ddi_VarsetWalkCurr()
- Return curr var in varset walk
ddiVarsetarray.c
Functions to manage arrays of Varsetss
By: Gianpiero Cabodi and Stefano Quer
-
Ddi_VarsetarrayAlloc()
- Allocate a new array of varsets
-
Ddi_VarsetarrayNum()
- Return the number of entries in array
-
Ddi_VarsetarrayWrite()
- Write varset in array at given position
-
Ddi_VarsetarrayInsert()
- Insert varset in array at given position
-
Ddi_VarsetarrayInsertLast()
- Insert varset in array at last position
-
Ddi_VarsetarrayRead()
- Read varset at i-th position in array
-
Ddi_VarsetarrayClear()
- clear array at given position (BDD freed and replaced by NULL)
-
Ddi_VarsetarrayDup()
- Duplicate an array of Varsets
-
Ddi_VarsetarrayCopy()
- Copy an array of varsets to a destination manager
Last updated on 1010204 20h20