82 static char rcsid[]
DD_UNUSED =
"$Id: cuddInit.c,v 1.34 2012/02/05 01:07:19 fabio Exp $";
122 unsigned int numVars ,
123 unsigned int numVarsZ ,
124 unsigned int numSlots ,
125 unsigned int cacheSize ,
126 unsigned long maxMemory )
131 unsigned int maxCacheSize;
132 unsigned int looseUpTo;
136 if (maxMemory == 0) {
139 looseUpTo = (
unsigned int) ((maxMemory /
sizeof(
DdNode)) /
142 if (unique == NULL)
return(NULL);
143 unique->
maxmem = (
unsigned long) maxMemory / 10 * 9;
144 maxCacheSize = (
unsigned int) ((maxMemory /
sizeof(
DdCache)) /
147 if (result == 0)
return(NULL);
152 MMoutOfMemory = saveHandler;
153 if (unique->
stash == NULL) {
154 (void) fprintf(unique->
err,
"Unable to set aside memory\n");
159 if (unique->
one == NULL)
return(0);
162 if (unique->
zero == NULL)
return(0);
167 (void) fprintf(unique->
err,
"Warning: Crippled infinite values\n");
168 (void) fprintf(unique->
err,
"Recompile without -DHAVE_IEEE_754\n");
184 if (unique->
vars == NULL) {
188 for (i = 0; i < unique->
size; i++) {
190 if (unique->
vars[i] == NULL)
return(0);
252 if (zdd->
univ == NULL) {
259 for (i = zdd->
sizeZ - 1; i >= 0; i--) {
260 unsigned int index = zdd->
invpermZ[i];
void Cudd_RecursiveDerefZdd(DdManager *table, DdNode *n)
int cuddZddInitUniv(DdManager *zdd)
void Cudd_OutOfMem(long size)
#define DD_MAX_CACHE_FRACTION
void Cudd_Quit(DdManager *unique)
DdNode * cuddUniqueConst(DdManager *unique, CUDD_VALUE_TYPE value)
#define DD_STASH_FRACTION
#define DD_MAX_LOOSE_FRACTION
DdManager * Cudd_Init(unsigned int numVars, unsigned int numVarsZ, unsigned int numSlots, unsigned int cacheSize, unsigned long maxMemory)
void cuddZddFreeUniv(DdManager *zdd)
unsigned long getSoftDataLimit(void)
DdNode * cuddUniqueInterZdd(DdManager *unique, int index, DdNode *T, DdNode *E)
void(* MMoutOfMemory)(long)
DdManager * cuddInitTable(unsigned int numVars, unsigned int numVarsZ, unsigned int numSlots, unsigned int looseUpTo)
static char rcsid [] DD_UNUSED
void cuddFreeTable(DdManager *unique)
int cuddInitCache(DdManager *unique, unsigned int cacheSize, unsigned int maxCacheSize)
DdNode * cuddUniqueInter(DdManager *unique, int index, DdNode *T, DdNode *E)
int cuddZddP(DdManager *zdd, DdNode *f)