dddmp.h
dddmpInt.h
dddmpBinary.c
dddmpConvert.c
dddmpDbg.c
dddmpDdNodeBdd.c
dddmpDdNodeCnf.c
dddmpLoad.c
dddmpLoadCnf.c
dddmpNodeAdd.c
dddmpNodeBdd.c
dddmpNodeCnf.c
dddmpStoreAdd.c
dddmpStoreBdd.c
dddmpStoreCnf.c
dddmpStoreMisc.c
dddmpUtil.c
By: Gianpiero Cabodi and Stefano Quer
()
()
()
()
By: Gianpiero Cabodi and Stefano Quer
()
()
By: Gianpiero Cabodi and Stefano Quer
Input and output BDD codes and integers from/to file
in binary mode.
DD node codes are written as one byte.
Integers of any length are written as sequences of "linked" bytes.
For each byte 7 bits are used for data and one (MSBit) as link with
a further byte (MSB = 1 means one more byte).
Low level read/write of bytes filter
DddmpWriteCode()
DddmpReadCode()
DddmpWriteInt()
DddmpReadInt()
WriteByteBinary()
ReadByteBinary()
By: Gianpiero Cabodi and Stefano Quer
Conversion between ASCII and binary formats is presently supported by loading a BDD in the source format and storing it in the target one. We plan to introduce ad hoc procedures avoiding explicit BDD node generation.
Dddmp_Text2Bin()
Dddmp_Bin2Text()
By: Gianpiero Cabodi and Stefano Quer
Functions to display BDD files in binary format
Dddmp_cuddBddDisplayBinary()
By: Gianpiero Cabodi and Stefano Quer
Functions to handle BDD node infos and numbering.
DddmpNumberDdNodes()
DddmpUnnumberDdNodes()
DddmpWriteNodeIndex()
DddmpReadNodeIndex()
DddmpVisited()
DddmpSetVisited()
DddmpClearVisited()
NumberNodeRecur()
RemoveFromUniqueRecur()
RestoreInUniqueRecur()
By: Gianpiero Cabodi and Stefano Quer
Functions to handle BDD node infos and numbering while storing a CNF formula from a BDD or an array of BDDs.
DddmpNumberDdNodesCnf()
DddmpDdNodesCountEdgesAndNumber()
DddmpUnnumberDdNodesCnf()
DddmpPrintBddAndNext()
DddmpWriteNodeIndexCnfBis()
DddmpWriteNodeIndexCnf()
DddmpReadNodeIndexCnf()
DddmpClearVisitedCnfRecur()
DddmpVisitedCnf()
DddmpSetVisitedCnf()
DddmpClearVisitedCnf()
NumberNodeRecurCnf()
DddmpDdNodesCheckIncomingAndScanPath()
DddmpDdNodesNumberEdgesRecur()
DddmpDdNodesResetCountRecur()
DddmpDdNodesCountEdgesRecur()
RemoveFromUniqueRecurCnf()
RestoreInUniqueRecurCnf()
DddmpPrintBddAndNextRecur()
By: Gianpiero Cabodi and Stefano Quer
Functions to read in bdds to file. BDDs are represended on file either in text or binary format under the following rules. A file contains a forest of BDDs (a vector of Boolean functions). BDD nodes are numbered with contiguous numbers, from 1 to NNodes (total number of nodes on a file). 0 is not used to allow negative node indexes for complemented edges. A file contains a header, including information about variables and roots to BDD functions, followed by the list of nodes. BDD nodes are listed according to their numbering, and in the present implementation numbering follows a post-order strategy, in such a way that a node is never listed before its Then/Else children.
Dddmp_cuddBddLoad()
Dddmp_cuddBddArrayLoad()
Dddmp_cuddAddLoad()
Dddmp_cuddAddArrayLoad()
Dddmp_cuddHeaderLoad()
DddmpCuddDdArrayLoad()
DddmpBddReadHeader()
DddmpFreeHeader()
By: Gianpiero Cabodi and Stefano Quer
Functions to read in CNF from file as BDDs.
Dddmp_cuddBddLoadCnf()
Dddmp_cuddBddArrayLoadCnf()
Dddmp_cuddHeaderLoadCnf()
DddmpCuddDdArrayLoadCnf()
DddmpBddReadHeaderCnf()
DddmpFreeHeaderCnf()
DddmpReadCnfClauses()
DddmpCnfClauses2Bdd()
By: Gianpiero Cabodi and Stefano Quer
Functions to handle ADD node infos and numbering.
DddmpNumberAddNodes()
DddmpUnnumberAddNodes()
DddmpWriteNodeIndexAdd()
DddmpReadNodeIndexAdd()
DddmpVisitedAdd()
DddmpSetVisitedAdd()
DddmpClearVisitedAdd()
NumberNodeRecurAdd()
RemoveFromUniqueRecurAdd()
RestoreInUniqueRecurAdd()
By: Gianpiero Cabodi and Stefano Quer
Functions to handle BDD node infos and numbering.
DddmpNumberBddNodes()
DddmpUnnumberBddNodes()
DddmpWriteNodeIndexBdd()
DddmpReadNodeIndexBdd()
DddmpVisitedBdd()
DddmpSetVisitedBdd()
DddmpClearVisitedBdd()
NumberNodeRecurBdd()
RemoveFromUniqueRecurBdd()
RestoreInUniqueRecurBdd()
By: Gianpiero Cabodi and Stefano Quer
Functions to handle BDD node infos and numbering while storing a CNF formula from a BDD or an array of BDDs.
DddmpNumberDdNodesCnf()
DddmpDdNodesCountEdgesAndNumber()
DddmpUnnumberDdNodesCnf()
DddmpPrintBddAndNext()
DddmpWriteNodeIndexCnf()
DddmpVisitedCnf()
DddmpSetVisitedCnf()
DddmpReadNodeIndexCnf()
DddmpWriteNodeIndexCnfWithTerminalCheck()
DddmpClearVisitedCnfRecur()
DddmpClearVisitedCnf()
NumberNodeRecurCnf()
DddmpDdNodesCheckIncomingAndScanPath()
DddmpDdNodesNumberEdgesRecur()
DddmpDdNodesResetCountRecur()
DddmpDdNodesCountEdgesRecur()
RemoveFromUniqueRecurCnf()
RestoreInUniqueRecurCnf()
DddmpPrintBddAndNextRecur()
By: Gianpiero Cabodi and Stefano Quer
Functions to write ADDs to file. ADDs are represended on file either in text or binary format under the following rules. A file contains a forest of ADDs (a vector of Boolean functions). ADD nodes are numbered with contiguous numbers, from 1 to NNodes (total number of nodes on a file). 0 is not used to allow negative node indexes for complemented edges. A file contains a header, including information about variables and roots to ADD functions, followed by the list of nodes. ADD nodes are listed according to their numbering, and in the present implementation numbering follows a post-order strategy, in such a way that a node is never listed before its Then/Else children.
Dddmp_cuddAddStore()
Dddmp_cuddAddArrayStore()
DddmpCuddDdArrayStoreBdd()
NodeStoreRecurAdd()
NodeTextStoreAdd()
By: Gianpiero Cabodi and Stefano Quer
Functions to write BDDs to file. BDDs are represended on file either in text or binary format under the following rules. A file contains a forest of BDDs (a vector of Boolean functions). BDD nodes are numbered with contiguous numbers, from 1 to NNodes (total number of nodes on a file). 0 is not used to allow negative node indexes for complemented edges. A file contains a header, including information about variables and roots to BDD functions, followed by the list of nodes. BDD nodes are listed according to their numbering, and in the present implementation numbering follows a post-order strategy, in such a way that a node is never listed before its Then/Else children.
Dddmp_cuddBddStore()
Dddmp_cuddBddArrayStore()
DddmpCuddBddArrayStore()
NodeStoreRecurBdd()
NodeTextStoreBdd()
NodeBinaryStoreBdd()
By: Gianpiero Cabodi and Stefano Quer
Functions to write out BDDs to file in a CNF format.
Dddmp_cuddBddStoreCnf()
Dddmp_cuddBddArrayStoreCnf()
DddmpCuddBddArrayStoreCnf()
StoreCnfNodeByNode()
StoreCnfNodeByNodeRecur()
StoreCnfOneNode()
StoreCnfMaxtermByMaxterm()
StoreCnfBest()
StoreCnfMaxtermByMaxtermRecur()
StoreCnfBestNotSharedRecur()
StoreCnfBestSharedRecur()
printCubeCnf()
By: Gianpiero Cabodi and Stefano Quer
Functions to write out bdds to file. BDDs are represended on file in text format. Each node is stored as a multiplexer in a prefix notation format for the prefix notation file or in PLA format for the blif file.
Dddmp_cuddBddStorePrefix()
Dddmp_cuddBddArrayStorePrefix()
Dddmp_cuddBddStoreBlif()
Dddmp_cuddBddArrayStoreBlif()
Dddmp_cuddBddStoreSmv()
Dddmp_cuddBddArrayStoreSmv()
DddmpCuddDdArrayStorePrefix()
DddmpCuddDdArrayStorePrefixBody()
DddmpCuddDdArrayStorePrefixStep()
DddmpCuddDdArrayStoreBlif()
DddmpCuddDdArrayStoreBlifBody()
DddmpCuddDdArrayStoreBlifStep()
DddmpCuddDdArrayStoreSmv()
DddmpCuddDdArrayStoreSmvBody()
DddmpCuddDdArrayStoreSmvStep()
By: Gianpiero Cabodi and Stefano Quer
Functions to manipulate arrays.
QsortStrcmp()
FindVarname()
DddmpStrDup()
DddmpStrArrayDup()
DddmpStrArrayRead()
DddmpStrArrayWrite()
DddmpStrArrayFree()
DddmpIntArrayDup()
DddmpIntArrayRead()
DddmpIntArrayWrite()