From 11d1fbec3423a1e037ea98dd6ebd573feef660a9 Mon Sep 17 00:00:00 2001 From: Tangent Wantwight <tangent128@gmail.com> Date: Fri, 12 Jan 2024 21:35:35 -0500 Subject: [PATCH] Add a PRNG --- lib/prng.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 lib/prng.ts diff --git a/lib/prng.ts b/lib/prng.ts new file mode 100644 index 0000000..6af760c --- /dev/null +++ b/lib/prng.ts @@ -0,0 +1,10 @@ +export type Prng = () => number; + +export function mulberry32(state: number) { + return function () { + let t = (state += 0x6d2b79f5); + t = Math.imul(t ^ (t >>> 15), t | 1); + t ^= t + Math.imul(t ^ (t >>> 7), t | 61); + return (t ^ (t >>> 14)) >>> 0; + }; +}