summaryrefslogtreecommitdiffstats
path: root/src/aig/dch/dchChoice.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/aig/dch/dchChoice.c')
-rw-r--r--src/aig/dch/dchChoice.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/aig/dch/dchChoice.c b/src/aig/dch/dchChoice.c
index 09bbf2fb..ee1ce034 100644
--- a/src/aig/dch/dchChoice.c
+++ b/src/aig/dch/dchChoice.c
@@ -81,11 +81,18 @@ int Dch_DeriveChoiceCountEquivs( Aig_Man_t * pAig )
// remove referenced node from equivalence class
assert( pAig->pEquivs[pPrev->Id] == pTemp );
pAig->pEquivs[pPrev->Id] = pAig->pEquivs[pTemp->Id];
+ pAig->pEquivs[pTemp->Id] = NULL;
+ // how about the need to continue iterating over the list?
+ // pPrev = pTemp ???
Counter++;
}
nEquivs++;
}
}
+ printf( "Removed %d classes.\n", Counter );
+
+ if ( Counter )
+ Dch_DeriveChoiceCountEquivs( pAig );
// if ( Counter )
// printf( "Removed %d equiv nodes because of non-zero ref counter.\n", Counter );
return nEquivs;