|
|
@ -171,12 +171,15 @@ public: |
|
|
|
#include "equihash.tcc" |
|
|
|
|
|
|
|
static Equihash<96,3> Eh96_3; |
|
|
|
static Equihash<200,9> Eh200_9; |
|
|
|
static Equihash<96,5> Eh96_5; |
|
|
|
static Equihash<48,5> Eh48_5; |
|
|
|
|
|
|
|
#define EhInitialiseState(n, k, base_state) \ |
|
|
|
if (n == 96 && k == 3) { \ |
|
|
|
Eh96_3.InitialiseState(base_state); \ |
|
|
|
} else if (n == 200 && k == 9) { \ |
|
|
|
Eh200_9.InitialiseState(base_state); \ |
|
|
|
} else if (n == 96 && k == 5) { \ |
|
|
|
Eh96_5.InitialiseState(base_state); \ |
|
|
|
} else if (n == 48 && k == 5) { \ |
|
|
@ -191,6 +194,8 @@ inline bool EhBasicSolve(unsigned int n, unsigned int k, const eh_HashState& bas |
|
|
|
{ |
|
|
|
if (n == 96 && k == 3) { |
|
|
|
return Eh96_3.BasicSolve(base_state, validBlock, cancelled); |
|
|
|
} else if (n == 200 && k == 9) { |
|
|
|
return Eh200_9.BasicSolve(base_state, validBlock, cancelled); |
|
|
|
} else if (n == 96 && k == 5) { |
|
|
|
return Eh96_5.BasicSolve(base_state, validBlock, cancelled); |
|
|
|
} else if (n == 48 && k == 5) { |
|
|
@ -213,6 +218,8 @@ inline bool EhOptimisedSolve(unsigned int n, unsigned int k, const eh_HashState& |
|
|
|
{ |
|
|
|
if (n == 96 && k == 3) { |
|
|
|
return Eh96_3.OptimisedSolve(base_state, validBlock, cancelled); |
|
|
|
} else if (n == 200 && k == 9) { |
|
|
|
return Eh200_9.OptimisedSolve(base_state, validBlock, cancelled); |
|
|
|
} else if (n == 96 && k == 5) { |
|
|
|
return Eh96_5.OptimisedSolve(base_state, validBlock, cancelled); |
|
|
|
} else if (n == 48 && k == 5) { |
|
|
@ -232,6 +239,8 @@ inline bool EhOptimisedSolveUncancellable(unsigned int n, unsigned int k, const |
|
|
|
#define EhIsValidSolution(n, k, base_state, soln, ret) \ |
|
|
|
if (n == 96 && k == 3) { \ |
|
|
|
ret = Eh96_3.IsValidSolution(base_state, soln); \ |
|
|
|
} else if (n == 200 && k == 9) { \ |
|
|
|
ret = Eh200_9.IsValidSolution(base_state, soln); \ |
|
|
|
} else if (n == 96 && k == 5) { \ |
|
|
|
ret = Eh96_5.IsValidSolution(base_state, soln); \ |
|
|
|
} else if (n == 48 && k == 5) { \ |
|
|
|