mirror of https://github.com/YosysHQ/abc.git
Integrated new fast semi-canonical form for Boolean functions up to 16 inputs.
This commit is contained in:
parent
7a6cf9f48c
commit
39fe23f079
|
|
@ -176,7 +176,7 @@ inline void minimalSwapAndFlipIVar_superFast_lessThen5(word* pInOut, int iVar, i
|
||||||
int min1, min2, DifStart0, DifStart1, DifStartMin;
|
int min1, min2, DifStart0, DifStart1, DifStartMin;
|
||||||
int M[2];
|
int M[2];
|
||||||
int blockSize = 1<<iVar;
|
int blockSize = 1<<iVar;
|
||||||
int shiftSize = blockSize*4;
|
// int shiftSize = blockSize*4;
|
||||||
|
|
||||||
M[0] = minTemp0_fast(pInOut, iVar, nWords, &DifStart0); // 0, 3
|
M[0] = minTemp0_fast(pInOut, iVar, nWords, &DifStart0); // 0, 3
|
||||||
M[1] = minTemp1_fast(pInOut, iVar, nWords, &DifStart1); // 1, 2
|
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];
|
int M[2];
|
||||||
word temp[1024];
|
word temp[1024];
|
||||||
int blockSize = 1<<(iVar-6);
|
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[0] = minTemp0_fast_moreThen5(pInOut, iVar, nWords, &DifStart0); // 0, 3
|
||||||
M[1] = minTemp1_fast_moreThen5(pInOut, iVar, nWords, &DifStart1); // 1, 2
|
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 luckyCanonicizer_final_fast( word * pInOut, int nVars, char * pCanonPerm )
|
||||||
{
|
{
|
||||||
int pStore[16];
|
int pStore[16];
|
||||||
int uCanonPhase = 0;
|
unsigned uCanonPhase = 0;
|
||||||
int nWords = (nVars <= 6) ? 1 : (1 << (nVars - 6));
|
int nWords = (nVars <= 6) ? 1 : (1 << (nVars - 6));
|
||||||
if ( nVars <= 6 )
|
if ( nVars <= 6 )
|
||||||
pInOut[0] = luckyCanonicizer_final_fast_6Vars( pInOut[0], pStore, pCanonPerm, &uCanonPhase );
|
pInOut[0] = luckyCanonicizer_final_fast_6Vars( pInOut[0], pStore, pCanonPerm, &uCanonPhase );
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue