From 97e620a4b7e926a036447e2b1d2b1b6e5a24eacd Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Sat, 16 Aug 2014 18:28:41 -0700 Subject: Adding specialized matching to 'if'. --- src/map/if/ifMan.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/map/if/ifMan.c') diff --git a/src/map/if/ifMan.c b/src/map/if/ifMan.c index 43f7b7e0..f65775d2 100644 --- a/src/map/if/ifMan.c +++ b/src/map/if/ifMan.c @@ -125,6 +125,15 @@ If_Man_t * If_ManStart( If_Par_t * pPars ) p->vPairRes = Vec_IntAlloc( 1000 ); Vec_IntPush( p->vPairRes, -1 ); } + if ( pPars->fUseBat ) + { +// abctime clk = Abc_Clock(); + extern int Bat_ManCellFuncLookup( void * pMan, unsigned * pTruth, int nVars, int nLeaves, char * pStr ); + extern void Bat_ManFuncSetupTable(); + pPars->pFuncCell = Bat_ManCellFuncLookup; + Bat_ManFuncSetupTable(); +// Abc_PrintTime( 1, "Setup time", Abc_Clock() - clk ); + } // create the constant node p->pConst1 = If_ManSetupObj( p ); p->pConst1->Type = IF_CONST1; @@ -249,6 +258,11 @@ void If_ManStop( If_Man_t * p ) Tim_ManStop( p->pManTim ); if ( p->vSwitching ) Vec_IntFree( p->vSwitching ); + if ( p->pPars->fUseBat ) + { + extern void Bat_ManFuncSetdownTable(); + Bat_ManFuncSetdownTable(); + } // hash table // if ( p->pPars->fVerbose && p->nTableEntries[0] ) // printf( "Hash table 2: Entries = %7d. Size = %7d.\n", p->nTableEntries[0], p->nTableSize[0] ); -- cgit v1.2.3