summaryrefslogtreecommitdiffstats
path: root/src/misc/util
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2014-12-21 01:04:39 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2014-12-21 01:04:39 -0800
commit6733abd72ef24ebb8e3732a2acd61195510e8fa7 (patch)
treee0f90f5b8ef7875f555f686a8db7eb200dd91013 /src/misc/util
parent55f0a2805cd03ded51e882e9f29255dc1654318f (diff)
downloadabc-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.h18
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*************************************************************