export const clamp = (n: number, min: number, max: number): number =>
Math.min(max, Math.max(min, n));
export const lerp = (a: number, b: number, t: number): number =>
a + (b - a) * clamp(t, 0, 1);
export const mapRange = (
n: number, inMin: number, inMax: number,
outMin: number, outMax: number,
): number => {
const t = (n - inMin) / (inMax - inMin);
return outMin + (outMax - outMin) * t;
};
clamp(15, 0, 10); // 10
lerp(0, 100, 0.25); // 25
mapRange(50, 0, 100, -1, 1); // 0
mapRange(750, 0, 1000, 0, 360); // 270 ← e.g. progress → degrees
Create a free account and build your private vault. Share publicly whenever you want.