Index: src/runtime.cc |
=================================================================== |
--- src/runtime.cc (revision 784) |
+++ src/runtime.cc (working copy) |
@@ -3163,9 +3163,9 @@ |
// double in the range [0, RAND_MAX + 1) obtained by adding the |
// high-order bits in the range [0, RAND_MAX] with the low-order |
// bits in the range [0, 1). |
- double lo = static_cast<double>(random()) / (RAND_MAX + 1.0); |
+ double lo = static_cast<double>(random()) * (1.0 / (RAND_MAX + 1.0)); |
double hi = static_cast<double>(random()); |
- double result = (hi + lo) / (RAND_MAX + 1.0); |
+ double result = (hi + lo) * (1.0 / (RAND_MAX + 1.0)); |
ASSERT(result >= 0 && result < 1); |
return Heap::AllocateHeapNumber(result); |
} |