This commit is contained in:
Kim Ravn Hansen
2025-09-14 20:47:49 +02:00
parent 71b4329b9e
commit 232a771980
2 changed files with 14 additions and 0 deletions

14
xorshift32.js Executable file
View File

@@ -0,0 +1,14 @@
const [XSgetSeed, XSgetNext, XSrand] = (() => {
const m = 2 ** 32;
const XSgetSeed = () => Math.floor(Math.random() * (m - 1)) + 1;
const s = Uint32Array.of(XSgetSeed());
return [XSgetSeed, XSgetNext, (seed) => XSgetNext(seed) / m];
}
function XSgetNext(seed) {
if (seed !== undefined) s[0] = seed;
s[0] ^= s[0] << 13;
s[0] ^= s[0] >>> 17;
s[0] ^= s[0] << 5;
return s[0];
}