From ce92ee2b4d87436073bbfe4609eb6d1bfbe606da Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Mon, 30 Jun 2014 00:34:51 -0700 Subject: Changes and improvements to different packages. --- src/misc/util/utilTruth.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/misc/util') diff --git a/src/misc/util/utilTruth.h b/src/misc/util/utilTruth.h index 124af310..7eec26c9 100644 --- a/src/misc/util/utilTruth.h +++ b/src/misc/util/utilTruth.h @@ -982,6 +982,31 @@ static inline void Abc_TtFlip( word * pTruth, int nWords, int iVar ) } } +/**Function************************************************************* + + Synopsis [] + + Description [] + + SideEffects [] + + SeeAlso [] + +***********************************************************************/ +static inline word Abc_Tt6Permute_rec( word t, int * pPerm, int nVars ) +{ + word uRes0, uRes1; int Var; + if ( t == 0 ) return 0; + if ( ~t == 0 ) return ~(word)0; + for ( Var = nVars-1; Var >= 0; Var-- ) + if ( Abc_Tt6HasVar( t, Var ) ) + break; + assert( Var >= 0 ); + uRes0 = Abc_Tt6Permute_rec( Abc_Tt6Cofactor0(t, Var), pPerm, Var ); + uRes1 = Abc_Tt6Permute_rec( Abc_Tt6Cofactor1(t, Var), pPerm, Var ); + return (uRes0 & s_Truths6Neg[pPerm[Var]]) | (uRes1 & s_Truths6[pPerm[Var]]); +} + /**Function************************************************************* Synopsis [] -- cgit v1.2.3