106 assert( p->nWinTfiMax > 0 );
126 if (
Abc_ObjIsCi(pTemp) || (
int)(p->pNode->Level - pTemp->
Level) > p->nWinTfiMax )
151 p->nLevTravMin =
Abc_MaxInt( ((
int)p->pNode->Level) - p->nWinTfiMax - p->nLevTfiMinus, p->nLevLeafMin );
152 assert( p->nLevTravMin >= 0 );
259 if ( pNode == pPivot || (
int)pNode->
Level <= nLevelMin )
454 assert( nWinTfiMax > 0 && nWinTfiMax < 10 );
455 assert( nWinTfoMax >= 0 && nWinTfoMax < 10 );
459 p->nWinTfiMax = nWinTfiMax;
460 p->nWinTfoMax = nWinTfoMax;
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
int Res_WinIsTrivial(Res_Win_t *p)
static void Vec_VecPush(Vec_Vec_t *p, int Level, void *Entry)
static int Abc_ObjIsCi(Abc_Obj_t *pObj)
int Res_WinMarkPaths_rec(Abc_Obj_t *pNode, Abc_Obj_t *pPivot, int nLevelMin)
static int Vec_PtrPushUnique(Vec_Ptr_t *p, void *Entry)
static int Abc_ObjFanoutNum(Abc_Obj_t *pObj)
static void Abc_NodeSetTravIdPrevious(Abc_Obj_t *p)
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
#define ABC_ALLOC(type, num)
typedefABC_NAMESPACE_HEADER_START struct Res_Win_t_ Res_Win_t
INCLUDES ///.
static int Abc_NodeIsTravIdPrevious(Abc_Obj_t *p)
static int Abc_MaxInt(int a, int b)
static int Vec_PtrSize(Vec_Ptr_t *p)
static void Vec_VecFree(Vec_Vec_t *p)
int Res_WinCompute(Abc_Obj_t *pNode, int nWinTfiMax, int nWinTfoMax, Res_Win_t *p)
static int Vec_PtrFind(Vec_Ptr_t *p, void *Entry)
static int Abc_ObjIsCo(Abc_Obj_t *pObj)
static void Vec_VecClear(Vec_Vec_t *p)
static int Abc_ObjIsNode(Abc_Obj_t *pObj)
static int Abc_MinInt(int a, int b)
#define ABC_NAMESPACE_IMPL_END
static Vec_Vec_t * Vec_VecStart(int nSize)
int Res_WinComputeRoots(Res_Win_t *p)
#define ABC_NAMESPACE_IMPL_START
static void * Vec_PtrEntry(Vec_Ptr_t *p, int i)
void Res_WinComputeRoots_rec(Abc_Obj_t *pNode, int nLevelMax, int nFanoutLimit, Vec_Ptr_t *vRoots)
static int Abc_NodeIsTravIdCurrent(Abc_Obj_t *p)
static int Res_WinComputeRootsCheck(Abc_Obj_t *pNode, int nLevelMax, int nFanoutLimit)
#define Abc_ObjForEachFanout(pObj, pFanout, i)
static Vec_Ptr_t * Vec_PtrAlloc(int nCap)
FUNCTION DEFINITIONS ///.
#define Abc_ObjForEachFanin(pObj, pFanin, i)
int Res_WinCollectLeavesAndNodes(Res_Win_t *p)
void Res_WinFinalizeRoots_rec(Abc_Obj_t *pObj, Vec_Ptr_t *vRoots)
static void Abc_NtkIncrementTravId(Abc_Ntk_t *p)
void Res_WinAddMissing_rec(Res_Win_t *p, Abc_Obj_t *pObj, int nLevTravMin)
static int Vec_VecSize(Vec_Vec_t *p)
#define Vec_VecForEachLevelStartStop(vGlob, vVec, i, LevelStart, LevelStop)
#define ABC_INFINITY
MACRO DEFINITIONS ///.
ABC_NAMESPACE_IMPL_START Res_Win_t * Res_WinAlloc()
DECLARATIONS ///.
static void Vec_PtrClear(Vec_Ptr_t *p)
#define Vec_VecForEachLevelReverseStartStop(vGlob, vVec, i, LevelStart, LevelStop)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
void Res_WinMarkPaths(Res_Win_t *p)
void Res_WinAddMissing(Res_Win_t *p)
void Res_WinFree(Res_Win_t *p)
int Res_WinFinalizeRoots(Res_Win_t *p)
static void Abc_NodeSetTravIdCurrent(Abc_Obj_t *p)
static void Vec_PtrFree(Vec_Ptr_t *p)