cudd
3.0.0
The University of Colorado Decision Diagram Package
|
Functions to check consistency of data structures. More...
Functions | |
int | Cudd_DebugCheck (DdManager *table) |
Checks for inconsistencies in the DD heap. More... | |
int | Cudd_CheckKeys (DdManager *table) |
Checks for several conditions that should not occur. More... | |
int | cuddHeapProfile (DdManager *dd) |
Prints information about the heap. More... | |
void | cuddPrintNode (DdNode *f, FILE *fp) |
Prints out information on a node. More... | |
void | cuddPrintVarGroups (DdManager *dd, MtrNode *root, int zdd, int silent) |
Prints the variable groups as a parenthesized list. More... | |
static void | debugFindParent (DdManager *table, DdNode *node) |
Searches the subtables above node for its parents. More... | |
Functions to check consistency of data structures.
Copyright (c) 1995-2015, Regents of the University of Colorado
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
int Cudd_CheckKeys | ( | DdManager * | table | ) |
Checks for several conditions that should not occur.
Checks for the following conditions:
Reports the average length of non-empty lists.
int Cudd_DebugCheck | ( | DdManager * | table | ) |
Checks for inconsistencies in the DD heap.
The following inconsistencies are checked:
int cuddHeapProfile | ( | DdManager * | dd | ) |
Prints information about the heap.
Prints to the manager's stdout the number of live nodes for each level of the DD heap that contains at least one live node. It also prints a summary containing:
If more than one table contains the maximum number of live nodes, only the one of lowest index is reported.
void cuddPrintNode | ( | DdNode * | f, |
FILE * | fp | ||
) |
Prints out information on a node.
Prints the variable groups as a parenthesized list.
For each group the level range that it represents is printed. After each group, the group's flags are printed, preceded by a ‘|’. For each flag (except MTR_TERMINAL) a character is printed.
The second argument, silent, if different from 0, causes Cudd_PrintVarGroups to only check the syntax of the group tree.
dd | manager |
root | root of the group tree |
zdd | 0: BDD; 1: ZDD |
silent | flag to check tree syntax only |