(seed: number)
| 18 | * Small deterministic RNG (LCG) for repeatable "random" transitions. |
| 19 | */ |
| 20 | const createRng = (seed: number): (() => number) => { |
| 21 | let s = (seed >>> 0) || 1; |
| 22 | return () => { |
| 23 | // Numerical Recipes LCG constants |
| 24 | s = (1664525 * s + 1013904223) >>> 0; |
| 25 | return s / 0xffffffff; |
| 26 | }; |
| 27 | }; |
| 28 | |
| 29 | const clamp = (v: number, min: number, max: number): number => Math.max(min, Math.min(max, v)); |
| 30 |
no outgoing calls
no test coverage detected