diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2011-07-02 13:58:12 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2011-07-02 13:58:12 -0700 |
commit | f866920eb5603f60fb087c96607d58c94fb31f28 (patch) | |
tree | b2b92fd38a1c7e79b10ed45baaf13bfa2f8e67bd /src/aig/aig | |
parent | 6c2ac7661dc1ea3ddd83617dd247a467e00486de (diff) | |
download | abc-f866920eb5603f60fb087c96607d58c94fb31f28.tar.gz abc-f866920eb5603f60fb087c96607d58c94fb31f28.tar.bz2 abc-f866920eb5603f60fb087c96607d58c94fb31f28.zip |
Added a new demitering feature for dual-output miters.
Diffstat (limited to 'src/aig/aig')
-rw-r--r-- | src/aig/aig/aig.h | 1 | ||||
-rw-r--r-- | src/aig/aig/aigObj.c | 21 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/aig/aig/aig.h b/src/aig/aig/aig.h index aa55f2fc..4b95f682 100644 --- a/src/aig/aig/aig.h +++ b/src/aig/aig/aig.h @@ -557,6 +557,7 @@ extern void Aig_ObjConnect( Aig_Man_t * p, Aig_Obj_t * pObj, Aig_Obj_ extern void Aig_ObjDisconnect( Aig_Man_t * p, Aig_Obj_t * pObj ); extern void Aig_ObjDelete( Aig_Man_t * p, Aig_Obj_t * pObj ); extern void Aig_ObjDelete_rec( Aig_Man_t * p, Aig_Obj_t * pObj, int fFreeTop ); +extern void Aig_ObjDeletePo( Aig_Man_t * p, Aig_Obj_t * pObj ); extern void Aig_ObjPrint( Aig_Man_t * p, Aig_Obj_t * pObj ); extern void Aig_ObjPatchFanin0( Aig_Man_t * p, Aig_Obj_t * pObj, Aig_Obj_t * pFaninNew ); extern void Aig_ObjReplace( Aig_Man_t * p, Aig_Obj_t * pObjOld, Aig_Obj_t * pObjNew, int fUpdateLevel ); diff --git a/src/aig/aig/aigObj.c b/src/aig/aig/aigObj.c index 141afaaa..36578d35 100644 --- a/src/aig/aig/aigObj.c +++ b/src/aig/aig/aigObj.c @@ -268,6 +268,27 @@ void Aig_ObjDelete_rec( Aig_Man_t * p, Aig_Obj_t * pObj, int fFreeTop ) /**Function************************************************************* + Synopsis [Deletes the node.] + + Description [] + + SideEffects [] + + SeeAlso [] + +***********************************************************************/ +void Aig_ObjDeletePo( Aig_Man_t * p, Aig_Obj_t * pObj ) +{ + assert( Aig_ObjIsPo(pObj) ); + Aig_ObjDeref(Aig_ObjFanin0(pObj)); + pObj->pFanin0 = NULL; + p->nObjs[pObj->Type]--; + Vec_PtrWriteEntry( p->vObjs, pObj->Id, NULL ); + Aig_ManRecycleMemory( p, pObj ); +} + +/**Function************************************************************* + Synopsis [Replaces the first fanin of the node by the new fanin.] Description [] |