diff options
author | Bruno Schmitt <bruno@oschmitt.com> | 2016-08-18 16:36:55 -0300 |
---|---|---|
committer | Bruno Schmitt <bruno@oschmitt.com> | 2016-08-18 16:36:55 -0300 |
commit | 621fbcbd4dcb21e62a2c84c5664b0fcf0d0ee0fe (patch) | |
tree | ddf2631523fb7cf7caee248d89039c812a8d34cf /src/opt/fxch | |
parent | 118eea846560750b60f69f11a9e546378a7c9bc7 (diff) | |
download | abc-621fbcbd4dcb21e62a2c84c5664b0fcf0d0ee0fe.tar.gz abc-621fbcbd4dcb21e62a2c84c5664b0fcf0d0ee0fe.tar.bz2 abc-621fbcbd4dcb21e62a2c84c5664b0fcf0d0ee0fe.zip |
Small bug fix in FXCH.
Diffstat (limited to 'src/opt/fxch')
-rw-r--r-- | src/opt/fxch/FxchMan.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/opt/fxch/FxchMan.c b/src/opt/fxch/FxchMan.c index 19ce1461..522cc5b8 100644 --- a/src/opt/fxch/FxchMan.c +++ b/src/opt/fxch/FxchMan.c @@ -395,7 +395,7 @@ static inline void Fxch_ManExtractDivFromCubePairs( Fxch_Man_t* pFxchMan, Vec_IntForEachEntryDouble( pFxchMan->vPairs, iCube0, iCube1, i ) { int j, Lit, - RetValue, + RetValue, fCompl = 0; int * pOutputID0, * pOutputID1; @@ -431,9 +431,9 @@ static inline void Fxch_ManExtractDivFromCubePairs( Fxch_Man_t* pFxchMan, /* Update Lit -> Cube mapping */ Vec_IntForEachEntry( pFxchMan->vDiv, Lit, j ) { - Vec_IntRemove( Vec_WecEntry( pFxchMan->vLits, Abc_Lit2Var( Lit ) ), + Vec_IntRemove( Vec_WecEntry( pFxchMan->vLits, Abc_Lit2Var( Lit ) ), Vec_WecLevelId( pFxchMan->vCubes, vCube0 ) ); - Vec_IntRemove( Vec_WecEntry( pFxchMan->vLits, Abc_LitNot( Abc_Lit2Var( Lit ) ) ), + Vec_IntRemove( Vec_WecEntry( pFxchMan->vLits, Abc_LitNot( Abc_Lit2Var( Lit ) ) ), Vec_WecLevelId( pFxchMan->vCubes, vCube0 ) ); } @@ -447,7 +447,7 @@ static inline void Fxch_ManExtractDivFromCubePairs( Fxch_Man_t* pFxchMan, /* Create new cube */ vCube = Vec_WecPushLevel( pFxchMan->vCubes ); Vec_IntAppend( vCube, vCube0Copy ); - Vec_IntPushArray( pFxchMan->vOutputID, pFxchMan->pTempOutputID, pFxchMan->nSizeOutputID ); + Vec_IntPushArray( pFxchMan->vOutputID, pFxchMan->pTempOutputID, pFxchMan->nSizeOutputID ); Vec_IntPush( pFxchMan->vCubesToUpdate, Vec_WecLevelId( pFxchMan->vCubes, vCube ) ); /* Update Lit -> Cube mapping */ @@ -489,7 +489,7 @@ static inline void Fxch_ManExtractDivFromCubePairs( Fxch_Man_t* pFxchMan, { Vec_Int_t* vLitP = Vec_WecEntry( pFxchMan->vLits, Vec_WecSize( pFxchMan->vLits ) - 2 ), * vLitN = Vec_WecEntry( pFxchMan->vLits, Vec_WecSize( pFxchMan->vLits ) - 1 ); - + assert( vCube ); if ( Vec_IntSize( pFxchMan->vDiv ) == 2 || fCompl ) { @@ -514,11 +514,11 @@ static inline int Fxch_ManCreateCube( Fxch_Man_t* pFxchMan, int Lit1 ) { int Level, - iVarNew, + iVarNew, j; Vec_Int_t* vCube0, * vCube1; - + /* Create a new variable */ iVarNew = pFxchMan->nVars; pFxchMan->nVars++; @@ -526,7 +526,7 @@ static inline int Fxch_ManCreateCube( Fxch_Man_t* pFxchMan, /* Clear temporary outputID vector */ for ( j = 0; j < pFxchMan->nSizeOutputID; j++ ) pFxchMan->pTempOutputID[j] = 0; - + /* Create new Lit hash keys */ Vec_IntPush( pFxchMan->vLitHashKeys, Gia_ManRandom(0) & 0x3FFFFFF ); Vec_IntPush( pFxchMan->vLitHashKeys, Gia_ManRandom(0) & 0x3FFFFFF ); @@ -657,7 +657,7 @@ void Fxch_ManUpdate( Fxch_Man_t* pFxchMan, } else Fxch_ManExtractDivFromCubePairs( pFxchMan, 0 ); - + assert( Vec_IntSize( pFxchMan->vCubesToUpdate ) ); /* Add cost */ @@ -670,7 +670,7 @@ void Fxch_ManUpdate( Fxch_Man_t* pFxchMan, } /* Deal with SCC */ - if ( Vec_IntSize( pFxchMan->vSCC ) && pFxchMan->nExtDivs < 17 ) + if ( Vec_IntSize( pFxchMan->vSCC ) ) { Vec_IntUniqifyPairs( pFxchMan->vSCC ); assert( Vec_IntSize( pFxchMan->vSCC ) % 2 == 0 ); |