diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2013-05-27 14:39:08 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2013-05-27 14:39:08 -0700 |
commit | 94356f0d1fa8e671303299717f631ecf0ca2f17e (patch) | |
tree | f784ecefa687c25873f89f554738616d7946b2e4 /src/opt/mfs/mfsDiv.c | |
parent | 755935a6df4c84377aff1c67a5d802062cf925e6 (diff) | |
download | abc-94356f0d1fa8e671303299717f631ecf0ca2f17e.tar.gz abc-94356f0d1fa8e671303299717f631ecf0ca2f17e.tar.bz2 abc-94356f0d1fa8e671303299717f631ecf0ca2f17e.zip |
Several small changes to the MFS packages.
Diffstat (limited to 'src/opt/mfs/mfsDiv.c')
-rw-r--r-- | src/opt/mfs/mfsDiv.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/opt/mfs/mfsDiv.c b/src/opt/mfs/mfsDiv.c index 0b29673e..ece8ec64 100644 --- a/src/opt/mfs/mfsDiv.c +++ b/src/opt/mfs/mfsDiv.c @@ -223,7 +223,7 @@ Vec_Ptr_t * Abc_MfsComputeDivisors( Mfs_Man_t * p, Abc_Obj_t * pNode, int nLevDi // nodes to be avoided as divisors are marked with current trav ID // start collecting the divisors - vDivs = Vec_PtrAlloc( p->pPars->nDivMax ); + vDivs = Vec_PtrAlloc( p->pPars->nWinMax ); Vec_PtrForEachEntry( Abc_Obj_t *, vCone, pObj, k ) { if ( !Abc_NodeIsTravIdPrevious(pObj) ) @@ -231,13 +231,13 @@ Vec_Ptr_t * Abc_MfsComputeDivisors( Mfs_Man_t * p, Abc_Obj_t * pNode, int nLevDi if ( (int)pObj->Level > nLevDivMax ) continue; Vec_PtrPush( vDivs, pObj ); - if ( Vec_PtrSize(vDivs) >= p->pPars->nDivMax ) + if ( Vec_PtrSize(vDivs) >= p->pPars->nWinMax ) break; } Vec_PtrFree( vCone ); // explore the fanouts of already collected divisors - if ( Vec_PtrSize(vDivs) < p->pPars->nDivMax ) + if ( Vec_PtrSize(vDivs) < p->pPars->nWinMax ) Vec_PtrForEachEntry( Abc_Obj_t *, vDivs, pObj, k ) { // consider fanouts of this node @@ -273,12 +273,13 @@ Vec_Ptr_t * Abc_MfsComputeDivisors( Mfs_Man_t * p, Abc_Obj_t * pNode, int nLevDi Vec_PtrPushUnique( p->vNodes, pFanout ); Abc_NodeSetTravIdPrevious( pFanout ); nDivsPlus++; - if ( Vec_PtrSize(vDivs) >= p->pPars->nDivMax ) + if ( Vec_PtrSize(vDivs) >= p->pPars->nWinMax ) break; } - if ( Vec_PtrSize(vDivs) >= p->pPars->nDivMax ) + if ( Vec_PtrSize(vDivs) >= p->pPars->nWinMax ) break; } + p->nMaxDivs += (Vec_PtrSize(vDivs) >= p->pPars->nWinMax); // sort the divisors by level in the increasing order Vec_PtrSort( vDivs, (int (*)(void))Abc_NodeCompareLevelsIncrease ); |