summaryrefslogtreecommitdiffstats
path: root/xmrstak/backend/cryptonight.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'xmrstak/backend/cryptonight.hpp')
-rw-r--r--xmrstak/backend/cryptonight.hpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/xmrstak/backend/cryptonight.hpp b/xmrstak/backend/cryptonight.hpp
index 8a8e259..b175cda 100644
--- a/xmrstak/backend/cryptonight.hpp
+++ b/xmrstak/backend/cryptonight.hpp
@@ -10,7 +10,8 @@ enum xmrstak_algo
cryptonight_lite = 2,
cryptonight_monero = 3,
cryptonight_heavy = 4,
- cryptonight_aeon = 5
+ cryptonight_aeon = 5,
+ cryptonight_ipbc = 6 // equal to cryptonight_aeon with a small tweak in the miner code
};
// define aeon settings
@@ -44,6 +45,9 @@ inline constexpr size_t cn_select_memory<cryptonight_heavy>() { return CRYPTONIG
template<>
inline constexpr size_t cn_select_memory<cryptonight_aeon>() { return CRYPTONIGHT_LITE_MEMORY; }
+template<>
+inline constexpr size_t cn_select_memory<cryptonight_ipbc>() { return CRYPTONIGHT_LITE_MEMORY; }
+
inline size_t cn_select_memory(xmrstak_algo algo)
{
@@ -51,7 +55,8 @@ inline size_t cn_select_memory(xmrstak_algo algo)
{
case cryptonight_monero:
case cryptonight:
- return CRYPTONIGHT_MEMORY;
+ return CRYPTONIGHT_MEMORY;
+ case cryptonight_ipbc:
case cryptonight_aeon:
case cryptonight_lite:
return CRYPTONIGHT_LITE_MEMORY;
@@ -80,6 +85,9 @@ inline constexpr uint32_t cn_select_mask<cryptonight_heavy>() { return CRYPTONIG
template<>
inline constexpr uint32_t cn_select_mask<cryptonight_aeon>() { return CRYPTONIGHT_LITE_MASK; }
+template<>
+inline constexpr uint32_t cn_select_mask<cryptonight_ipbc>() { return CRYPTONIGHT_LITE_MASK; }
+
inline size_t cn_select_mask(xmrstak_algo algo)
{
switch(algo)
@@ -87,6 +95,7 @@ inline size_t cn_select_mask(xmrstak_algo algo)
case cryptonight_monero:
case cryptonight:
return CRYPTONIGHT_MASK;
+ case cryptonight_ipbc:
case cryptonight_aeon:
case cryptonight_lite:
return CRYPTONIGHT_LITE_MASK;
@@ -115,6 +124,9 @@ inline constexpr uint32_t cn_select_iter<cryptonight_heavy>() { return CRYPTONIG
template<>
inline constexpr uint32_t cn_select_iter<cryptonight_aeon>() { return CRYPTONIGHT_LITE_ITER; }
+template<>
+inline constexpr uint32_t cn_select_iter<cryptonight_ipbc>() { return CRYPTONIGHT_LITE_ITER; }
+
inline size_t cn_select_iter(xmrstak_algo algo)
{
switch(algo)
@@ -122,6 +134,7 @@ inline size_t cn_select_iter(xmrstak_algo algo)
case cryptonight_monero:
case cryptonight:
return CRYPTONIGHT_ITER;
+ case cryptonight_ipbc:
case cryptonight_aeon:
case cryptonight_lite:
return CRYPTONIGHT_LITE_ITER;
OpenPOWER on IntegriCloud