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;
+  };
+}