From eb2764b5251aa23588f5aa6179197a378f15d759 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Wed, 1 May 2019 20:54:52 +0800 Subject: Experiment with frontier cut computation. --- src/aig/gia/giaUtil.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/aig') diff --git a/src/aig/gia/giaUtil.c b/src/aig/gia/giaUtil.c index 204d3033..feac7d08 100644 --- a/src/aig/gia/giaUtil.c +++ b/src/aig/gia/giaUtil.c @@ -771,6 +771,20 @@ int * Gia_ManCreateMuxRefs( Gia_Man_t * p ) SeeAlso [] ***********************************************************************/ +Vec_Int_t * Gia_ManBfsForCrossCut( Gia_Man_t * p ) +{ + Vec_Int_t * vNodes = Vec_IntAlloc( Gia_ManObjNum(p) ); + Vec_Vec_t * vLevels = Gia_ManLevelize( p ); + Vec_Ptr_t * vObjs; + Gia_Obj_t * pObj; + int i, k; + Vec_VecForEachLevel( vLevels, vObjs, i ) + Vec_PtrForEachEntry( Gia_Obj_t *, vObjs, pObj, k ) + Vec_IntPush( vNodes, Gia_ObjId(p, pObj) ); + Vec_VecFree( vLevels ); + return vNodes; +} + void Gia_ManDfsForCrossCut_rec( Gia_Man_t * p, Gia_Obj_t * pObj, Vec_Int_t * vNodes ) { if ( Gia_ObjIsTravIdCurrent(p, pObj) ) @@ -823,6 +837,7 @@ int Gia_ManCrossCut( Gia_Man_t * p, int fReverse ) Gia_Obj_t * pObj; int i, nCutCur = 0, nCutMax = 0; vNodes = Gia_ManDfsForCrossCut( p, fReverse ); + //vNodes = Gia_ManBfsForCrossCut( p ); Gia_ManForEachObjVec( vNodes, p, pObj, i ) { if ( pObj->Value ) -- cgit v1.2.3