summaryrefslogtreecommitdiffstats
path: root/src/aig/gia/giaJf.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2013-09-25 18:07:34 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2013-09-25 18:07:34 -0700
commitdbaf28db1db21c7a5a8d76cbbaa1f1d316f03c68 (patch)
tree4fe1d410a54f8fb749edbe4a72b7fffc433f7b11 /src/aig/gia/giaJf.c
parente035f60d4f5284e639169de5ea4c5498e925f62e (diff)
downloadabc-dbaf28db1db21c7a5a8d76cbbaa1f1d316f03c68.tar.gz
abc-dbaf28db1db21c7a5a8d76cbbaa1f1d316f03c68.tar.bz2
abc-dbaf28db1db21c7a5a8d76cbbaa1f1d316f03c68.zip
Fixing the large MFFC problem.
Diffstat (limited to 'src/aig/gia/giaJf.c')
-rw-r--r--src/aig/gia/giaJf.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/aig/gia/giaJf.c b/src/aig/gia/giaJf.c
index e55e4adb..f549c4f5 100644
--- a/src/aig/gia/giaJf.c
+++ b/src/aig/gia/giaJf.c
@@ -748,24 +748,24 @@ static inline int Jf_CutAreaOld( Jf_Man_t * p, int * pCut )
return Ela1;
}
-int Jf_CutAreaRef_rec( Jf_Man_t * p, int * pCut, int Limit )
+int Jf_CutAreaRef_rec( Jf_Man_t * p, int * pCut )
{
int i, Var, Count = Jf_CutCost(pCut);
Jf_CutForEachVar( pCut, Var, i )
{
- if ( !Gia_ObjRefIncId(p->pGia, Var) && !Jf_CutIsTriv(Jf_ObjCutBest(p, Var), Var) && Limit > 1 )
- Count += Jf_CutAreaRef_rec( p, Jf_ObjCutBest(p, Var), Limit - 1 );
+ if ( !Gia_ObjRefIncId(p->pGia, Var) && !Jf_CutIsTriv(Jf_ObjCutBest(p, Var), Var) )
+ Count += Jf_CutAreaRef_rec( p, Jf_ObjCutBest(p, Var) );
Vec_IntPush( p->vTemp, Var );
}
return Count;
}
-int Jf_CutAreaRefEdge_rec( Jf_Man_t * p, int * pCut, int Limit )
+int Jf_CutAreaRefEdge_rec( Jf_Man_t * p, int * pCut )
{
int i, Var, Count = (Jf_CutCost(pCut) << 4) | Jf_CutSize(pCut);
Jf_CutForEachVar( pCut, Var, i )
{
- if ( !Gia_ObjRefIncId(p->pGia, Var) && !Jf_CutIsTriv(Jf_ObjCutBest(p, Var), Var) && Limit > 1 )
- Count += Jf_CutAreaRefEdge_rec( p, Jf_ObjCutBest(p, Var), Limit - 1 );
+ if ( !Gia_ObjRefIncId(p->pGia, Var) && !Jf_CutIsTriv(Jf_ObjCutBest(p, Var), Var) )
+ Count += Jf_CutAreaRefEdge_rec( p, Jf_ObjCutBest(p, Var) );
Vec_IntPush( p->vTemp, Var );
}
return Count;
@@ -775,9 +775,9 @@ static inline int Jf_CutArea( Jf_Man_t * p, int * pCut, int fEdge )
int Ela, Entry, i;
Vec_IntClear( p->vTemp );
if ( fEdge )
- Ela = Jf_CutAreaRefEdge_rec( p, pCut, ABC_INFINITY );
+ Ela = Jf_CutAreaRefEdge_rec( p, pCut );
else
- Ela = Jf_CutAreaRef_rec( p, pCut, ABC_INFINITY );
+ Ela = Jf_CutAreaRef_rec( p, pCut );
Vec_IntForEachEntry( p->vTemp, Entry, i )
Gia_ObjRefDecId( p->pGia, Entry );
return Ela;