Added support for cn-lite/ipbc.
This commit is contained in:
parent
ca149d2eed
commit
ba5f92c6dd
4 changed files with 96 additions and 18 deletions
|
@ -62,9 +62,9 @@ bool xmrig::CpuThread::isSoftAES(AlgoVariant av)
|
|||
|
||||
xmrig::CpuThread::cn_hash_fun xmrig::CpuThread::fn(Algo algorithm, AlgoVariant av, Variant variant)
|
||||
{
|
||||
assert(variant == VARIANT_0 || variant == VARIANT_1);
|
||||
assert(variant == VARIANT_0 || variant == VARIANT_1 || variant == VARIANT_IBPC || variant == VARIANT_XTL);
|
||||
|
||||
static const cn_hash_fun func_table[50] = {
|
||||
static const cn_hash_fun func_table[90] = {
|
||||
cryptonight_single_hash<CRYPTONIGHT, false, VARIANT_0>,
|
||||
cryptonight_double_hash<CRYPTONIGHT, false, VARIANT_0>,
|
||||
cryptonight_single_hash<CRYPTONIGHT, true, VARIANT_0>,
|
||||
|
@ -87,6 +87,19 @@ xmrig::CpuThread::cn_hash_fun xmrig::CpuThread::fn(Algo algorithm, AlgoVariant a
|
|||
cryptonight_quad_hash<CRYPTONIGHT, true, VARIANT_1>,
|
||||
cryptonight_penta_hash<CRYPTONIGHT, true, VARIANT_1>,
|
||||
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
|
||||
cryptonight_single_hash<CRYPTONIGHT, false, VARIANT_XTL>,
|
||||
cryptonight_double_hash<CRYPTONIGHT, false, VARIANT_XTL>,
|
||||
cryptonight_single_hash<CRYPTONIGHT, true, VARIANT_XTL>,
|
||||
cryptonight_double_hash<CRYPTONIGHT, true, VARIANT_XTL>,
|
||||
cryptonight_triple_hash<CRYPTONIGHT, false, VARIANT_XTL>,
|
||||
cryptonight_quad_hash<CRYPTONIGHT, false, VARIANT_XTL>,
|
||||
cryptonight_penta_hash<CRYPTONIGHT, false, VARIANT_XTL>,
|
||||
cryptonight_triple_hash<CRYPTONIGHT, true, VARIANT_XTL>,
|
||||
cryptonight_quad_hash<CRYPTONIGHT, true, VARIANT_XTL>,
|
||||
cryptonight_penta_hash<CRYPTONIGHT, true, VARIANT_XTL>,
|
||||
|
||||
# ifndef XMRIG_NO_AEON
|
||||
cryptonight_single_hash<CRYPTONIGHT_LITE, false, VARIANT_0>,
|
||||
cryptonight_double_hash<CRYPTONIGHT_LITE, false, VARIANT_0>,
|
||||
|
@ -109,9 +122,24 @@ xmrig::CpuThread::cn_hash_fun xmrig::CpuThread::fn(Algo algorithm, AlgoVariant a
|
|||
cryptonight_triple_hash<CRYPTONIGHT_LITE, true, VARIANT_1>,
|
||||
cryptonight_quad_hash<CRYPTONIGHT_LITE, true, VARIANT_1>,
|
||||
cryptonight_penta_hash<CRYPTONIGHT_LITE, true, VARIANT_1>,
|
||||
|
||||
cryptonight_single_hash<CRYPTONIGHT_LITE, false, VARIANT_IBPC>,
|
||||
cryptonight_double_hash<CRYPTONIGHT_LITE, false, VARIANT_IBPC>,
|
||||
cryptonight_single_hash<CRYPTONIGHT_LITE, true, VARIANT_IBPC>,
|
||||
cryptonight_double_hash<CRYPTONIGHT_LITE, true, VARIANT_IBPC>,
|
||||
cryptonight_triple_hash<CRYPTONIGHT_LITE, false, VARIANT_IBPC>,
|
||||
cryptonight_quad_hash<CRYPTONIGHT_LITE, false, VARIANT_IBPC>,
|
||||
cryptonight_penta_hash<CRYPTONIGHT_LITE, false, VARIANT_IBPC>,
|
||||
cryptonight_triple_hash<CRYPTONIGHT_LITE, true, VARIANT_IBPC>,
|
||||
cryptonight_quad_hash<CRYPTONIGHT_LITE, true, VARIANT_IBPC>,
|
||||
cryptonight_penta_hash<CRYPTONIGHT_LITE, true, VARIANT_IBPC>,
|
||||
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
# else
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
# endif
|
||||
|
||||
# ifndef XMRIG_NO_SUMO
|
||||
|
@ -136,7 +164,7 @@ xmrig::CpuThread::cn_hash_fun xmrig::CpuThread::fn(Algo algorithm, AlgoVariant a
|
|||
}
|
||||
# endif
|
||||
|
||||
return func_table[20 * algorithm + 10 * variant + av - 1];
|
||||
return func_table[40 * algorithm + 10 * variant + av - 1];
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -65,8 +65,12 @@ bool MultiWorker<N>::selfTest()
|
|||
# ifndef XMRIG_NO_AEON
|
||||
if (m_thread->algorithm() == xmrig::CRYPTONIGHT_LITE && memcmp(m_hash, test_output_v0_lite, sizeof m_hash) == 0) {
|
||||
m_thread->fn(xmrig::VARIANT_1)(test_input, 76, m_hash, m_ctx);
|
||||
if (memcmp(m_hash, test_output_v1_lite, sizeof m_hash) != 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return memcmp(m_hash, test_output_v1_lite, sizeof m_hash) == 0;
|
||||
m_thread->fn(xmrig::VARIANT_IBPC)(test_input, 76, m_hash, m_ctx);
|
||||
return memcmp(m_hash, test_output_ipbc_lite, sizeof m_hash) == 0;
|
||||
}
|
||||
# endif
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue