summaryrefslogtreecommitdiffstats
path: root/src/aig/gia
diff options
context:
space:
mode:
Diffstat (limited to 'src/aig/gia')
-rw-r--r--src/aig/gia/gia.h28
-rw-r--r--src/aig/gia/giaCSat.c6
-rw-r--r--src/aig/gia/giaCSatOld.c6
-rw-r--r--src/aig/gia/giaCTas.c6
-rw-r--r--src/aig/gia/giaChoice.c2
-rw-r--r--src/aig/gia/giaCof.c6
-rw-r--r--src/aig/gia/giaDup.c8
-rw-r--r--src/aig/gia/giaEmbed.c22
-rw-r--r--src/aig/gia/giaEnable.c2
-rw-r--r--src/aig/gia/giaForce.c22
-rw-r--r--src/aig/gia/giaFront.c2
-rw-r--r--src/aig/gia/giaIf.c4
-rw-r--r--src/aig/gia/giaMan.c2
-rw-r--r--src/aig/gia/giaSat.c2
-rw-r--r--src/aig/gia/giaSwitch.c8
-rw-r--r--src/aig/gia/giaUtil.c10
16 files changed, 64 insertions, 72 deletions
diff --git a/src/aig/gia/gia.h b/src/aig/gia/gia.h
index fd47d2c7..b3efa455 100644
--- a/src/aig/gia/gia.h
+++ b/src/aig/gia/gia.h
@@ -109,7 +109,6 @@ struct Gia_Man_t_
int nHTable; // hash table size
int fAddStrash; // performs additional structural hashing
int * pRefs; // the reference count
- int * pNodeRefs; // node references
Vec_Int_t * vLevels; // levels of the nodes
int nLevels; // the mamixum level
int nConstrs; // the number of constraints
@@ -368,21 +367,14 @@ static inline void Gia_ObjSetAndLevel( Gia_Man_t * p, Gia_Obj_t * pObj )
static inline int Gia_ObjNum( Gia_Man_t * p, Gia_Obj_t * pObj ) { return (int)(unsigned char)Vec_StrGetEntry(p->vTtNums, Gia_ObjId(p,pObj)); }
static inline void Gia_ObjSetNum( Gia_Man_t * p, Gia_Obj_t * pObj, int n ) { assert( n >= 0 && n < 254 ); Vec_StrSetEntry(p->vTtNums, Gia_ObjId(p,pObj), (char)n); }
-static inline int Gia_ObjRefs( Gia_Man_t * p, Gia_Obj_t * pObj ) { assert( p->pRefs); return p->pRefs[Gia_ObjId(p, pObj)]; }
-static inline int Gia_ObjRefsId( Gia_Man_t * p, int Id ) { assert( p->pRefs); return p->pRefs[Id]; }
-static inline int Gia_ObjRefInc( Gia_Man_t * p, Gia_Obj_t * pObj ) { assert( p->pRefs); return p->pRefs[Gia_ObjId(p, pObj)]++; }
-static inline int Gia_ObjRefDec( Gia_Man_t * p, Gia_Obj_t * pObj ) { assert( p->pRefs); return --p->pRefs[Gia_ObjId(p, pObj)]; }
-static inline void Gia_ObjRefFanin0Inc(Gia_Man_t * p, Gia_Obj_t * pObj){ assert( p->pRefs); Gia_ObjRefInc(p, Gia_ObjFanin0(pObj)); }
-static inline void Gia_ObjRefFanin1Inc(Gia_Man_t * p, Gia_Obj_t * pObj){ assert( p->pRefs); Gia_ObjRefInc(p, Gia_ObjFanin1(pObj)); }
-static inline void Gia_ObjRefFanin0Dec(Gia_Man_t * p, Gia_Obj_t * pObj){ assert( p->pRefs); Gia_ObjRefDec(p, Gia_ObjFanin0(pObj)); }
-static inline void Gia_ObjRefFanin1Dec(Gia_Man_t * p, Gia_Obj_t * pObj){ assert( p->pRefs); Gia_ObjRefDec(p, Gia_ObjFanin1(pObj)); }
-
-static inline int Gia_ObjNodeRefs( Gia_Man_t * p, Gia_Obj_t * pObj ) { assert( p->pNodeRefs); return p->pNodeRefs[Gia_ObjId(p, pObj)]; }
-static inline int Gia_ObjNodeRefsId( Gia_Man_t * p, int Id ) { assert( p->pNodeRefs); return p->pNodeRefs[Id]; }
-static inline int Gia_ObjNodeRefIncId( Gia_Man_t * p, int Id ) { assert( p->pNodeRefs); return p->pNodeRefs[Id]++; }
-static inline int Gia_ObjNodeRefDecId( Gia_Man_t * p, int Id ) { assert( p->pNodeRefs); return --p->pNodeRefs[Id]; }
-static inline int Gia_ObjNodeRefInc( Gia_Man_t * p, Gia_Obj_t * pObj ) { assert( p->pNodeRefs); return p->pNodeRefs[Gia_ObjId(p, pObj)]++; }
-static inline int Gia_ObjNodeRefDec( Gia_Man_t * p, Gia_Obj_t * pObj ) { assert( p->pNodeRefs); return --p->pNodeRefs[Gia_ObjId(p, pObj)]; }
+static inline int Gia_ObjRefNumId( Gia_Man_t * p, int Id ) { assert(p->pRefs); return p->pRefs[Id]; }
+static inline int Gia_ObjRefNum( Gia_Man_t * p, Gia_Obj_t * pObj ) { assert(p->pRefs); return p->pRefs[Gia_ObjId(p, pObj)]; }
+static inline int Gia_ObjRefInc( Gia_Man_t * p, Gia_Obj_t * pObj ) { assert(p->pRefs); return p->pRefs[Gia_ObjId(p, pObj)]++; }
+static inline int Gia_ObjRefDec( Gia_Man_t * p, Gia_Obj_t * pObj ) { assert(p->pRefs); return --p->pRefs[Gia_ObjId(p, pObj)]; }
+static inline void Gia_ObjRefFanin0Inc(Gia_Man_t * p, Gia_Obj_t * pObj){ assert(p->pRefs); Gia_ObjRefInc(p, Gia_ObjFanin0(pObj)); }
+static inline void Gia_ObjRefFanin1Inc(Gia_Man_t * p, Gia_Obj_t * pObj){ assert(p->pRefs); Gia_ObjRefInc(p, Gia_ObjFanin1(pObj)); }
+static inline void Gia_ObjRefFanin0Dec(Gia_Man_t * p, Gia_Obj_t * pObj){ assert(p->pRefs); Gia_ObjRefDec(p, Gia_ObjFanin0(pObj)); }
+static inline void Gia_ObjRefFanin1Dec(Gia_Man_t * p, Gia_Obj_t * pObj){ assert(p->pRefs); Gia_ObjRefDec(p, Gia_ObjFanin1(pObj)); }
static inline void Gia_ObjSetTravIdCurrent( Gia_Man_t * p, Gia_Obj_t * pObj ) { assert( Gia_ObjId(p, pObj) < p->nTravIdsAlloc ); p->pTravIds[Gia_ObjId(p, pObj)] = p->nTravIds; }
static inline void Gia_ObjSetTravIdPrevious( Gia_Man_t * p, Gia_Obj_t * pObj ) { assert( Gia_ObjId(p, pObj) < p->nTravIdsAlloc ); p->pTravIds[Gia_ObjId(p, pObj)] = p->nTravIds - 1; }
@@ -911,9 +903,9 @@ extern void Gia_ManSetPhase( Gia_Man_t * p );
extern void Gia_ManSetPhase1( Gia_Man_t * p );
extern void Gia_ManCleanPhase( Gia_Man_t * p );
extern int Gia_ManLevelNum( Gia_Man_t * p );
-extern void Gia_ManSetRefs( Gia_Man_t * p );
-extern int * Gia_ManCreateMuxRefs( Gia_Man_t * p );
+extern void Gia_ManCreateValueRefs( Gia_Man_t * p );
extern void Gia_ManCreateRefs( Gia_Man_t * p );
+extern int * Gia_ManCreateMuxRefs( Gia_Man_t * p );
extern int Gia_ManCrossCut( Gia_Man_t * p );
extern int Gia_ManIsNormalized( Gia_Man_t * p );
extern Vec_Int_t * Gia_ManCollectPoIds( Gia_Man_t * p );
diff --git a/src/aig/gia/giaCSat.c b/src/aig/gia/giaCSat.c
index b4bc5b3e..6d7df6b5 100644
--- a/src/aig/gia/giaCSat.c
+++ b/src/aig/gia/giaCSat.c
@@ -375,8 +375,8 @@ static inline int Cbs_VarFaninFanoutMax( Cbs_Man_t * p, Gia_Obj_t * pObj )
int Count0, Count1;
assert( !Gia_IsComplement(pObj) );
assert( Gia_ObjIsAnd(pObj) );
- Count0 = Gia_ObjRefs( p->pAig, Gia_ObjFanin0(pObj) );
- Count1 = Gia_ObjRefs( p->pAig, Gia_ObjFanin1(pObj) );
+ Count0 = Gia_ObjRefNum( p->pAig, Gia_ObjFanin0(pObj) );
+ Count1 = Gia_ObjRefNum( p->pAig, Gia_ObjFanin1(pObj) );
return Abc_MaxInt( Count0, Count1 );
}
@@ -888,7 +888,7 @@ int Cbs_ManSolve_rec( Cbs_Man_t * p, int Level )
else assert( 0 );
assert( Cbs_VarIsJust( pVar ) );
// chose decision variable using fanout count
- if ( Gia_ObjRefs(p->pAig, Gia_ObjFanin0(pVar)) > Gia_ObjRefs(p->pAig, Gia_ObjFanin1(pVar)) )
+ if ( Gia_ObjRefNum(p->pAig, Gia_ObjFanin0(pVar)) > Gia_ObjRefNum(p->pAig, Gia_ObjFanin1(pVar)) )
pDecVar = Gia_Not(Gia_ObjChild0(pVar));
else
pDecVar = Gia_Not(Gia_ObjChild1(pVar));
diff --git a/src/aig/gia/giaCSatOld.c b/src/aig/gia/giaCSatOld.c
index 1dd4a425..75b4c3e0 100644
--- a/src/aig/gia/giaCSatOld.c
+++ b/src/aig/gia/giaCSatOld.c
@@ -330,8 +330,8 @@ static inline int Cbs0_VarFaninFanoutMax( Cbs0_Man_t * p, Gia_Obj_t * pObj )
int Count0, Count1;
assert( !Gia_IsComplement(pObj) );
assert( Gia_ObjIsAnd(pObj) );
- Count0 = Gia_ObjRefs( p->pAig, Gia_ObjFanin0(pObj) );
- Count1 = Gia_ObjRefs( p->pAig, Gia_ObjFanin1(pObj) );
+ Count0 = Gia_ObjRefNum( p->pAig, Gia_ObjFanin0(pObj) );
+ Count1 = Gia_ObjRefNum( p->pAig, Gia_ObjFanin1(pObj) );
return Abc_MaxInt( Count0, Count1 );
}
@@ -612,7 +612,7 @@ int Cbs0_ManSolve_rec( Cbs0_Man_t * p )
else assert( 0 );
assert( Cbs0_VarIsJust( pVar ) );
// chose decision variable using fanout count
- if ( Gia_ObjRefs(p->pAig, Gia_ObjFanin0(pVar)) > Gia_ObjRefs(p->pAig, Gia_ObjFanin1(pVar)) )
+ if ( Gia_ObjRefNum(p->pAig, Gia_ObjFanin0(pVar)) > Gia_ObjRefNum(p->pAig, Gia_ObjFanin1(pVar)) )
pDecVar = Gia_Not(Gia_ObjChild0(pVar));
else
pDecVar = Gia_Not(Gia_ObjChild1(pVar));
diff --git a/src/aig/gia/giaCTas.c b/src/aig/gia/giaCTas.c
index 6dd0e0fa..79b42c66 100644
--- a/src/aig/gia/giaCTas.c
+++ b/src/aig/gia/giaCTas.c
@@ -441,8 +441,8 @@ static inline int Tas_VarFaninFanoutMax( Tas_Man_t * p, Gia_Obj_t * pObj )
int Count0, Count1;
assert( !Gia_IsComplement(pObj) );
assert( Gia_ObjIsAnd(pObj) );
- Count0 = Gia_ObjRefs( p->pAig, Gia_ObjFanin0(pObj) );
- Count1 = Gia_ObjRefs( p->pAig, Gia_ObjFanin1(pObj) );
+ Count0 = Gia_ObjRefNum( p->pAig, Gia_ObjFanin0(pObj) );
+ Count1 = Gia_ObjRefNum( p->pAig, Gia_ObjFanin1(pObj) );
return Abc_MaxInt( Count0, Count1 );
}
@@ -1321,7 +1321,7 @@ int Tas_ManSolve_rec( Tas_Man_t * p, int Level )
if ( pVar != NULL )
{
assert( Tas_VarIsJust( pVar ) );
- if ( Gia_ObjRefs(p->pAig, Gia_ObjFanin0(pVar)) > Gia_ObjRefs(p->pAig, Gia_ObjFanin1(pVar)) )
+ if ( Gia_ObjRefNum(p->pAig, Gia_ObjFanin0(pVar)) > Gia_ObjRefNum(p->pAig, Gia_ObjFanin1(pVar)) )
pDecVar = Gia_Not(Gia_ObjChild0(pVar));
else
pDecVar = Gia_Not(Gia_ObjChild1(pVar));
diff --git a/src/aig/gia/giaChoice.c b/src/aig/gia/giaChoice.c
index a1d9e325..f5619028 100644
--- a/src/aig/gia/giaChoice.c
+++ b/src/aig/gia/giaChoice.c
@@ -228,7 +228,7 @@ int Gia_ManHasChoices( Gia_Man_t * p )
Gia_ManCreateRefs( p );
Gia_ManForEachAnd( p, pObj, i )
{
- if ( Gia_ObjRefs(p, pObj) == 0 )
+ if ( Gia_ObjRefNum(p, pObj) == 0 )
{
if ( Gia_ObjReprObj( p, Gia_ObjId(p, pObj) ) == NULL )
nFailNoRepr++;
diff --git a/src/aig/gia/giaCof.c b/src/aig/gia/giaCof.c
index d41b6723..e9fd6c8b 100644
--- a/src/aig/gia/giaCof.c
+++ b/src/aig/gia/giaCof.c
@@ -143,7 +143,7 @@ Cof_Man_t * Cof_ManCreateLogicSimple( Gia_Man_t * pGia )
pObj->Value = iHandle;
pObjLog = Cof_ManObj( p, iHandle );
pObjLog->nFanins = 0;
- pObjLog->nFanouts = Gia_ObjRefs( pGia, pObj );
+ pObjLog->nFanouts = Gia_ObjRefNum( pGia, pObj );
pObjLog->Id = i;
pObjLog->Value = 0;
if ( Gia_ObjIsAnd(pObj) )
@@ -811,7 +811,7 @@ Vec_Int_t * Gia_ManCofVars( Gia_Man_t * p, int nFanLim )
Gia_ManCreateRefs( p );
vVars = Vec_IntAlloc( 100 );
Gia_ManForEachObj( p, pObj, i )
- if ( Gia_ObjIsCand(pObj) && Gia_ObjRefs(p, pObj) >= nFanLim )
+ if ( Gia_ObjIsCand(pObj) && Gia_ObjRefNum(p, pObj) >= nFanLim )
Vec_IntPush( vVars, i );
ABC_FREE( p->pRefs );
return vVars;
@@ -877,7 +877,7 @@ Gia_Man_t * Gia_ManDupCofAllInt( Gia_Man_t * p, Vec_Int_t * vSigs, int fVerbose
Vec_IntSort( vSigsNew, 0 );
iVar = Vec_IntPop( vSigsNew );
// Gia_ManCreateRefs( pAig );
-// printf( "ref count = %d\n", Gia_ObjRefs( pAig, Gia_ManObj(pAig, iVar) ) );
+// printf( "ref count = %d\n", Gia_ObjRefNum( pAig, Gia_ManObj(pAig, iVar) ) );
// ABC_FREE( pAig->pRefs );
pCof = Gia_ManDupCofInt( pAig, iVar );
pNew = Gia_ManCleanup( pCof );
diff --git a/src/aig/gia/giaDup.c b/src/aig/gia/giaDup.c
index d598b511..e49ce616 100644
--- a/src/aig/gia/giaDup.c
+++ b/src/aig/gia/giaDup.c
@@ -1061,7 +1061,7 @@ Gia_Man_t * Gia_ManDupTrimmed( Gia_Man_t * p, int fTrimCis, int fTrimCos, int fD
// check if there are PIs to be added
Gia_ManCreateRefs( p );
Gia_ManForEachPi( p, pObj, i )
- if ( !fTrimCis || Gia_ObjRefs(p, pObj) )
+ if ( !fTrimCis || Gia_ObjRefNum(p, pObj) )
break;
if ( i == Gia_ManPiNum(p) ) // there is no PIs - add dummy PI
Gia_ManAppendCi(pNew);
@@ -1069,7 +1069,7 @@ Gia_Man_t * Gia_ManDupTrimmed( Gia_Man_t * p, int fTrimCis, int fTrimCos, int fD
Gia_ManFillValue( p );
Gia_ManConst0(p)->Value = 0;
Gia_ManForEachCi( p, pObj, i )
- if ( !fTrimCis || Gia_ObjRefs(p, pObj) || Gia_ObjIsRo(p, pObj) )
+ if ( !fTrimCis || Gia_ObjRefNum(p, pObj) || Gia_ObjIsRo(p, pObj) )
pObj->Value = Gia_ManAppendCi(pNew);
Gia_ManForEachAnd( p, pObj, i )
pObj->Value = Gia_ManAppendAnd( pNew, Gia_ObjFanin0Copy(pObj), Gia_ObjFanin1Copy(pObj) );
@@ -1142,7 +1142,7 @@ Gia_Man_t * Gia_ManDupTrimmed2( Gia_Man_t * p )
Gia_ObjRefFanin0Dec( p, pObj );
// check if PIs are left
Gia_ManForEachPi( p, pObj, i )
- if ( Gia_ObjRefs(p, pObj) )
+ if ( Gia_ObjRefNum(p, pObj) )
break;
if ( i == Gia_ManPiNum(p) ) // there is no PIs - add dummy PI
Gia_ManAppendCi(pNew);
@@ -1150,7 +1150,7 @@ Gia_Man_t * Gia_ManDupTrimmed2( Gia_Man_t * p )
Gia_ManFillValue( p );
Gia_ManConst0(p)->Value = 0;
Gia_ManForEachCi( p, pObj, i )
- if ( Gia_ObjRefs(p, pObj) || Gia_ObjIsRo(p, pObj) )
+ if ( Gia_ObjRefNum(p, pObj) || Gia_ObjIsRo(p, pObj) )
pObj->Value = Gia_ManAppendCi(pNew);
Gia_ManForEachAnd( p, pObj, i )
pObj->Value = Gia_ManAppendAnd( pNew, Gia_ObjFanin0Copy(pObj), Gia_ObjFanin1Copy(pObj) );
diff --git a/src/aig/gia/giaEmbed.c b/src/aig/gia/giaEmbed.c
index 17f80707..b6c4655e 100644
--- a/src/aig/gia/giaEmbed.c
+++ b/src/aig/gia/giaEmbed.c
@@ -190,7 +190,7 @@ Emb_Man_t * Emb_ManStartSimple( Gia_Man_t * pGia )
pObjLog = Emb_ManObj( p, hHandle );
pObjLog->hHandle = hHandle;
pObjLog->nFanins = Gia_ManCoNum(pGia); //0;
- pObjLog->nFanouts = Gia_ObjRefs( pGia, Gia_ManConst0(pGia) );
+ pObjLog->nFanouts = Gia_ObjRefNum( pGia, Gia_ManConst0(pGia) );
// count objects
hHandle += Emb_ObjSize( pObjLog );
nNodes = 1;
@@ -204,7 +204,7 @@ Emb_Man_t * Emb_ManStartSimple( Gia_Man_t * pGia )
pObjLog = Emb_ManObj( p, hHandle );
pObjLog->hHandle = hHandle;
pObjLog->nFanins = Gia_ObjIsRo( pGia, pObj );
- pObjLog->nFanouts = Gia_ObjRefs( pGia, pObj );
+ pObjLog->nFanouts = Gia_ObjRefNum( pGia, pObj );
pObjLog->fCi = 1;
// count objects
hHandle += Emb_ObjSize( pObjLog );
@@ -213,13 +213,13 @@ Emb_Man_t * Emb_ManStartSimple( Gia_Man_t * pGia )
// create internal nodes
Gia_ManForEachAnd( pGia, pObj, i )
{
- assert( Gia_ObjRefs( pGia, pObj ) > 0 );
+ assert( Gia_ObjRefNum( pGia, pObj ) > 0 );
// create node object
pObj->Value = hHandle;
pObjLog = Emb_ManObj( p, hHandle );
pObjLog->hHandle = hHandle;
pObjLog->nFanins = 2;
- pObjLog->nFanouts = Gia_ObjRefs( pGia, pObj );
+ pObjLog->nFanouts = Gia_ObjRefNum( pGia, pObj );
// add fanins
pFanLog = Emb_ManObj( p, Gia_ObjValue(Gia_ObjFanin0(pObj)) );
Emb_ObjAddFanin( pObjLog, pFanLog );
@@ -364,7 +364,7 @@ void Emb_ManCreateRefsSpecial( Gia_Man_t * p )
Gia_ObjRefDec( p, Gia_Regular(pObjD0) );
}
Gia_ManForEachAnd( p, pObj, i )
- assert( Gia_ObjRefs(p, pObj) > 0 );
+ assert( Gia_ObjRefNum(p, pObj) > 0 );
Gia_ManCleanMark0( p );
}
@@ -394,7 +394,7 @@ void Emb_ManTransformRefs( Gia_Man_t * p, int * pnObjs, int * pnFanios )
pObj->fMark0 = 1;
// mark those nodes that have ref count more than 1
Gia_ManForEachAnd( p, pObj, i )
- pObj->fMark0 = (Gia_ObjRefs(p, pObj) > 1);
+ pObj->fMark0 = (Gia_ObjRefNum(p, pObj) > 1);
// mark the output drivers
Gia_ManForEachCoDriver( p, pObj, i )
pObj->fMark0 = 1;
@@ -516,7 +516,7 @@ Emb_Man_t * Emb_ManStart( Gia_Man_t * pGia )
pObjLog = Emb_ManObj( p, hHandle );
pObjLog->hHandle = hHandle;
pObjLog->nFanins = Gia_ManCoNum(pGia); //0;
- pObjLog->nFanouts = Gia_ObjRefs( pGia, Gia_ManConst0(pGia) );
+ pObjLog->nFanouts = Gia_ObjRefNum( pGia, Gia_ManConst0(pGia) );
// count objects
hHandle += Emb_ObjSize( pObjLog );
nNodes++;
@@ -530,7 +530,7 @@ Emb_Man_t * Emb_ManStart( Gia_Man_t * pGia )
pObjLog = Emb_ManObj( p, hHandle );
pObjLog->hHandle = hHandle;
pObjLog->nFanins = Gia_ObjIsRo( pGia, pObj );
- pObjLog->nFanouts = Gia_ObjRefs( pGia, pObj );
+ pObjLog->nFanouts = Gia_ObjRefNum( pGia, pObj );
pObjLog->fCi = 1;
// count objects
hHandle += Emb_ObjSize( pObjLog );
@@ -543,17 +543,17 @@ Emb_Man_t * Emb_ManStart( Gia_Man_t * pGia )
{
if ( pObj->fMark0 == 0 )
{
- assert( Gia_ObjRefs( pGia, pObj ) == 0 );
+ assert( Gia_ObjRefNum( pGia, pObj ) == 0 );
continue;
}
- assert( Gia_ObjRefs( pGia, pObj ) > 0 );
+ assert( Gia_ObjRefNum( pGia, pObj ) > 0 );
Emb_ManCollectSuper( pGia, pObj, vSuper, vVisit );
// create node object
pObj->Value = hHandle;
pObjLog = Emb_ManObj( p, hHandle );
pObjLog->hHandle = hHandle;
pObjLog->nFanins = Vec_IntSize( vSuper );
- pObjLog->nFanouts = Gia_ObjRefs( pGia, pObj );
+ pObjLog->nFanouts = Gia_ObjRefNum( pGia, pObj );
// add fanins
Gia_ManForEachObjVec( vSuper, pGia, pFanin, k )
{
diff --git a/src/aig/gia/giaEnable.c b/src/aig/gia/giaEnable.c
index f2fbd123..9cb0dce5 100644
--- a/src/aig/gia/giaEnable.c
+++ b/src/aig/gia/giaEnable.c
@@ -110,7 +110,7 @@ void Gia_ManPrintSignals( Gia_Man_t * p, int * pFreq, char * pStr )
if ( pFreq[i] > 10 )
{
printf( "%3d : Obj = %6d Refs = %6d Freq = %6d\n",
- ++Counter, i, Gia_ObjRefs(p, Gia_ManObj(p,i)), pFreq[i] );
+ ++Counter, i, Gia_ObjRefNum(p, Gia_ManObj(p,i)), pFreq[i] );
Vec_IntPush( vObjs, i );
}
Vec_IntFree( vObjs );
diff --git a/src/aig/gia/giaForce.c b/src/aig/gia/giaForce.c
index a32e71b4..d37fa455 100644
--- a/src/aig/gia/giaForce.c
+++ b/src/aig/gia/giaForce.c
@@ -168,7 +168,7 @@ Frc_Man_t * Frc_ManStartSimple( Gia_Man_t * pGia )
pObjLog = Frc_ManObj( p, hHandle );
pObjLog->hHandle = hHandle;
pObjLog->nFanins = 0;
- pObjLog->nFanouts = Gia_ObjRefs( pGia, Gia_ManConst0(pGia) );
+ pObjLog->nFanouts = Gia_ObjRefNum( pGia, Gia_ManConst0(pGia) );
// count objects
hHandle += Frc_ObjSize( pObjLog );
nNodes = 1;
@@ -182,7 +182,7 @@ Frc_Man_t * Frc_ManStartSimple( Gia_Man_t * pGia )
pObjLog = Frc_ManObj( p, hHandle );
pObjLog->hHandle = hHandle;
pObjLog->nFanins = 0;
- pObjLog->nFanouts = Gia_ObjRefs( pGia, pObj );
+ pObjLog->nFanouts = Gia_ObjRefNum( pGia, pObj );
pObjLog->fCi = 0;
// count objects
hHandle += Frc_ObjSize( pObjLog );
@@ -191,13 +191,13 @@ Frc_Man_t * Frc_ManStartSimple( Gia_Man_t * pGia )
// create internal nodes
Gia_ManForEachAnd( pGia, pObj, i )
{
- assert( Gia_ObjRefs( pGia, pObj ) > 0 );
+ assert( Gia_ObjRefNum( pGia, pObj ) > 0 );
// create node object
pObj->Value = hHandle;
pObjLog = Frc_ManObj( p, hHandle );
pObjLog->hHandle = hHandle;
pObjLog->nFanins = 2;
- pObjLog->nFanouts = Gia_ObjRefs( pGia, pObj );
+ pObjLog->nFanouts = Gia_ObjRefNum( pGia, pObj );
// add fanins
pFanLog = Frc_ManObj( p, Gia_ObjValue(Gia_ObjFanin0(pObj)) );
Frc_ObjAddFanin( pObjLog, pFanLog );
@@ -341,7 +341,7 @@ void Frc_ManCreateRefsSpecial( Gia_Man_t * p )
Gia_ObjRefDec( p, Gia_Regular(pObjD0) );
}
Gia_ManForEachAnd( p, pObj, i )
- assert( Gia_ObjRefs(p, pObj) > 0 );
+ assert( Gia_ObjRefNum(p, pObj) > 0 );
Gia_ManCleanMark0( p );
}
@@ -371,7 +371,7 @@ void Frc_ManTransformRefs( Gia_Man_t * p, int * pnObjs, int * pnFanios )
pObj->fMark0 = 1;
// mark those nodes that have ref count more than 1
Gia_ManForEachAnd( p, pObj, i )
- pObj->fMark0 = (Gia_ObjRefs(p, pObj) > 1);
+ pObj->fMark0 = (Gia_ObjRefNum(p, pObj) > 1);
// mark the output drivers
Gia_ManForEachCoDriver( p, pObj, i )
pObj->fMark0 = 1;
@@ -451,7 +451,7 @@ Frc_Man_t * Frc_ManStart( Gia_Man_t * pGia )
pObjLog = Frc_ManObj( p, hHandle );
pObjLog->hHandle = hHandle;
pObjLog->nFanins = 0;
- pObjLog->nFanouts = Gia_ObjRefs( pGia, Gia_ManConst0(pGia) );
+ pObjLog->nFanouts = Gia_ObjRefNum( pGia, Gia_ManConst0(pGia) );
// count objects
hHandle += Frc_ObjSize( pObjLog );
nNodes++;
@@ -465,7 +465,7 @@ Frc_Man_t * Frc_ManStart( Gia_Man_t * pGia )
pObjLog = Frc_ManObj( p, hHandle );
pObjLog->hHandle = hHandle;
pObjLog->nFanins = 0;
- pObjLog->nFanouts = Gia_ObjRefs( pGia, pObj );
+ pObjLog->nFanouts = Gia_ObjRefNum( pGia, pObj );
pObjLog->fCi = 1;
// count objects
hHandle += Frc_ObjSize( pObjLog );
@@ -478,17 +478,17 @@ Frc_Man_t * Frc_ManStart( Gia_Man_t * pGia )
{
if ( pObj->fMark0 == 0 )
{
- assert( Gia_ObjRefs( pGia, pObj ) == 0 );
+ assert( Gia_ObjRefNum( pGia, pObj ) == 0 );
continue;
}
- assert( Gia_ObjRefs( pGia, pObj ) > 0 );
+ assert( Gia_ObjRefNum( pGia, pObj ) > 0 );
Frc_ManCollectSuper( pGia, pObj, vSuper, vVisit );
// create node object
pObj->Value = hHandle;
pObjLog = Frc_ManObj( p, hHandle );
pObjLog->hHandle = hHandle;
pObjLog->nFanins = Vec_IntSize( vSuper );
- pObjLog->nFanouts = Gia_ObjRefs( pGia, pObj );
+ pObjLog->nFanouts = Gia_ObjRefNum( pGia, pObj );
// add fanins
Gia_ManForEachObjVec( vSuper, pGia, pFanin, k )
{
diff --git a/src/aig/gia/giaFront.c b/src/aig/gia/giaFront.c
index 08fd6081..322da785 100644
--- a/src/aig/gia/giaFront.c
+++ b/src/aig/gia/giaFront.c
@@ -112,7 +112,7 @@ Gia_Man_t * Gia_ManFront( Gia_Man_t * p )
int nCrossCutMaxInit = Gia_ManCrossCut( p );
int iFront = 0;//, clk = clock();
// set references for all objects
- Gia_ManSetRefs( p );
+ Gia_ManCreateValueRefs( p );
// start the new manager
pNew = Gia_ManStart( Gia_ManObjNum(p) );
pNew->pName = Abc_UtilStrsav( p->pName );
diff --git a/src/aig/gia/giaIf.c b/src/aig/gia/giaIf.c
index 3fc5c04e..13e4f429 100644
--- a/src/aig/gia/giaIf.c
+++ b/src/aig/gia/giaIf.c
@@ -153,7 +153,7 @@ If_Man_t * Gia_ManToIf( Gia_Man_t * p, If_Par_t * pPars, Vec_Ptr_t * vAigToIf )
// set up the choice node
/*
// if ( p->pReprs && p->pNexts && Gia_ObjIsHead( p, i ) )
- if ( p->pNexts && Gia_ObjNext(p, i) && Gia_ObjRefsId(p, i) )
+ if ( p->pNexts && Gia_ObjNext(p, i) && Gia_ObjRefNumId(p, i) )
{
int iPrev, iFanin;
pIfMan->nChoices++;
@@ -509,7 +509,7 @@ void Gia_ManPrintNpnClasses( Gia_Man_t * p )
Gia_LutForEachFanin( p, i, iFan, k )
{
Counter += (pLutClass[iFan] == 109);
- Counter2 += (pLutClass[iFan] == 109) && (Gia_ObjRefsId(p, iFan) == 1);
+ Counter2 += (pLutClass[iFan] == 109) && (Gia_ObjRefNumId(p, iFan) == 1);
}
OtherClasses += (Counter > 1);
OtherClasses2 += (Counter2 > 1);
diff --git a/src/aig/gia/giaMan.c b/src/aig/gia/giaMan.c
index e7b831bd..f78ea847 100644
--- a/src/aig/gia/giaMan.c
+++ b/src/aig/gia/giaMan.c
@@ -108,7 +108,7 @@ void Gia_ManStop( Gia_Man_t * p )
ABC_FREE( p->pReprs );
ABC_FREE( p->pNexts );
ABC_FREE( p->pRefs );
- ABC_FREE( p->pNodeRefs );
+// ABC_FREE( p->pNodeRefs );
ABC_FREE( p->pHTable );
ABC_FREE( p->pObjs );
ABC_FREE( p->pSpec );
diff --git a/src/aig/gia/giaSat.c b/src/aig/gia/giaSat.c
index 4f8a6acb..9bea8ef7 100644
--- a/src/aig/gia/giaSat.c
+++ b/src/aig/gia/giaSat.c
@@ -358,7 +358,7 @@ void Gia_ManSatExperiment( Gia_Man_t * p )
int nWords = 0, nWords2 = 0;
pMan = Gia_ManSatStart();
// mark the nodes to become roots of leaf-DAGs
- Gia_ManSetRefs( p );
+ Gia_ManCreateValueRefs( p );
Gia_ManForEachObj( p, pObj, i )
{
pObj->fMark0 = 0;
diff --git a/src/aig/gia/giaSwitch.c b/src/aig/gia/giaSwitch.c
index 63c1ff9f..8bf027a4 100644
--- a/src/aig/gia/giaSwitch.c
+++ b/src/aig/gia/giaSwitch.c
@@ -720,7 +720,7 @@ float Gia_ManEvaluateSwitching( Gia_Man_t * p )
ABC_FREE( p->pRefs );
Gia_ManCreateRefs( p );
Gia_ManForEachObj( p, pObj, i )
- SwitchTotal += (float)Gia_ObjRefs(p, pObj) * p->pSwitching[i] / 255;
+ SwitchTotal += (float)Gia_ObjRefNum(p, pObj) * p->pSwitching[i] / 255;
return SwitchTotal;
}
@@ -777,9 +777,9 @@ float Gia_ManComputeSwitching( Gia_Man_t * p, int nFrames, int nPref, int fProbO
pObjDfs = Gia_ObjFromLit( pDfs, pObj->Value );
Switch = pSwitching[ Gia_ObjId(pDfs, pObjDfs) ];
p->pSwitching[i] = (char)((Switch >= 1.0) ? 255 : (int)((0.002 + Switch) * 255)); // 0.00196 = (1/255)/2
- SwitchTotal += (float)Gia_ObjRefs(p, pObj) * p->pSwitching[i] / 255;
-// SwitchTotal2 += Gia_ObjRefs(p, pObj) * Switch;
-// printf( "%d = %.2f\n", i, Gia_ObjRefs(p, pObj) * Switch );
+ SwitchTotal += (float)Gia_ObjRefNum(p, pObj) * p->pSwitching[i] / 255;
+// SwitchTotal2 += Gia_ObjRefNum(p, pObj) * Switch;
+// printf( "%d = %.2f\n", i, Gia_ObjRefNum(p, pObj) * Switch );
}
// printf( "\nSwitch float = %f. Switch char = %f.\n", SwitchTotal2, SwitchTotal );
Vec_IntFree( vSwitching );
diff --git a/src/aig/gia/giaUtil.c b/src/aig/gia/giaUtil.c
index 2898488f..da713aa0 100644
--- a/src/aig/gia/giaUtil.c
+++ b/src/aig/gia/giaUtil.c
@@ -465,7 +465,7 @@ int Gia_ManLevelNum( Gia_Man_t * p )
SeeAlso []
***********************************************************************/
-void Gia_ManSetRefs( Gia_Man_t * p )
+void Gia_ManCreateValueRefs( Gia_Man_t * p )
{
Gia_Obj_t * pObj;
int i;
@@ -554,7 +554,7 @@ int Gia_ManCrossCut( Gia_Man_t * p )
{
Gia_Obj_t * pObj;
int i, nCutCur = 0, nCutMax = 0;
- Gia_ManSetRefs( p );
+ Gia_ManCreateValueRefs( p );
Gia_ManForEachObj( p, pObj, i )
{
if ( pObj->Value )
@@ -810,11 +810,11 @@ int Gia_NodeDeref_rec( Gia_Man_t * p, Gia_Obj_t * pNode )
return 0;
assert( Gia_ObjIsAnd(pNode) );
pFanin = Gia_ObjFanin0(pNode);
- assert( Gia_ObjRefs(p, pFanin) > 0 );
+ assert( Gia_ObjRefNum(p, pFanin) > 0 );
if ( Gia_ObjRefDec(p, pFanin) == 0 )
Counter += Gia_NodeDeref_rec( p, pFanin );
pFanin = Gia_ObjFanin1(pNode);
- assert( Gia_ObjRefs(p, pFanin) > 0 );
+ assert( Gia_ObjRefNum(p, pFanin) > 0 );
if ( Gia_ObjRefDec(p, pFanin) == 0 )
Counter += Gia_NodeDeref_rec( p, pFanin );
return Counter + 1;
@@ -1027,7 +1027,7 @@ void Gia_ObjPrint( Gia_Man_t * p, Gia_Obj_t * pObj )
Gia_ObjFaninId0p(p, pObj), (Gia_ObjFaninC0(pObj)? "\'" : " "),
Gia_ObjFaninId1p(p, pObj), (Gia_ObjFaninC1(pObj)? "\'" : " ") );
if ( p->pRefs )
- printf( " (refs = %3d)", Gia_ObjRefs(p, pObj) );
+ printf( " (refs = %3d)", Gia_ObjRefNum(p, pObj) );
printf( "\n" );
/*
if ( p->pRefs )