Index: src/base/utils/random-number-generator.cc |
diff --git a/src/base/utils/random-number-generator.cc b/src/base/utils/random-number-generator.cc |
index a1ec9d71842766d4cb0f51962e05c4c7aae00f32..263f37281dc52871eabb9e8f40f0ff8e2dea86bc 100644 |
--- a/src/base/utils/random-number-generator.cc |
+++ b/src/base/utils/random-number-generator.cc |
@@ -102,6 +102,13 @@ double RandomNumberGenerator::NextDouble() { |
} |
+int64_t RandomNumberGenerator::NextInt64() { |
+ int64_t lo = static_cast<int64_t>(Next(32)); |
+ int64_t hi = static_cast<int64_t>(Next(32)); |
+ return (lo & 0xffffffff) | (hi << 32); |
+} |
Benedikt Meurer
2014/10/08 11:40:12
This is undefined behaviour in C++. Should be:
ui
m.m.capewell
2014/10/08 17:35:02
Done.
|
+ |
+ |
void RandomNumberGenerator::NextBytes(void* buffer, size_t buflen) { |
for (size_t n = 0; n < buflen; ++n) { |
static_cast<uint8_t*>(buffer)[n] = static_cast<uint8_t>(Next(8)); |