`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