120 int i, iFanout = -1, LevelCur, Level = 0;
147 assert( p->pFanData != NULL );
148 assert( p->vLevelR == NULL );
177 assert( p->vLevelR != NULL );
198 int iFanout = -1, LevelOld, Lev, k, m;
199 assert( p->pFanData != NULL );
202 if ( p->vLevels == NULL )
250 int LevelOld, LevFanin, Lev, k;
251 assert( p->vLevelR != NULL );
254 if ( p->vLevels == NULL )
271 assert( LevelOld == Lev );
281 assert( LevFanin >= Lev );
289 assert( LevFanin >= Lev );
315 printf(
"Level of node %6d should be %4d instead of %4d.\n",
320 printf(
"Levels of %d nodes are incorrect.\n", Counter );
342 printf(
"Reverse level of node %6d should be %4d instead of %4d.\n",
347 printf(
"Reverse levels of %d nodes are incorrect.\n", Counter );
#define Aig_ObjForEachFanout(p, pObj, pFanout, iFan, i)
static int Aig_ObjLevelNew(Aig_Obj_t *pObj)
void Aig_ManUpdateLevel(Aig_Man_t *p, Aig_Obj_t *pObjNew)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
static void Vec_VecPush(Vec_Vec_t *p, int Level, void *Entry)
static Vec_Vec_t * Vec_VecAlloc(int nCap)
FUNCTION DEFINITIONS ///.
typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ Aig_Man_t
INCLUDES ///.
static void Vec_IntFillExtra(Vec_Int_t *p, int nSize, int Fill)
static Aig_Obj_t * Aig_ObjFanin0(Aig_Obj_t *pObj)
void Aig_ManStartReverseLevels(Aig_Man_t *p, int nMaxLevelIncrease)
static int Abc_MaxInt(int a, int b)
static Aig_Obj_t * Aig_ObjFanin1(Aig_Obj_t *pObj)
static void Vec_VecClear(Vec_Vec_t *p)
void Aig_ObjClearReverseLevel(Aig_Man_t *p, Aig_Obj_t *pObj)
void Aig_ManVerifyReverseLevel(Aig_Man_t *p)
static int Aig_ObjIsNode(Aig_Obj_t *pObj)
static void Vec_IntWriteEntry(Vec_Int_t *p, int i, int Entry)
int Aig_ObjReverseLevelNew(Aig_Man_t *p, Aig_Obj_t *pObj)
#define Aig_ManForEachNode(p, pObj, i)
static Vec_Int_t * Vec_IntAlloc(int nCap)
FUNCTION DEFINITIONS ///.
static int Vec_IntEntry(Vec_Int_t *p, int i)
#define ABC_NAMESPACE_IMPL_END
static void Vec_IntFill(Vec_Int_t *p, int nSize, int Fill)
static ABC_NAMESPACE_IMPL_START int Aig_ObjReverseLevel(Aig_Man_t *p, Aig_Obj_t *pObj)
DECLARATIONS ///.
static int Aig_ManObjNumMax(Aig_Man_t *p)
Vec_Ptr_t * Aig_ManDfsReverse(Aig_Man_t *p)
#define Vec_VecForEachEntryStart(Type, vGlob, pEntry, i, k, LevelStart)
void Aig_ManStopReverseLevels(Aig_Man_t *p)
#define ABC_NAMESPACE_IMPL_START
void Aig_ManUpdateReverseLevel(Aig_Man_t *p, Aig_Obj_t *pObjNew)
static void Aig_ObjSetReverseLevel(Aig_Man_t *p, Aig_Obj_t *pObj, int LevelR)
static int Aig_ObjLevel(Aig_Obj_t *pObj)
int Aig_ObjRequiredLevel(Aig_Man_t *p, Aig_Obj_t *pObj)
static void Vec_IntFree(Vec_Int_t *p)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
void Aig_ManVerifyLevel(Aig_Man_t *p)
int Aig_ManLevels(Aig_Man_t *p)
static void Vec_PtrFree(Vec_Ptr_t *p)