diff options
Diffstat (limited to 'deps/v8/src/base/utils/random-number-generator.h')
-rw-r--r-- | deps/v8/src/base/utils/random-number-generator.h | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/deps/v8/src/base/utils/random-number-generator.h b/deps/v8/src/base/utils/random-number-generator.h index b4b67970c7..45ec259305 100644 --- a/deps/v8/src/base/utils/random-number-generator.h +++ b/deps/v8/src/base/utils/random-number-generator.h @@ -108,11 +108,10 @@ class V8_BASE_EXPORT RandomNumberGenerator final { int64_t initial_seed() const { return initial_seed_; } // Static and exposed for external use. - static inline double ToDouble(uint64_t state0, uint64_t state1) { + static inline double ToDouble(uint64_t state0) { // Exponent for double values for [1.0 .. 2.0) static const uint64_t kExponentBits = uint64_t{0x3FF0000000000000}; - static const uint64_t kMantissaMask = uint64_t{0x000FFFFFFFFFFFFF}; - uint64_t random = ((state0 + state1) & kMantissaMask) | kExponentBits; + uint64_t random = (state0 >> 12) | kExponentBits; return bit_cast<double>(random) - 1; } @@ -128,6 +127,8 @@ class V8_BASE_EXPORT RandomNumberGenerator final { *state1 = s1; } + static uint64_t MurmurHash3(uint64_t); + private: static const int64_t kMultiplier = V8_2PART_UINT64_C(0x5, deece66d); static const int64_t kAddend = 0xb; @@ -135,8 +136,6 @@ class V8_BASE_EXPORT RandomNumberGenerator final { int Next(int bits) V8_WARN_UNUSED_RESULT; - static uint64_t MurmurHash3(uint64_t); - int64_t initial_seed_; uint64_t state0_; uint64_t state1_; |