43 (* pCanonPhase) ^=(1<<6);
54 return (uCanonPhase ^= (info << iVar));
58 uCanonPhase ^= ((info-4) << iVar);
59 temp=pCanonPerm[iVar];
60 pCanonPerm[iVar]=pCanonPerm[iVar+1];
61 pCanonPerm[iVar+1]=temp;
62 if ( ((uCanonPhase & (1 << iVar)) > 0) != ((uCanonPhase & (1 << (iVar+1))) > 0) )
64 uCanonPhase ^= (1 << iVar);
65 uCanonPhase ^= (1 << (iVar+1));
84 return (t & PMasks[iVar][0]) | ((t & PMasks[iVar][1]) << (1 << iVar)) | ((t & PMasks[iVar][2]) >> (1 << iVar));
98 return ((t & ~Truth6[iVar]) << (1 << iVar)) | ((t & Truth6[iVar]) >> (1 << iVar));
105 assert( iVar >= 0 && iVar < 5 );
161 assert( iVar >= 0 && iVar < 5 );
182 bitInfoTemp = pStore[0];
184 for ( i = 0; i < 5; i++ )
186 if(bitInfoTemp == pStore[i+1])
189 bitInfoTemp = pStore[i+1];
191 }
while ( tMin0 != tMin );
201 bitInfoTemp = pStore[0];
203 for ( i = 0; i < 5; i++ )
205 if(bitInfoTemp == pStore[i+1])
208 bitInfoTemp = pStore[i+1];
210 }
while ( tMin0 != tMin );
216 char pCanonPerm1[16];
217 unsigned uCanonPhase1;
218 switch ((* pCanonPhase) >> 7)
231 uCanonPhase1 = *pCanonPhase;
232 uCanonPhase1 ^= (1 << 6);
233 memcpy(pCanonPerm1,pCanonPerm,
sizeof(
char)*16);
240 *pCanonPhase = uCanonPhase1;
241 memcpy(pCanonPerm,pCanonPerm1,
sizeof(
char)*16);
247 uCanonPhase1 = *pCanonPhase;
248 uCanonPhase1 ^= (1 << 6);
249 memcpy(pCanonPerm1,pCanonPerm,
sizeof(
char)*16);
256 *pCanonPhase = uCanonPhase1;
257 memcpy(pCanonPerm,pCanonPerm1,
sizeof(
char)*16);
280 (*pCanonPhase) ^= 0x3F;
word Extra_Truth6MinimumRoundMany(word t, int *pStore, char *pCanonPerm, unsigned *pCanonPhase)
word Extra_Truth6ChangePhase(word t, int iVar)
word luckyCanonicizer_final_fast_6Vars1(word InOut, int *pStore, char *pCanonPerm, unsigned *pCanonPhase)
ABC_NAMESPACE_IMPL_START void resetPCanonPermArray_6Vars(char *x)
word Abc_allFlip(word x, unsigned *pCanonPhase)
unsigned adjustInfoAfterSwap(char *pCanonPerm, unsigned uCanonPhase, int iVar, unsigned info)
unsigned __int64 word
DECLARATIONS ///.
#define ABC_NAMESPACE_IMPL_END
word Extra_Truth6MinimumRoundOne(word t, int iVar, char *pCanonPerm, unsigned *pCanonPhase)
word Extra_Truth6MinimumRoundMany_noEBFC(word t, int *pStore, char *pCanonPerm, unsigned *pCanonPhase)
#define ABC_NAMESPACE_IMPL_START
unsigned Kit_TruthSemiCanonicize_Yasha1(word *pInOut, int nVars, char *pCanonPerm, int *pStore)
#define ABC_CONST(number)
PARAMETERS ///.
word Extra_Truth6MinimumRoundOne_noEBFC(word t, int iVar, char *pCanonPerm, unsigned *pCanonPhase)
void resetPCanonPermArray(char *x, int nVars)
word Extra_Truth6SwapAdjacent(word t, int iVar)
word luckyCanonicizer_final_fast_6Vars(word InOut, int *pStore, char *pCanonPerm, unsigned *pCanonPhase)
void Kit_TruthChangePhase_64bit(word *pInOut, int nVars, int iVar)
word Extra_Truth6MinimumRoundMany1(word t, int *pStore, char *pCanonPerm, unsigned *pCanonPhase)