Fix off-by-one error in PRNG.

BUG=

Review URL: https://codereview.webrtc.org/1412183002

Cr-Commit-Position: refs/heads/master@{#10328}
diff --git a/webrtc/test/random.cc b/webrtc/test/random.cc
index 8877ed4..c4c405f 100644
--- a/webrtc/test/random.cc
+++ b/webrtc/test/random.cc
@@ -22,11 +22,11 @@
 }
 
 float Random::Rand() {
-  const float kScale = 1.0f / 0xffffffff;
-  float result = kScale * b_;
+  const double kScale = 1.0f / (static_cast<uint64_t>(1) << 32);
+  double result = kScale * b_;
   a_ ^= b_;
   b_ += a_;
-  return result;
+  return static_cast<float>(result);
 }
 
 int Random::Rand(int low, int high) {
diff --git a/webrtc/test/random.h b/webrtc/test/random.h
index 9a0bc9e..5cc54f2 100644
--- a/webrtc/test/random.h
+++ b/webrtc/test/random.h
@@ -22,10 +22,10 @@
  public:
   explicit Random(uint32_t seed);
 
-  // Return pseudo-random number in the interval [0.0, 1.0].
+  // Return pseudo-random number in the interval [0.0, 1.0).
   float Rand();
 
-  // Return pseudo rounded random number in interval [low, high].
+  // Return pseudo-random number mapped to the interval [low, high].
   int Rand(int low, int high);
 
   // Normal Distribution.