Private
Public Access
1
0

Adding repo after 2 days of vibecoding

This commit is contained in:
gauvainboiche
2026-03-29 11:16:46 +02:00
commit 4eac0f4415
948 changed files with 99537 additions and 0 deletions

30
public/src/rng.js Normal file
View File

@@ -0,0 +1,30 @@
export function fnv1a32(str) {
let h = 0x811c9dc5;
for (let i = 0; i < str.length; i++) {
h ^= str.charCodeAt(i);
h = Math.imul(h, 0x01000193);
}
return h >>> 0;
}
export function hash2u32(a, b, seed = 0) {
// 2D integer hash -> uint32 (cheap, stable)
let x = (a | 0) + 0x9e3779b9 + (seed | 0);
let y = (b | 0) + 0x85ebca6b;
x ^= y + 0x27d4eb2d + (x << 6) + (x >>> 2);
x = Math.imul(x ^ (x >>> 16), 0x7feb352d);
x = Math.imul(x ^ (x >>> 15), 0x846ca68b);
x ^= x >>> 16;
return x >>> 0;
}
export function mulberry32(seedU32) {
let t = seedU32 >>> 0;
return function rand() {
t += 0x6d2b79f5;
let r = Math.imul(t ^ (t >>> 15), 1 | t);
r ^= r + Math.imul(r ^ (r >>> 7), 61 | r);
return ((r ^ (r >>> 14)) >>> 0) / 4294967296;
};
}