From 6733abd72ef24ebb8e3732a2acd61195510e8fa7 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Sun, 21 Dec 2014 01:04:39 -0800 Subject: Exprimental features in tech-mapping. --- src/misc/util/utilTruth.h | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'src/misc/util') 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************************************************************* -- cgit v1.2.3