88c5da047e
The RNG state is initialized with random_seed parameter that usually has lots of zeros. Each random generation iteration shuffles bits with xor operation over the state. It takes a while before the state is populated with enough 1s and starts generating uniformly distributed numbers. The patch warms up the state with 32 iterations when --random_seed is used. BUG=v8:8265 Change-Id: I7a4e8c842962bea0f2935c7b3673494367d8580f Reviewed-on: https://chromium-review.googlesource.com/c/1263816 Commit-Queue: Alexei Filippov <alph@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#56418}
13 lines
348 B
JavaScript
13 lines
348 B
JavaScript
// Copyright 2018 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
// Flags: --random-seed=1
|
|
|
|
for (let i = 0; i < 54; ++i) Math.random();
|
|
let sum = 0;
|
|
for (let i = 0; i < 10; ++i)
|
|
sum += Math.floor(Math.random() * 50);
|
|
|
|
assertNotEquals(0, sum);
|