Primecoin: Consider nPrimorialHashFactor in prime probability estimate

master
Sunny King 2013-08-01 04:30:52 +01:00 committed by Mikael Hirki
parent db59a0aeff
commit 0751bbd004
3 changed files with 3 additions and 2 deletions

View File

@ -4575,7 +4575,6 @@ void static BitcoinMiner(CWallet *pwallet)
CReserveKey reservekey(pwallet);
unsigned int nExtraNonce = 0;
static const unsigned int nPrimorialHashFactor = 7;
unsigned int nPrimorialMultiplier = nPrimorialHashFactor;
double nTimeExpected = 0; // time expected to prime chain (micro-second)
int64 nSieveGenTime = 0; // how many milliseconds sieve generation took

View File

@ -1187,5 +1187,5 @@ double EstimateCandidatePrimeProbability(unsigned int nPrimorialMultiplier)
// prime chains.
const unsigned int nSieveWeaveOptimalPrime = vPrimes[(unsigned int) ((uint64) nSievePercentage * vPrimes.size() / 100) - 1];
const unsigned int nAverageCandidateMultiplier = nSieveSize / 2;
return (1.781072 * log((double)std::max(1u, nSieveWeaveOptimalPrime)) / (256.0 * log(2.0) + (double) nPrimorialMultiplier + log(nAverageCandidateMultiplier)));
return (1.781072 * log((double)std::max(1u, nSieveWeaveOptimalPrime)) / (256.0 * log(2.0) + (double) (nPrimorialMultiplier - nPrimorialHashFactor) + log(nAverageCandidateMultiplier)));
}

View File

@ -296,6 +296,8 @@ public:
bool Weave();
};
static const unsigned int nPrimorialHashFactor = 7;
inline void mpz_set_uint256(mpz_t r, uint256& u)
{
mpz_import(r, 32 / sizeof(unsigned long), -1, sizeof(unsigned long), -1, 0, &u);