oliver@apple.com | ea77149 | 2013-07-25 03:58:38 +0000 | [diff] [blame] | 1 | function marsaglia(m_z, m_w, n) { |
| 2 | var result; |
| 3 | for (var i = 0; i < n; ++i) { |
| 4 | m_z = (36969 * (m_z & 65535) + (m_z >> 16)) | 0; |
| 5 | m_w = (18000 * (m_w & 65535) + (m_w >> 16)) | 0; |
| 6 | result = ((m_z << 16) + m_w) | 0; |
| 7 | } |
| 8 | return result; |
| 9 | } |
| 10 | |
| 11 | var result = 0; |
| 12 | for (var i = 0; i < 100; ++i) |
| 13 | result += marsaglia(i, i + 1, 1000000); |
| 14 | |
fpizlo@apple.com | 532f1e5 | 2013-09-04 06:26:04 +0000 | [diff] [blame] | 15 | if (result != 8216386243) |
| 16 | throw "Error: bad result: " + result; |
| 17 | |