diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2022-01-21 11:09:10 -0800 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2022-01-21 11:09:10 -0800 |
commit | 79f04c66534c1a517481a2006dcbbb8e27d1688c (patch) | |
tree | 175da1084db4b1374df2e6fdeb995cd56d5ba1c1 /src/aig/gia/giaDup.c | |
parent | 48498af8189ef321ee876065d8947875cf711294 (diff) | |
download | abc-79f04c66534c1a517481a2006dcbbb8e27d1688c.tar.gz abc-79f04c66534c1a517481a2006dcbbb8e27d1688c.tar.bz2 abc-79f04c66534c1a517481a2006dcbbb8e27d1688c.zip |
Experiments with word-level data structures.
Diffstat (limited to 'src/aig/gia/giaDup.c')
-rw-r--r-- | src/aig/gia/giaDup.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/aig/gia/giaDup.c b/src/aig/gia/giaDup.c index da4881cd..55f8901f 100644 --- a/src/aig/gia/giaDup.c +++ b/src/aig/gia/giaDup.c @@ -1086,6 +1086,20 @@ Gia_Man_t * Gia_ManDupAppendNew( Gia_Man_t * pOne, Gia_Man_t * pTwo ) Gia_ManSetRegNum( pNew, Gia_ManRegNum(pOne) + Gia_ManRegNum(pTwo) ); return pNew; } +void Gia_ManDupRebuild( Gia_Man_t * pNew, Gia_Man_t * p, Vec_Int_t * vLits ) +{ + Gia_Obj_t * pObj; int i; + assert( Vec_IntSize(vLits) == Gia_ManCiNum(p) ); + Gia_ManConst0(p)->Value = 0; + Gia_ManForEachCi( p, pObj, i ) + pObj->Value = Vec_IntEntry(vLits, i); + Gia_ManForEachAnd( p, pObj, i ) + pObj->Value = Gia_ManHashAnd( pNew, Gia_ObjFanin0Copy(pObj), Gia_ObjFanin1Copy(pObj) ); + Vec_IntClear( vLits ); + Gia_ManForEachCo( p, pObj, i ) + Vec_IntPush( vLits, Gia_ObjFanin0Copy(pObj) ); + assert( Vec_IntSize(vLits) == Gia_ManCoNum(p) ); +} /**Function************************************************************* |