|
|
@ -37,9 +37,35 @@ |
|
|
|
namespace xmrig { |
|
|
|
|
|
|
|
|
|
|
|
static uint64_t hashCheck[2][10] = { |
|
|
|
{ 0x898B6E0431C28A6BULL, 0xEE9468F8B40926BCULL, 0xC2BC5D11724813C0ULL, 0x3A2C7B285B87F941ULL, 0x3B5BD2C3A16B450EULL, 0x5CD0602F20C5C7C4ULL, 0x101DE939474B6812ULL, 0x52B765A1B156C6ECULL, 0x323935102AB6B45CULL, 0xB5231262E2792B26ULL }, |
|
|
|
{ 0x0F3E5400B39EA96AULL, 0x85944CCFA2752D1FULL, 0x64AFFCAE991811BAULL, 0x3E4D0B836D3B13BAULL, 0xEB7417D621271166ULL, 0x97FFE10C0949FFA5ULL, 0x84CAC0F8879A4BA1ULL, 0xA1B79F031DA2459FULL, 0x9B65226DA873E65DULL, 0x0F9E00C5A511C200ULL }, |
|
|
|
static const std::map<int, std::map<uint32_t, uint64_t> > hashCheck = { |
|
|
|
{ Algorithm::RX_0, { |
|
|
|
{ 250000U, 0x7D6054757BB08A63ULL }, |
|
|
|
{ 500000U, 0x96607546DE1F5ECCULL }, |
|
|
|
{ 1000000U, 0x898B6E0431C28A6BULL }, |
|
|
|
{ 2000000U, 0xEE9468F8B40926BCULL }, |
|
|
|
{ 3000000U, 0xC2BC5D11724813C0ULL }, |
|
|
|
{ 4000000U, 0x3A2C7B285B87F941ULL }, |
|
|
|
{ 5000000U, 0x3B5BD2C3A16B450EULL }, |
|
|
|
{ 6000000U, 0x5CD0602F20C5C7C4ULL }, |
|
|
|
{ 7000000U, 0x101DE939474B6812ULL }, |
|
|
|
{ 8000000U, 0x52B765A1B156C6ECULL }, |
|
|
|
{ 9000000U, 0x323935102AB6B45CULL }, |
|
|
|
{ 10000000U, 0xB5231262E2792B26ULL } |
|
|
|
}}, |
|
|
|
{ Algorithm::RX_WOW, { |
|
|
|
{ 250000U, 0xC7F712C9603E2603ULL }, |
|
|
|
{ 500000U, 0x21A0E5AAE6DA7D8DULL }, |
|
|
|
{ 1000000U, 0x0F3E5400B39EA96AULL }, |
|
|
|
{ 2000000U, 0x85944CCFA2752D1FULL }, |
|
|
|
{ 3000000U, 0x64AFFCAE991811BAULL }, |
|
|
|
{ 4000000U, 0x3E4D0B836D3B13BAULL }, |
|
|
|
{ 5000000U, 0xEB7417D621271166ULL }, |
|
|
|
{ 6000000U, 0x97FFE10C0949FFA5ULL }, |
|
|
|
{ 7000000U, 0x84CAC0F8879A4BA1ULL }, |
|
|
|
{ 8000000U, 0xA1B79F031DA2459FULL }, |
|
|
|
{ 9000000U, 0x9B65226DA873E65DULL }, |
|
|
|
{ 10000000U, 0x0F9E00C5A511C200ULL } |
|
|
|
}} |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
@ -185,12 +211,13 @@ uint64_t xmrig::Benchmark::referenceHash() const |
|
|
|
} |
|
|
|
# endif |
|
|
|
|
|
|
|
const uint32_t N = (m_end / 1000000) - 1; |
|
|
|
if (((m_algo == Algorithm::RX_0) || (m_algo == Algorithm::RX_WOW)) && ((m_end % 1000000) == 0) && (N < 10)) { |
|
|
|
return hashCheck[(m_algo == Algorithm::RX_0) ? 0 : 1][N]; |
|
|
|
} |
|
|
|
uint64_t hash = 0; |
|
|
|
|
|
|
|
try { |
|
|
|
hash = hashCheck.at(m_algo).at(m_end); |
|
|
|
} catch (const std::exception &ex) {} |
|
|
|
|
|
|
|
return 0; |
|
|
|
return hash; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|