aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/random.cpp12
1 files changed, 1 insertions, 11 deletions
diff --git a/src/random.cpp b/src/random.cpp
index e4c23ceac6..f52b5837aa 100644
--- a/src/random.cpp
+++ b/src/random.cpp
@@ -503,17 +503,7 @@ void RandAddSeedSleep() { ProcRand(nullptr, 0, RNGLevel::SLEEP); }
uint64_t GetRand(uint64_t nMax) noexcept
{
- if (nMax == 0)
- return 0;
-
- // The range of the random source must be a multiple of the modulus
- // to give every possible output value an equal possibility
- uint64_t nRange = (std::numeric_limits<uint64_t>::max() / nMax) * nMax;
- uint64_t nRand = 0;
- do {
- GetRandBytes((unsigned char*)&nRand, sizeof(nRand));
- } while (nRand >= nRange);
- return (nRand % nMax);
+ return FastRandomContext().randrange(nMax);
}
int GetRandInt(int nMax) noexcept