summaryrefslogtreecommitdiffstats
path: root/src/aig/aig
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2012-10-05 17:07:38 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2012-10-05 17:07:38 -0700
commit6eb2e7156aaa62cef58f5e7b1f6d944c09688a41 (patch)
treeaa201363298e4f2328f586afd55a593f640ec157 /src/aig/aig
parentf11f645f1d9edbcbbf32e7afdf648ea70070ea68 (diff)
downloadabc-6eb2e7156aaa62cef58f5e7b1f6d944c09688a41.tar.gz
abc-6eb2e7156aaa62cef58f5e7b1f6d944c09688a41.tar.bz2
abc-6eb2e7156aaa62cef58f5e7b1f6d944c09688a41.zip
Simplification in AIG manager object counting.
Diffstat (limited to 'src/aig/aig')
-rw-r--r--src/aig/aig/aig.h5
-rw-r--r--src/aig/aig/aigCheck.c2
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