Commit 39fe23f0 by Alan Mishchenko

Integrated new fast semi-canonical form for Boolean functions up to 16 inputs.

parent 7a6cf9f4
......@@ -176,7 +176,7 @@ inline void minimalSwapAndFlipIVar_superFast_lessThen5(word* pInOut, int iVar, i
int min1, min2, DifStart0, DifStart1, DifStartMin;
int M[2];
int blockSize = 1<<iVar;
int shiftSize = blockSize*4;
// int shiftSize = blockSize*4;
M[0] = minTemp0_fast(pInOut, iVar, nWords, &DifStart0); // 0, 3
M[1] = minTemp1_fast(pInOut, iVar, nWords, &DifStart1); // 1, 2
......@@ -513,7 +513,7 @@ inline void minimalSwapAndFlipIVar_superFast_moreThen5(word* pInOut, int iVar, i
int M[2];
word temp[1024];
int blockSize = 1<<(iVar-6);
int shiftSize = blockSize*4;
// int shiftSize = blockSize*4;
M[0] = minTemp0_fast_moreThen5(pInOut, iVar, nWords, &DifStart0); // 0, 3
M[1] = minTemp1_fast_moreThen5(pInOut, iVar, nWords, &DifStart1); // 1, 2
......@@ -616,7 +616,7 @@ inline void luckyCanonicizer_final_fast_16Vars(word* pInOut, int nVars, int nWo
int luckyCanonicizer_final_fast( word * pInOut, int nVars, char * pCanonPerm )
{
int pStore[16];
int uCanonPhase = 0;
unsigned uCanonPhase = 0;
int nWords = (nVars <= 6) ? 1 : (1 << (nVars - 6));
if ( nVars <= 6 )
pInOut[0] = luckyCanonicizer_final_fast_6Vars( pInOut[0], pStore, pCanonPerm, &uCanonPhase );
......
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