diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2012-10-05 17:07:38 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2012-10-05 17:07:38 -0700 |
commit | 6eb2e7156aaa62cef58f5e7b1f6d944c09688a41 (patch) | |
tree | aa201363298e4f2328f586afd55a593f640ec157 | |
parent | f11f645f1d9edbcbbf32e7afdf648ea70070ea68 (diff) | |
download | abc-6eb2e7156aaa62cef58f5e7b1f6d944c09688a41.tar.gz abc-6eb2e7156aaa62cef58f5e7b1f6d944c09688a41.tar.bz2 abc-6eb2e7156aaa62cef58f5e7b1f6d944c09688a41.zip |
Simplification in AIG manager object counting.
-rw-r--r-- | src/aig/aig/aig.h | 5 | ||||
-rw-r--r-- | src/aig/aig/aigCheck.c | 2 |
2 files changed, 3 insertions, 4 deletions
diff --git a/src/aig/aig/aig.h b/src/aig/aig/aig.h index 9953cf6a..61ed26e4 100644 --- a/src/aig/aig/aig.h +++ b/src/aig/aig/aig.h @@ -109,7 +109,6 @@ struct Aig_Man_t_ int nConstrs; // the number of constraints (model checking only) // AIG node counters int nObjs[AIG_OBJ_VOID];// the number of objects by type - int nCreated; // the number of created objects int nDeleted; // the number of deleted objects // structural hash table Aig_Obj_t ** pTable; // structural hash table @@ -250,7 +249,7 @@ static inline int Aig_ManAndNum( Aig_Man_t * p ) { return p->nO static inline int Aig_ManExorNum( Aig_Man_t * p ) { return p->nObjs[AIG_OBJ_EXOR]; } static inline int Aig_ManNodeNum( Aig_Man_t * p ) { return p->nObjs[AIG_OBJ_AND]+p->nObjs[AIG_OBJ_EXOR]; } static inline int Aig_ManGetCost( Aig_Man_t * p ) { return p->nObjs[AIG_OBJ_AND]+3*p->nObjs[AIG_OBJ_EXOR]; } -static inline int Aig_ManObjNum( Aig_Man_t * p ) { return p->nCreated - p->nDeleted; } +static inline int Aig_ManObjNum( Aig_Man_t * p ) { return Vec_PtrSize(p->vObjs) - p->nDeleted; } static inline int Aig_ManObjNumMax( Aig_Man_t * p ) { return Vec_PtrSize(p->vObjs); } static inline int Aig_ManRegNum( Aig_Man_t * p ) { return p->nRegs; } static inline int Aig_ManConstrNum( Aig_Man_t * p ) { return p->nConstrs; } @@ -366,8 +365,8 @@ static inline Aig_Obj_t * Aig_ManFetchMemory( Aig_Man_t * p ) Aig_Obj_t * pTemp; pTemp = (Aig_Obj_t *)Aig_MmFixedEntryFetch( p->pMemObjs ); memset( pTemp, 0, sizeof(Aig_Obj_t) ); + pTemp->Id = Vec_PtrSize(p->vObjs); Vec_PtrPush( p->vObjs, pTemp ); - pTemp->Id = p->nCreated++; return pTemp; } static inline void Aig_ManRecycleMemory( Aig_Man_t * p, Aig_Obj_t * pEntry ) diff --git a/src/aig/aig/aigCheck.c b/src/aig/aig/aigCheck.c index 166b6e18..e91abe25 100644 --- a/src/aig/aig/aigCheck.c +++ b/src/aig/aig/aigCheck.c @@ -100,7 +100,7 @@ int Aig_ManCheck( Aig_Man_t * p ) 1, Aig_ManCiNum(p), Aig_ManCoNum(p), Aig_ManBufNum(p), Aig_ManAndNum(p), Aig_ManExorNum(p), 1 + Aig_ManCiNum(p) + Aig_ManCoNum(p) + Aig_ManBufNum(p) + Aig_ManAndNum(p) + Aig_ManExorNum(p) ); printf( "Created = %d. Deleted = %d. Existing = %d.\n", - p->nCreated, p->nDeleted, p->nCreated - p->nDeleted ); + Aig_ManObjNumMax(p), p->nDeleted, Aig_ManObjNum(p) ); return 0; } // count the number of nodes in the table |