54 if ( pObj->
pData == NULL )
126 if ( pObj->
pData == pObj )
165 if ( pObj->
pData == NULL )
170 printf(
"The number of class members with fanouts = %5d.\n", Counter );
190 if ( pObj->
pData == NULL )
257 printf(
"Abc_NtkHaigReconstruct: Check for History AIG has failed.\n" );
347 Abc_Obj_t * pObjOld, * pObjAbcThis, * pObjAbcRepr;
377 if ( pObj->
pData == NULL )
380 if ( pObj->
pData == pObj )
393 assert( pObjAbcRepr != pObjAbcThis );
398 while ( pObjAbcRepr->
pData )
401 pObjAbcRepr->
pData = pObjAbcThis;
411 printf(
"Abc_NtkHaigUse: The network check has failed.\n" );
435 printf(
"Collected %6d class members.\n",
Vec_PtrSize(vMembers) );
439 printf(
"Collected %6d classes. (Ave = %5.2f)\n",
Vec_PtrSize(vClasses),
460 int i, nClasses, nMembers, nFanouts, nNormals;
466 if ( pRepr && pRepr->
pData == pObj )
467 pRepr->
pData = pRepr;
469 if ( pObj->
pData == pObj )
475 if ( pObj->
pData == NULL )
479 pRepr->
pData = pRepr;
486 if ( pObj->
pData == NULL )
489 if ( pRepr->
Id > pObj->
Id )
498 nMembers = nClasses = nFanouts = nNormals = 0;
501 if ( pObj->
pData == NULL )
506 if ( pObj->
pData == pObj )
Hop_Obj_t * Hop_ObjRepr(Hop_Obj_t *pObj)
int Hop_ManCheck(Hop_Man_t *p)
DECLARATIONS ///.
static Hop_Obj_t * Hop_ObjFanin1(Hop_Obj_t *pObj)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
static Abc_Obj_t * Abc_ObjFanin1(Abc_Obj_t *pObj)
static int Abc_ObjIsCi(Abc_Obj_t *pObj)
static int Hop_ObjRefs(Hop_Obj_t *pObj)
static Hop_Obj_t * Hop_ManConst1(Hop_Man_t *p)
ABC_DLL Abc_Obj_t * Abc_AigConst1(Abc_Ntk_t *pNtk)
Hop_Obj_t * Hop_And(Hop_Man_t *p, Hop_Obj_t *p0, Hop_Obj_t *p1)
static Hop_Obj_t * Hop_ObjChild0Hop(Hop_Obj_t *pObj)
static int Hop_ObjIsNode(Hop_Obj_t *pObj)
static int Abc_ObjFanoutNum(Abc_Obj_t *pObj)
#define Hop_ManForEachPi(p, pObj, i)
ITERATORS ///.
#define Hop_ManForEachPo(p, pObj, i)
Abc_Ntk_t * Abc_NtkHaigRecreateAig(Abc_Ntk_t *pNtk, Hop_Man_t *p)
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
#define Abc_NtkForEachCo(pNtk, pCo, i)
static Abc_Obj_t * Abc_NtkCi(Abc_Ntk_t *pNtk, int i)
ABC_DLL int Abc_NtkCheck(Abc_Ntk_t *pNtk)
FUNCTION DEFINITIONS ///.
static int Hop_ObjFaninC1(Hop_Obj_t *pObj)
static int Vec_PtrSize(Vec_Ptr_t *p)
int Abc_NtkHaigCheckTfi(Abc_Ntk_t *pNtk, Abc_Obj_t *pOld, Abc_Obj_t *pNew)
static Abc_Obj_t * Abc_ObjFanin0(Abc_Obj_t *pObj)
int Abc_NtkHaigResetReprs(Hop_Man_t *p)
ABC_DLL void Abc_NtkDelete(Abc_Ntk_t *pNtk)
void Hop_ManStop(Hop_Man_t *p)
ABC_DLL void Abc_ObjAddFanin(Abc_Obj_t *pObj, Abc_Obj_t *pFanin)
static int Abc_ObjIsNode(Abc_Obj_t *pObj)
ABC_DLL Abc_Obj_t * Abc_AigAnd(Abc_Aig_t *pMan, Abc_Obj_t *p0, Abc_Obj_t *p1)
ABC_DLL Abc_Ntk_t * Abc_NtkStartFrom(Abc_Ntk_t *pNtk, Abc_NtkType_t Type, Abc_NtkFunc_t Func)
static Hop_Obj_t * Hop_ObjChild1Hop(Hop_Obj_t *pObj)
#define ABC_NAMESPACE_IMPL_END
static Hop_Obj_t * Hop_ManPo(Hop_Man_t *p, int i)
Hop_Man_t * Hop_ManStart()
DECLARATIONS ///.
static int Hop_IsComplement(Hop_Obj_t *p)
Abc_Ntk_t * Abc_NtkHopRemoveLoops(Abc_Ntk_t *pNtk, Hop_Man_t *pMan)
static Hop_Obj_t * Hop_ObjFanin0(Hop_Obj_t *pObj)
static void Vec_PtrWriteEntry(Vec_Ptr_t *p, int i, void *Entry)
#define ABC_NAMESPACE_IMPL_START
int Abc_NtkHaigCountFans(Hop_Man_t *p)
int Abc_NtkHaigCheckTfi_rec(Abc_Obj_t *pNode, Abc_Obj_t *pOld)
static int Abc_NodeIsTravIdCurrent(Abc_Obj_t *p)
ABC_NAMESPACE_IMPL_START Vec_Ptr_t * Abc_NtkHaigCollectMembers(Hop_Man_t *p)
DECLARATIONS ///.
static int Hop_ObjFaninC0(Hop_Obj_t *pObj)
static Vec_Ptr_t * Vec_PtrAlloc(int nCap)
FUNCTION DEFINITIONS ///.
static Hop_Obj_t * Hop_NotCond(Hop_Obj_t *p, int c)
Hop_Man_t * Abc_NtkHaigReconstruct(Hop_Man_t *p)
static void Abc_NtkIncrementTravId(Abc_Ntk_t *p)
Vec_Ptr_t * Abc_NtkHaigCreateClasses(Vec_Ptr_t *vMembers)
static Abc_Obj_t * Abc_ObjNotCond(Abc_Obj_t *p, int c)
Hop_Obj_t * Hop_ObjCreatePo(Hop_Man_t *p, Hop_Obj_t *pDriver)
static Abc_Obj_t * Hop_ObjChild1Next(Hop_Obj_t *pObj)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
static Hop_Obj_t * Hop_Regular(Hop_Obj_t *p)
static int Abc_ObjIsComplement(Abc_Obj_t *p)
Hop_Obj_t * Hop_ObjCreatePi(Hop_Man_t *p)
DECLARATIONS ///.
static Hop_Obj_t * Hop_ObjReprHop(Hop_Obj_t *pObj)
typedefABC_NAMESPACE_HEADER_START struct Hop_Man_t_ Hop_Man_t
INCLUDES ///.
void Abc_NtkHaigResetReprsOld(Hop_Man_t *pMan)
static Abc_Obj_t * Hop_ObjChild0Next(Hop_Obj_t *pObj)
static void Abc_NodeSetTravIdCurrent(Abc_Obj_t *p)
static void Vec_PtrFree(Vec_Ptr_t *p)