{"ScriptPreparationCode":"function generateInt32() {\r\n return Math.floor(Math.random() * 0x80000000) | 0;\r\n}\r\n// init\r\narc4Gen = new Math.seedrandom(\u0022test\u0022);\r\naleaGen = alea(\u0022test\u0022);\r\ntycheiGen = tychei(\u0022test\u0022);\r\nxor128Gen = xor128(\u0022test\u0022);\r\nxor4096Gen = xor4096(\u0022test\u0022);\r\nxorshift7Gen = xorshift7(\u0022test\u0022);\r\nxorwowGen = xorwow(\u0022test\u0022);","TestCases":[{"Name":"Vanilla","Code":"for (let i = 0; i \u003C 1000; i\u002B\u002B) {\r\n\tconst a = Math.random() \u002B generateInt32();\r\n}","IsDeferred":false},{"Name":"arc4","Code":"for (let i = 0; i \u003C 1000; i\u002B\u002B) {\r\n\tconst a = arc4Gen.double() \u002B arc4Gen.int32();\r\n}","IsDeferred":false},{"Name":"alea","Code":"for (let i = 0; i \u003C 1000; i\u002B\u002B) {\r\n\tconst a = aleaGen.double() \u002B aleaGen.int32();\r\n}","IsDeferred":false},{"Name":"tychei","Code":"for (let i = 0; i \u003C 1000; i\u002B\u002B) {\r\n\tconst a = tycheiGen.double() \u002B tycheiGen.int32();\r\n}","IsDeferred":false},{"Name":"xor128","Code":"for (let i = 0; i \u003C 1000; i\u002B\u002B) {\r\n\tconst a = xor128Gen.double() \u002B xor128Gen.int32();\r\n}","IsDeferred":false},{"Name":"xor4096","Code":"for (let i = 0; i \u003C 1000; i\u002B\u002B) {\r\n\tconst a = xor4096Gen.double() \u002B xor4096Gen.int32();\r\n}","IsDeferred":false},{"Name":"xorshift7","Code":"for (let i = 0; i \u003C 1000; i\u002B\u002B) {\r\n\tconst a = xorshift7Gen.double() \u002B xorshift7Gen.int32();\r\n}","IsDeferred":false},{"Name":"xorwow","Code":"for (let i = 0; i \u003C 1000; i\u002B\u002B) {\r\n\tconst a = xorwowGen.double() \u002B xorwowGen.int32();\r\n}","IsDeferred":false}]}