diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2014-12-21 01:04:39 -0800 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2014-12-21 01:04:39 -0800 |
commit | 6733abd72ef24ebb8e3732a2acd61195510e8fa7 (patch) | |
tree | e0f90f5b8ef7875f555f686a8db7eb200dd91013 /src/misc/util | |
parent | 55f0a2805cd03ded51e882e9f29255dc1654318f (diff) | |
download | abc-6733abd72ef24ebb8e3732a2acd61195510e8fa7.tar.gz abc-6733abd72ef24ebb8e3732a2acd61195510e8fa7.tar.bz2 abc-6733abd72ef24ebb8e3732a2acd61195510e8fa7.zip |
Exprimental features in tech-mapping.
Diffstat (limited to 'src/misc/util')
-rw-r--r-- | src/misc/util/utilTruth.h | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/misc/util/utilTruth.h b/src/misc/util/utilTruth.h index 645b639c..4d0bb9b6 100644 --- a/src/misc/util/utilTruth.h +++ b/src/misc/util/utilTruth.h @@ -2428,10 +2428,10 @@ static inline int Abc_TtCheckBiDecSimple( word * pTruth, int nVars, int nSuppLim } return 0; } -static inline int Abc_TtProcessBiDec( word * pTruth, int nVars, int nSuppLim ) +static inline int Abc_TtProcessBiDecInt( word * pTruth, int nVars, int nSuppLim ) { int i, v, Res, nSupp, CountShared = 0, pGraph[12] = {0}; - assert( nSuppLim < nVars && nVars <= 12 ); + assert( nSuppLim < nVars && nVars <= 2 * nSuppLim && nVars <= 12 ); assert( 2 <= nSuppLim && nSuppLim <= 6 ); Res = Abc_TtCheckBiDecSimple( pTruth, nVars, nSuppLim ); if ( Res ) @@ -2465,6 +2465,20 @@ static inline int Abc_TtProcessBiDec( word * pTruth, int nVars, int nSuppLim ) } return 0; } +static inline int Abc_TtProcessBiDec( word * pTruth, int nVars, int nSuppLim ) +{ + word pFunc[64]; + int Res, nWords = Abc_TtWordNum(nVars); + Abc_TtCopy( pFunc, pTruth, nWords, 0 ); + Res = Abc_TtProcessBiDecInt( pFunc, nVars, nSuppLim ); + if ( Res ) + return Res; + Abc_TtCopy( pFunc, pTruth, nWords, 1 ); + Res = Abc_TtProcessBiDecInt( pFunc, nVars, nSuppLim ); + if ( Res ) + return Res | (1 << 30); + return 0; +} /**Function************************************************************* |