{"ScriptPreparationCode":"var a = 1;\r\nvar b = 2;\r\nvar c = 3;\r\nvar d = 4;\r\nvar x;\r\n\r\n\r\n\r\nfunction sfc32(a, b, c, d) {\r\n return function() {\r\n a |= 0; b |= 0; c |= 0; d |= 0;\r\n let t = (a \u002B b | 0) \u002B d | 0;\r\n d = d \u002B 1 | 0;\r\n a = b ^ b \u003E\u003E\u003E 9;\r\n b = c \u002B (c \u003C\u003C 3) | 0;\r\n c = (c \u003C\u003C 21 | c \u003E\u003E\u003E 11);\r\n c = c \u002B t | 0;\r\n return (t \u003E\u003E\u003E 0) / 4294967296;\r\n }\r\n}\r\n\r\nfunction splitmix32(a) {\r\n return function() {\r\n a |= 0;\r\n a = a \u002B 0x9e3779b9 | 0;\r\n let t = a ^ a \u003E\u003E\u003E 16;\r\n t = Math.imul(t, 0x21f0aaad);\r\n t = t ^ t \u003E\u003E\u003E 15;\r\n t = Math.imul(t, 0x735a2d97);\r\n return ((t = t ^ t \u003E\u003E\u003E 15) \u003E\u003E\u003E 0) / 4294967296;\r\n }\r\n}\r\n\r\nfunction mulberry32(a) {\r\n return function() {\r\n let t = a \u002B= 0x6D2B79F5;\r\n t = Math.imul(t ^ t \u003E\u003E\u003E 15, t | 1);\r\n t ^= t \u002B Math.imul(t ^ t \u003E\u003E\u003E 7, t | 61);\r\n return ((t ^ t \u003E\u003E\u003E 14) \u003E\u003E\u003E 0) / 4294967296;\r\n }\r\n}\r\n\r\nfunction xoshiro128ss(a, b, c, d) {\r\n return function() {\r\n let t = b \u003C\u003C 9, r = b * 5;\r\n r = (r \u003C\u003C 7 | r \u003E\u003E\u003E 25) * 9;\r\n c ^= a;\r\n d ^= b;\r\n b ^= c;\r\n a ^= d;\r\n c ^= t;\r\n d = d \u003C\u003C 11 | d \u003E\u003E\u003E 21;\r\n return (r \u003E\u003E\u003E 0) / 4294967296;\r\n }\r\n}\r\n\r\nfunction jsf32(a, b, c, d) {\r\n return function() {\r\n a |= 0; b |= 0; c |= 0; d |= 0;\r\n let t = a - (b \u003C\u003C 27 | b \u003E\u003E\u003E 5) | 0;\r\n a = b ^ (c \u003C\u003C 17 | c \u003E\u003E\u003E 15);\r\n b = c \u002B d | 0;\r\n c = d \u002B t | 0;\r\n d = a \u002B t | 0;\r\n return (d \u003E\u003E\u003E 0) / 4294967296;\r\n }\r\n}\r\n\r\n","TestCases":[{"Name":"sfc32 (Simple Fast Counter)","Code":"x = sfc32(a, b, c, d);","IsDeferred":false},{"Name":"SplitMix32","Code":"x = splitmix32(a);","IsDeferred":false},{"Name":"Mulberry32","Code":"x = mulberry32(a);","IsDeferred":false},{"Name":"xoshiro128**","Code":"x = xoshiro128ss(a, b, c, d);","IsDeferred":false},{"Name":"JSF (Jenkins\u0027 Small Fast)","Code":"x = jsf32(a, b, c, d);","IsDeferred":false},{"Name":"standart","Code":"x = Math.random();","IsDeferred":false}]}