diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2019-04-14 20:45:24 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2019-04-14 20:45:24 -0700 |
commit | 812821554c0809b2a61d2c2882dbbbd8e8b1a784 (patch) | |
tree | 7ec584a4874ebd71e1dba7a10a972a7b80e7eaa2 /src/aig | |
parent | bfefe96cad688693d68f9537f0a28fe65b7fcbb9 (diff) | |
download | abc-812821554c0809b2a61d2c2882dbbbd8e8b1a784.tar.gz abc-812821554c0809b2a61d2c2882dbbbd8e8b1a784.tar.bz2 abc-812821554c0809b2a61d2c2882dbbbd8e8b1a784.zip |
Adding miter construction with one bit-level output for each pair of word-level outputs.
Diffstat (limited to 'src/aig')
-rw-r--r-- | src/aig/gia/gia.h | 1 | ||||
-rw-r--r-- | src/aig/gia/giaHash.c | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/aig/gia/gia.h b/src/aig/gia/gia.h index 2fce93b8..1160819e 100644 --- a/src/aig/gia/gia.h +++ b/src/aig/gia/gia.h @@ -1426,6 +1426,7 @@ extern int Gia_ManHashLookupInt( Gia_Man_t * p, int iLit0, int i extern int Gia_ManHashLookup( Gia_Man_t * p, Gia_Obj_t * p0, Gia_Obj_t * p1 ); extern int Gia_ManHashAndMulti( Gia_Man_t * p, Vec_Int_t * vLits ); extern int Gia_ManHashAndMulti2( Gia_Man_t * p, Vec_Int_t * vLits ); +extern int Gia_ManHashDualMiter( Gia_Man_t * p, Vec_Int_t * vOuts ); /*=== giaIf.c ===========================================================*/ extern void Gia_ManPrintMappingStats( Gia_Man_t * p, char * pDumpFile ); extern void Gia_ManPrintPackingStats( Gia_Man_t * p ); diff --git a/src/aig/gia/giaHash.c b/src/aig/gia/giaHash.c index d9873d76..7da223ca 100644 --- a/src/aig/gia/giaHash.c +++ b/src/aig/gia/giaHash.c @@ -806,6 +806,13 @@ int Gia_ManHashAndMulti2( Gia_Man_t * p, Vec_Int_t * vLits ) iRes = Gia_ManHashAnd( p, iRes, iLit ); return iRes; } +int Gia_ManHashDualMiter( Gia_Man_t * p, Vec_Int_t * vOuts ) +{ + int i, iLit0, iLit1, iRes = 1; + Vec_IntForEachEntryDouble( vOuts, iLit0, iLit1, i ) + iRes = Gia_ManHashOr( p, iRes, Gia_ManHashXor(p, iLit0, iLit1) ); + return iRes; +} //////////////////////////////////////////////////////////////////////// /// END OF FILE /// |