(label: string, actual: number, expected: number, eps: number)
| 21 | }; |
| 22 | |
| 23 | const assertApprox = (label: string, actual: number, expected: number, eps: number): void => { |
| 24 | if (!Number.isFinite(actual) || Math.abs(actual - expected) > eps) { |
| 25 | throw new Error(`${label}: expected ~${expected} (±${eps}) but got ${actual}`); |
| 26 | } |
| 27 | }; |
| 28 | |
| 29 | // setRange clamp + ordering |
| 30 | { |