1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| // `Math.scale` method implementation
| // https://rwaldron.github.io/proposal-math-extensions/
| module.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) {
| if (
| arguments.length === 0
| /* eslint-disable no-self-compare -- NaN check */
| || x != x
| || inLow != inLow
| || inHigh != inHigh
| || outLow != outLow
| || outHigh != outHigh
| /* eslint-enable no-self-compare -- NaN check */
| ) return NaN;
| if (x === Infinity || x === -Infinity) return x;
| return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow;
| };
|
|