function constrain(value, low, high) { | |
if (value < low) | |
return low; | |
if (value > high) | |
return high; | |
return value; | |
} | |
function mapRange(value, start1, stop1, start2, stop2) { | |
return (value - start1) / (stop1 - start1) * (stop2 - start2) + start2; | |
} | |
function percentile(values, percentile) { | |
var cutoff = values.length * percentile; | |
return values.slice(cutoff, cutoff + 1)[0]; | |
} |