Chromium Code Reviews| Index: src/math.js |
| diff --git a/src/math.js b/src/math.js |
| index efab63a186d4f8b924894dad9c1f0be59ef9846a..8c26f31a5548b95e1e2eb97798787fb187d36627 100644 |
| --- a/src/math.js |
| +++ b/src/math.js |
| @@ -174,8 +174,14 @@ function MathPow(x, y) { |
| } |
| // ECMA 262 - 15.8.2.14 |
| +// random0 and random1 are initialized during genesis. |
| function MathRandom() { |
| - return %_RandomHeapNumber(); |
| + var r0 = (MathImul(18273, random0 & 0xFFFF) + (random0 >>> 16)) | 0; |
| + random0 = r0; |
|
Michael Starzinger
2013/11/11 14:11:12
I am not sure about the sequence of the initializa
Sven Panne
2013/11/12 07:09:12
Done.
|
| + var r1 = (MathImul(36969, random1 & 0xFFFF) + (random1 >>> 16)) | 0; |
| + random1 = r1; |
| + var x = ((r0 << 14) + (r1 & 0x3FFFF)) | 0; |
| + return (x < 0 ? (x + 0x100000000) : x) / 0x100000000; |
| } |
| // ECMA 262 - 15.8.2.15 |