Commit ce92ee2b by Alan Mishchenko

Changes and improvements to different packages.

parent 55404ca1
...@@ -993,6 +993,31 @@ static inline void Abc_TtFlip( word * pTruth, int nWords, int iVar ) ...@@ -993,6 +993,31 @@ static inline void Abc_TtFlip( word * pTruth, int nWords, int iVar )
SeeAlso [] 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 []
Description []
SideEffects []
SeeAlso []
***********************************************************************/
static inline word Abc_Tt6SwapAdjacent( word Truth, int iVar ) static inline word Abc_Tt6SwapAdjacent( word Truth, int iVar )
{ {
return (Truth & s_PMasks[iVar][0]) | ((Truth & s_PMasks[iVar][1]) << (1 << iVar)) | ((Truth & s_PMasks[iVar][2]) >> (1 << iVar)); return (Truth & s_PMasks[iVar][0]) | ((Truth & s_PMasks[iVar][1]) << (1 << iVar)) | ((Truth & s_PMasks[iVar][2]) >> (1 << iVar));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment