{"ScriptPreparationCode":"class Xoshiro128StarStar {\r\n\tconstructor(a, b, c, d) {\r\n\t\tthis.a = a;\r\n\t\tthis.b = b;\r\n\t\tthis.c = c;\r\n\t\tthis.d = d;\r\n\t}\r\n\r\n\tnext() {\r\n\t\tconst t = this.b \u003C\u003C 9;\r\n\t\tlet r = this.b * 5;\r\n\t\tr = ((r \u003C\u003C 7) | (r \u003E\u003E\u003E 25)) * 9;\r\n\r\n\t\tthis.c ^= this.a;\r\n\t\tthis.d ^= this.b;\r\n\t\tthis.b ^= this.c;\r\n\t\tthis.a ^= this.d;\r\n\t\tthis.c ^= t;\r\n\t\tthis.d = (this.d \u003C\u003C 11) | (this.d \u003E\u003E\u003E 21);\r\n\r\n\t\treturn r \u003E\u003E\u003E 0; // Ensure unsigned integer\r\n\t}\r\n\r\n}\r\nclass Xoshiro128StarStar2 {\r\n\tconstructor(a, b, c, d) {\r\n\t\tthis.a = a;\r\n\t\tthis.b = b;\r\n\t\tthis.c = c;\r\n\t\tthis.d = d;\r\n\t}\r\n\r\n\tnext() {\r\n\t\tconst s0 = this.a;\r\n\t\tconst s1 = this.b;\r\n\t\tconst s2 = this.c;\r\n\t\tconst s3 = this.d;\r\n\r\n\t\tconst x = s1 * 5;\r\n\t\tconst r = (((x \u003C\u003C 7) | (x \u003E\u003E\u003E 25)) * 9) \u003E\u003E\u003E 0;\r\n\r\n\t\tconst t2 = s2 ^ s0;\r\n\t\tconst t3 = s3 ^ s1;\r\n\r\n\t\tthis.b = s1 ^ t2;\r\n\t\tthis.a = s0 ^ t3;\r\n\t\tthis.c = t2 ^ (s1 \u003C\u003C 9);\r\n\t\tthis.d = (t3 \u003C\u003C 11) | (t3 \u003E\u003E\u003E 21);\r\n\r\n\t\treturn r;\r\n\t}\r\n}\r\n\r\nrngA = new Xoshiro128StarStar(3536, 4678, 2245, 778);\r\nrngB = new Xoshiro128StarStar2(3536, 4678, 2245, 778);","TestCases":[{"Name":"Xoshiro128StarStar","Code":"for(let i = 0; i \u003C 100; i\u002B\u002B) {\r\n \tconst z = rngA.next(); \r\n}","IsDeferred":false},{"Name":"Xoshiro128StarStar2","Code":"for(let i = 0; i \u003C 100; i\u002B\u002B) {\r\n \tconst z = rngB.next(); \r\n}","IsDeferred":false}]}