diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2016-08-06 00:20:47 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2016-08-06 00:20:47 -0700 |
commit | 2ded05127ae06f7ffea27600936c9b57758185a3 (patch) | |
tree | bec66e3917b18d51156cbaeba24acd771207c4dd /src/base | |
parent | f03512bad1e7cb2fdae5b7f8a96c5f36f3daefe2 (diff) | |
parent | 8e5af90c41d9c0c364e01ae3e413a4e40cb8a1e0 (diff) | |
download | abc-2ded05127ae06f7ffea27600936c9b57758185a3.tar.gz abc-2ded05127ae06f7ffea27600936c9b57758185a3.tar.bz2 abc-2ded05127ae06f7ffea27600936c9b57758185a3.zip |
Merged in petkovska/abc-pullreq/hier-npn_fast-exact (pull request #29)
Exact hierarchical NPN classification
Diffstat (limited to 'src/base')
-rw-r--r-- | src/base/abci/abcNpn.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/base/abci/abcNpn.c b/src/base/abci/abcNpn.c index e667a074..8335edda 100644 --- a/src/base/abci/abcNpn.c +++ b/src/base/abci/abcNpn.c @@ -181,7 +181,7 @@ void Abc_TruthNpnPerform( Abc_TtStore_t * p, int NpnType, int fVerbose ) char pCanonPerm[16]; unsigned uCanonPhase=0; abctime clk = Abc_Clock(); - int i, nClasses = -1; + int i; char * pAlgoName = NULL; if ( NpnType == 0 ) @@ -293,27 +293,28 @@ void Abc_TruthNpnPerform( Abc_TtStore_t * p, int NpnType, int fVerbose ) } else if ( NpnType == 7 ) { - extern unsigned Abc_TtCanonicizeHie( Abc_TtMan_t * p, word * pTruth, int nVars, char * pCanonPerm ); + extern unsigned Abc_TtCanonicizeHie( Abc_TtMan_t * p, word * pTruth, int nVars, char * pCanonPerm, int fExact ); extern Abc_TtMan_t * Abc_TtManStart( int nVars ); extern void Abc_TtManStop( Abc_TtMan_t * p ); extern int Abc_TtManNumClasses( Abc_TtMan_t * p ); + int fExact = 0; Abc_TtMan_t * pMan = Abc_TtManStart( p->nVars ); for ( i = 0; i < p->nFuncs; i++ ) { if ( fVerbose ) printf( "%7d : ", i ); - uCanonPhase = Abc_TtCanonicizeHie( pMan, p->pFuncs[i], p->nVars, pCanonPerm ); + uCanonPhase = Abc_TtCanonicizeHie( pMan, p->pFuncs[i], p->nVars, pCanonPerm, fExact ); if ( fVerbose ) // Extra_PrintHex( stdout, (unsigned *)p->pFuncs[i], p->nVars ), Abc_TruthNpnPrint(NULL, uCanonPhase, p->nVars), printf( "\n" ); printf( "\n" ); } - nClasses = Abc_TtManNumClasses( pMan ); + // nClasses = Abc_TtManNumClasses( pMan ); Abc_TtManStop( pMan ); } else assert( 0 ); clk = Abc_Clock() - clk; - printf( "Classes =%9d ", nClasses == -1 ? Abc_TruthNpnCountUnique(p) : nClasses ); + printf( "Classes =%9d ", Abc_TruthNpnCountUnique(p) ); Abc_PrintTime( 1, "Time", clk ); } |