summaryrefslogtreecommitdiffstats
path: root/src/opt/sfm/sfmLib.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2015-10-13 18:48:38 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2015-10-13 18:48:38 -0700
commitb5e0b7d4fcdf81e9d9ba896d087a4981e336603e (patch)
tree85dab28aca9904e20d80dba9c6185c7df8bbbb9c /src/opt/sfm/sfmLib.c
parent9df63f529175dba9300ada4e02897b5178235477 (diff)
downloadabc-b5e0b7d4fcdf81e9d9ba896d087a4981e336603e.tar.gz
abc-b5e0b7d4fcdf81e9d9ba896d087a4981e336603e.tar.bz2
abc-b5e0b7d4fcdf81e9d9ba896d087a4981e336603e.zip
Experiments with precomputation and matching.
Diffstat (limited to 'src/opt/sfm/sfmLib.c')
-rw-r--r--src/opt/sfm/sfmLib.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/opt/sfm/sfmLib.c b/src/opt/sfm/sfmLib.c
index 47a643fe..c68099ff 100644
--- a/src/opt/sfm/sfmLib.c
+++ b/src/opt/sfm/sfmLib.c
@@ -428,7 +428,7 @@ void Sfm_LibTest( int nVars, int fTwo, int fVerbose )
SeeAlso []
***********************************************************************/
-int Sfm_LibImplement( Sfm_Lib_t * p, word uTruth, int * pFanins, int nFanins, int AreaMffc, Vec_Int_t * vGates, Vec_Wec_t * vFanins )
+int Sfm_LibImplement( Sfm_Lib_t * p, word uTruth, int * pFanins, int nFanins, int AreaMffc, Vec_Int_t * vGates, Vec_Wec_t * vFanins, int fZeroCost )
{
Mio_Library_t * pLib = (Mio_Library_t *)Abc_FrameReadLibGen();
Mio_Gate_t * pGate;
@@ -460,7 +460,7 @@ int Sfm_LibImplement( Sfm_Lib_t * p, word uTruth, int * pFanins, int nFanins, in
Sfm_LibForEachSuper( p, pObj, iFunc )
if ( !pObjMin || pObjMin->Area > pObj->Area )
pObjMin = pObj;
- if ( pObjMin == NULL || pObjMin->Area >= AreaMffc )
+ if ( pObjMin == NULL || (fZeroCost ? pObjMin->Area > AreaMffc : pObjMin->Area >= AreaMffc) )
return -1;
// get the gates
pCellB = p->pCells + (int)pObjMin->pFansB[0];