54 p->nLevDivMax = nLevDivMax;
57 Abc_NtkIncrementTravId(
p->pNode->pNtk );
64 Abc_NtkIncrementTravId(
p->pNode->pNtk );
68 Abc_NodeSetTravIdCurrent( pObj );
75 Vec_PtrClear(
p->vDivs );
79 if ( !Abc_NodeIsTravIdPrevious(pObj) )
81 if ( (
int)pObj->
Level >
p->nLevDivMax )
83 Vec_PtrPush(
p->vDivs, pObj );
88 if ( !Abc_NodeIsTravIdPrevious(pObj) )
90 if ( (
int)pObj->
Level >
p->nLevDivMax )
92 Vec_PtrPush(
p->vDivs, pObj );
106 if ( Abc_NodeIsTravIdPrevious(pFanout) )
109 if ( Abc_NodeIsTravIdCurrent(pFanout) )
112 if ( !Abc_ObjIsNode(pFanout) )
115 if ( (
int)pFanout->
Level >
p->nLevDivMax )
119 if ( !Abc_NodeIsTravIdPrevious(pFanin) )
121 if ( m < Abc_ObjFaninNum(pFanout) )
124 Vec_PtrPush(
p->vDivs, pFanout );
125 Vec_PtrPush(
p->vNodes, pFanout );
126 Abc_NodeSetTravIdPrevious( pFanout );
154 if ( Abc_NodeIsTravIdCurrent(pObj) )
156 Abc_NodeSetTravIdCurrent( pObj );
157 assert( Abc_ObjIsNode(pObj) );
180 Abc_NodeSetTravIdCurrent( pObj );
200 if ( Abc_ObjIsCo(pObj) || (
int)pObj->
Level > nLevelLimit )
202 if ( Abc_NodeIsTravIdCurrent(pObj) )
204 Abc_NodeSetTravIdCurrent( pObj );
224 if ( Abc_ObjIsCi(pNode) )
226 Abc_NodeSetTravIdCurrent( pNode );
230 if ( --pFanin->
vFanouts.nSize == 0 )
251 if ( Abc_ObjIsCi(pNode) )
255 if ( pFanin->
vFanouts.nSize++ == 0 )
275 assert( Abc_ObjIsNode(pNode) );
280 assert( Count1 == Count2 );
struct Abc_Obj_t_ Abc_Obj_t
#define Abc_ObjForEachFanin(pObj, pFanin, i)
#define Abc_ObjForEachFanout(pObj, pFanout, i)
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
int Res_NodeDeref_rec(Abc_Obj_t *pNode)
void Res_WinSweepLeafTfo_rec(Abc_Obj_t *pObj, int nLevelLimit)
int Res_NodeRef_rec(Abc_Obj_t *pNode)
void Res_WinMarkTfi_rec(Res_Win_t *p, Abc_Obj_t *pObj)
int Res_WinVisitMffc(Abc_Obj_t *pNode)
void Res_WinDivisors(Res_Win_t *p, int nLevDivMax)
FUNCTION DEFINITIONS ///.
typedefABC_NAMESPACE_HEADER_START struct Res_Win_t_ Res_Win_t
INCLUDES ///.
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.