dddmp.h
External header file
dddmpInt.h
Internal header file
dddmpBinary.c
Input and output BDD codes and integers from/to file
dddmpConvert.c
Conversion between ASCII and binary formats
dddmpDbg.c
Functions to display BDD files
dddmpDdNode.c
Functions to handle BDD node infos and numbering
dddmpDump.c
Functions to read in and write out bdds to file

dddmp.h

External header file

By: Gianpiero Cabodi & Stefano Quer


dddmpInt.h

Internal header file

By: Gianpiero Cabodi & Stefano Quer


dddmpBinary.c

Input and output BDD codes and integers from/to file

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 filter , and with escape sequences.

DddmpWriteCode()
Writes 1 byte node code
DddmpReadCode()
Reads a 1 byte node code
DddmpWriteInt()
Writes a "packed integer"
DddmpReadInt()
Reads a "packed integer"
WriteByteBinary()
Writes a byte to file filtering , and
ReadByteBinary()
Reads a byte from file with escaped , and

dddmpConvert.c

Conversion between ASCII and binary formats

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()
Converts from ASCII to binary format
Dddmp_Bin2Text()
Converts from binary to ASCII format

dddmpDbg.c

Functions to display BDD files

By: Gianpiero Cabodi

Functions to display BDD files in binary format

Dddmp_cuddBddDisplayBinary()
Display a binary dump file in a text file

dddmpDdNode.c

Functions to handle BDD node infos and numbering

By: Gianpiero Cabodi

Functions to handle BDD node infos and numbering

DddmpNumberDdNodes()
Removes nodes from unique table and number them
DddmpUnnumberDdNodes()
Restores nodes in unique table, loosing numbering
DddmpWriteNodeIndex()
Write index to node
DddmpReadNodeIndex()
Reads the index of a node
DddmpVisited()
Returns true if node is visited
DddmpSetVisited()
Marks a node as visited
DddmpClearVisited()
Marks a node as not visited
NumberNodeRecur()
Number nodes recursively in post-order
RemoveFromUniqueRecur()
Removes a node from unique table
RestoreInUniqueRecur()
Restores a node in unique table

dddmpDump.c

Functions to read in and write out bdds to file

By: Gianpiero Cabodi & Stefano Quer

Functions to read in and write out 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()
Writes a dump file representing the argument BDD.
Dddmp_cuddBddArrayStore()
Writes a dump file representing the argument Array of BDDs.
Dddmp_cuddBddLoad()
Reads a dump file representing the argument BDD.
Dddmp_cuddBddArrayLoad()
Reads a dump file representing the argument BDDs.
StoreNodeRecur()
Performs the recursive step of Dddmp_bddStore.
QsortStrcmp()
String compare for qsort
FindVarname()
Performs binary search of a name within a sorted array

Last updated on 980512 20h55