JavaScriptで擬似乱数を返すMath.random()
のアルゴリズムが最近XorShift128+にシフトしています。
メジャーブラウザのJavaScriptエンジンは全て変更されていたので、まとめておきます。
Chrome/V8
Chrome 49 Stableで入る予定。
Firefox/SpiderMonkey
WebKit/JavaScriptCore
MSEdge/ChakraCore
アルゴリズム
仕様
Returns a Number value with positive sign, greater than or equal to 0 but less than 1, chosen randomly or pseudo randomly with approximately uniform distribution over that range, using an implementation-dependent algorithm or strategy. This function takes no arguments.
仕様では"実装依存のアルゴリズムで"と書いてあるので、特にMath.random()
のアルゴリズムは規定されていません。