95 static char rcsid[]
DD_UNUSED =
"$Id: cuddRef.c,v 1.28 2004/08/13 18:04:50 fabio Exp $";
163 unsigned int live = table->
keys - table->
dead;
179 table->nodesDropped++;
226 unsigned int live = table->
keys - table->
dead;
242 table->nodesDropped++;
283 unsigned int live = table->
keys - table->
dead;
293 #ifdef DD_NO_DEATH_ROW
311 stack = table->
stack;
321 table->nodesDropped++;
332 #ifndef DD_NO_DEATH_ROW
348 if (newRow == NULL) {
406 table->nodesDropped++;
412 stack[SP++] =
cuddE(N);
479 #ifndef DD_NO_DEATH_ROW
485 size = manager->
size;
488 for (i = 0; i <
size; i++) {
491 for (j = 0; (unsigned) j < subtable->slots; j++) {
493 while (node != sentinel) {
495 index = (int) node->
index;
496 if (node != manager->
vars[index]) {
499 if (node->
ref != 1) {
510 size = manager->
sizeZ;
514 for (i = 0; i <
size; i++) {
517 for (j = 0; (unsigned) j < subtable->slots; j++) {
519 while (node != NULL) {
521 index = (int) node->
index;
522 if (node == manager->
univ[manager->
permZ[index]]) {
541 for (j = 0; (unsigned) j < manager->constants.slots; j++) {
543 while (node != NULL) {
545 if (node == manager->
one) {
546 if ((
int) node->
ref != remain) {
549 }
else if (node == manager->
zero ||
552 if (node->
ref != 1) {
592 double initialDead = table->
dead;
663 stack[SP++] =
cuddE(N);
691 #ifndef DD_NO_DEATH_ROW
695 for (i = table->
deathRowDepth/4; i < table->deathRowDepth; i++) {
696 if (table->
deathRow[i] == NULL)
break;
729 #ifndef DD_NO_DEATH_ROW
733 if (table->
deathRow[i] == NULL)
break;
766 #ifndef DD_NO_DEATH_ROW
798 #ifndef DD_NO_DEATH_ROW
void cuddReclaim(DdManager *table, DdNode *n)
void Cudd_OutOfMem(long size)
unsigned int peakLiveNodes
#define ABC_REALLOC(type, obj, num)
#define Cudd_Regular(node)
int Cudd_CheckZeroRef(DdManager *manager)
void Cudd_RecursiveDeref(DdManager *table, DdNode *n)
void Cudd_RecursiveDerefZdd(DdManager *table, DdNode *n)
#define Cudd_IsComplement(node)
int cuddIsInDeathRow(DdManager *dd, DdNode *f)
#define ABC_NAMESPACE_IMPL_END
#define cuddIsConstant(node)
void Cudd_IterDerefBdd(DdManager *table, DdNode *n)
void cuddReclaimZdd(DdManager *table, DdNode *n)
void cuddShrinkDeathRow(DdManager *table)
#define ABC_NAMESPACE_IMPL_START
void Cudd_DelayedDerefBdd(DdManager *table, DdNode *n)
int cuddTimesInDeathRow(DdManager *dd, DdNode *f)
static ABC_NAMESPACE_IMPL_START char rcsid[] DD_UNUSED
void cuddClearDeathRow(DdManager *table)
void Cudd_Deref(DdNode *node)