47 int i, iFanin, Value, Count;
62 int i, iFanin, Count = 1;
69 int i, iFanin, Value, Count;
84 int i, iFanin, Count = 1;
99 assert( Count1 == Count2 );
153 Sfm_NtkDfs_rec( p, iFanin, vNodes, vGroups, vGroupMap, vBoxesLeft );
162 Sfm_NtkDfs_rec( p, iFanin, vNodes, vGroups, vGroupMap, vBoxesLeft );
241 if ( iNode != p->iPivotNode )
268 if ( p->pPars->nFanoutMax && i > p->pPars->nFanoutMax )
332 return p->pPars->nWinSizeMax && (
Vec_IntSize(vNodes) > p->pPars->nWinSizeMax);
340 p->iPivotNode = iNode;
362 if (
Vec_IntSize(p->vDivs) < p->pPars->nWinSizeMax + 0 )
366 if (
Vec_IntSize(p->vDivs) < p->pPars->nWinSizeMax + 0 )
370 if (
Vec_IntSize(p->vDivs) > p->pPars->nWinSizeMax )
381 p->nMaxDivs += (int)(
Vec_IntSize(p->vDivs) == p->pPars->nWinSizeMax);
396 p->timeDiv += clkDiv;
439 int Temp = p->pPars->nWinSizeMax;
440 p->pPars->nWinSizeMax = 0;
445 p->pPars->nWinSizeMax = Temp;
449 p->timeWin +=
Abc_Clock() - clkWin - clkDiv;
454 printf(
"%6d : ", iNode );
455 printf(
"Leaves = %5d. ", 0 );
int Sfm_ObjDeref(Sfm_Ntk_t *p, int iObj)
static int Sfm_ObjIsUseful(Sfm_Ntk_t *p, int iNode)
typedefABC_NAMESPACE_HEADER_START struct Vec_Wec_t_ Vec_Wec_t
INCLUDES ///.
#define Sfm_ObjForEachFanin(p, Node, Fan, i)
void Sfm_NtkDfs_rec(Sfm_Ntk_t *p, int iNode, Vec_Int_t *vNodes, Vec_Wec_t *vGroups, Vec_Int_t *vGroupMap, Vec_Int_t *vBoxesLeft)
void Sfm_NtkComputeRoots_rec(Sfm_Ntk_t *p, int iNode, int nLevelMax, Vec_Int_t *vRoots, Vec_Int_t *vTfo)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
static int Sfm_ObjIsTravIdCurrent2(Sfm_Ntk_t *p, int Id)
static int Sfm_ObjFaninNum(Sfm_Ntk_t *p, int i)
int Sfm_ObjMffcSize(Sfm_Ntk_t *p, int iObj)
static int Sfm_ObjUpdateFaninCount(Sfm_Ntk_t *p, int iObj)
void Sfm_NtkAddDivisors(Sfm_Ntk_t *p, int iNode, int nLevelMax)
static int Sfm_ObjIsTravIdCurrent(Sfm_Ntk_t *p, int Id)
typedefABC_NAMESPACE_HEADER_START struct Sfm_Ntk_t_ Sfm_Ntk_t
INCLUDES ///.
static abctime Abc_Clock()
int Sfm_NtkCreateWindow(Sfm_Ntk_t *p, int iNode, int fVerbose)
#define Sfm_NtkForEachPo(p, i)
static int Sfm_ObjIsNode(Sfm_Ntk_t *p, int i)
static void Sfm_NtkIncrementTravId2(Sfm_Ntk_t *p)
static int Sfm_ObjLevel(Sfm_Ntk_t *p, int iObj)
static void Sfm_ObjSetTravIdCurrent(Sfm_Ntk_t *p, int Id)
ABC_NAMESPACE_IMPL_START int Sfm_ObjRef_rec(Sfm_Ntk_t *p, int iObj)
DECLARATIONS ///.
static int Sfm_ObjFanin(Sfm_Ntk_t *p, int i, int k)
static int Sfm_NtkCheckRoot(Sfm_Ntk_t *p, int iNode, int nLevelMax)
static void Vec_IntWriteEntry(Vec_Int_t *p, int i, int Entry)
static int Sfm_ObjIsPi(Sfm_Ntk_t *p, int i)
static Vec_Int_t * Vec_IntAlloc(int nCap)
FUNCTION DEFINITIONS ///.
#define Sfm_ObjForEachFanout(p, Node, Fan, i)
static int Sfm_ObjIsPo(Sfm_Ntk_t *p, int i)
static int Vec_IntEntry(Vec_Int_t *p, int i)
#define ABC_NAMESPACE_IMPL_END
int Sfm_ObjRef(Sfm_Ntk_t *p, int iObj)
int Sfm_ObjDeref_rec(Sfm_Ntk_t *p, int iObj)
static void Vec_IntPush(Vec_Int_t *p, int Entry)
static void Sfm_NtkIncrementTravId(Sfm_Ntk_t *p)
void Sfm_NtkWindowTest(Sfm_Ntk_t *p, int iNode)
static int Sfm_ObjLevelR(Sfm_Ntk_t *p, int iObj)
static int Sfm_ObjRefDecrement(Sfm_Ntk_t *p, int iObj)
#define ABC_NAMESPACE_IMPL_START
static Vec_Int_t * Vec_WecEntry(Vec_Wec_t *p, int i)
static int Vec_IntSize(Vec_Int_t *p)
int Sfm_NtkCheckOverlap(Sfm_Ntk_t *p, int iFan, int iNode)
int Sfm_NtkCheckOverlap_rec(Sfm_Ntk_t *p, int iThis, int iNode)
static void Vec_IntShrink(Vec_Int_t *p, int nSizeNew)
static void Sfm_ObjResetFaninCount(Sfm_Ntk_t *p, int iObj)
static int Sfm_ObjFanoutNum(Sfm_Ntk_t *p, int i)
static int Abc_Lit2Var(int Lit)
Vec_Int_t * Sfm_NtkDfs(Sfm_Ntk_t *p, Vec_Wec_t *vGroups, Vec_Int_t *vGroupMap, Vec_Int_t *vBoxesLeft)
static int Sfm_ObjIsFixed(Sfm_Ntk_t *p, int i)
#define Sfm_NtkForEachNode(p, i)
static int Sfm_ObjIsTravIdPrevious(Sfm_Ntk_t *p, int Id)
static void Vec_IntClear(Vec_Int_t *p)
#define Vec_IntForEachEntry(vVec, Entry, i)
MACRO DEFINITIONS ///.
int Sfm_NtkCollectTfi_rec(Sfm_Ntk_t *p, int iNode, Vec_Int_t *vNodes)
static int Sfm_ObjRefIncrement(Sfm_Ntk_t *p, int iObj)
static void Sfm_ObjSetTravIdCurrent2(Sfm_Ntk_t *p, int Id)