Next: Setting Parameters
Up: User's Manual
Previous: Basic Data Structures
To use the functions in the CUDD package, one has first to initialize
the package itself by calling
Cudd_Init . This function takes four
parameters:
- numVars : It is the initial number of variables
for BDDs and ADDs. If the total number of variables needed by the
application is known, then it is slightly more efficient to create a
manager with that number of variables. If the number is unknown, it
can be set to 0, or to any other lower bound on the number of
variables. Requesting more variables than are actually needed is
not incorrect, but is not efficient.
- numVarsZ : It is the initial number of variables
for ZDDs. See Sections 3.9 and 3.11 for
a discussion of the value of this argument.
- numSlots : Determines the initial size of each
subtable of the unique table.
There is a subtable for each variable. The size of each subtable is
dynamically adjusted to reflect the number of nodes. It is normally
O.K. to use the default value for this parameter, which is
CUDD_UNIQUE_SLOTS .
- cacheSize : It is the initial size (number of
entries) of the cache . Its default value is
CUDD_CACHE_SLOTS .
- maxMemory : It is the target value for the
maximum memory occupation (in bytes). The package uses this value to
decide two parameters.
- the maximum size to which the cache will grow, regardless of
the hit rate or the size of the unique table.
- the maximum size to which growth of the unique table will be
preferred to garbage collection.
If maxMemory is set to 0, CUDD tries to guess a good value based on
the available memory.
A typical call to Cudd_Init may look
like this:
manager = Cudd_Init(0,0,CUDD_UNIQUE_SLOTS,CUDD_CACHE_SLOTS,0);
To reclaim all the memory associated with a manager, an application
must call Cudd_Quit . This is normally
done before exiting.
Next: Setting Parameters
Up: User's Manual
Previous: Basic Data Structures
Fabio Somenzi
Thu Sep 24 23:44:34 MDT 1998