diff options
author | Thiago Macieira <thiago.macieira@nokia.com> | 2009-10-26 17:53:45 (GMT) |
---|---|---|
committer | Thiago Macieira <thiago.macieira@nokia.com> | 2009-10-26 17:53:45 (GMT) |
commit | 8f4160b70888218677e976a68e205f4ca8b7d740 (patch) | |
tree | 60d392c1f112b6807ddbfda7ff3a40bb6c5b75bf /src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumber.cpp | |
parent | 9b0c0faf73dbdc382f1c02a42b10018bf9961d72 (diff) | |
parent | 83aa359398a8a510ac732410c918d31eedeeb4f8 (diff) | |
download | Qt-8f4160b70888218677e976a68e205f4ca8b7d740.zip Qt-8f4160b70888218677e976a68e205f4ca8b7d740.tar.gz Qt-8f4160b70888218677e976a68e205f4ca8b7d740.tar.bz2 |
Merge remote branch 'origin/4.6'
Conflicts:
tools/qdoc3/test/qt-build-docs.qdocconf
Diffstat (limited to 'src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumber.cpp')
-rw-r--r-- | src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumber.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumber.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumber.cpp index 0e6e208..52fb130 100644 --- a/src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumber.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumber.cpp @@ -82,6 +82,23 @@ double randomNumber() return static_cast<double>(fullRandom)/static_cast<double>(1LL << 53); #elif PLATFORM(WINCE) return genrand_res53(); +#elif PLATFORM(WIN_OS) + uint32_t part1 = rand() & (RAND_MAX - 1); + uint32_t part2 = rand() & (RAND_MAX - 1); + uint32_t part3 = rand() & (RAND_MAX - 1); + uint32_t part4 = rand() & (RAND_MAX - 1); + // rand only provides 15 bits on Win32 + uint64_t fullRandom = part1; + fullRandom <<= 15; + fullRandom |= part2; + fullRandom <<= 15; + fullRandom |= part3; + fullRandom <<= 15; + fullRandom |= part4; + + // Mask off the low 53bits + fullRandom &= (1LL << 53) - 1; + return static_cast<double>(fullRandom)/static_cast<double>(1LL << 53); #else uint32_t part1 = rand() & (RAND_MAX - 1); uint32_t part2 = rand() & (RAND_MAX - 1); |