1
2
3
4
5
6
7
8
9
10
11
12
13
14
| 'use strict';
| // `Math.scale` method implementation
| // https://rwaldron.github.io/proposal-math-extensions/
| module.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) {
| var nx = +x;
| var nInLow = +inLow;
| var nInHigh = +inHigh;
| var nOutLow = +outLow;
| var nOutHigh = +outHigh;
| // eslint-disable-next-line no-self-compare -- NaN check
| if (nx !== nx || nInLow !== nInLow || nInHigh !== nInHigh || nOutLow !== nOutLow || nOutHigh !== nOutHigh) return NaN;
| if (nx === Infinity || nx === -Infinity) return nx;
| return (nx - nInLow) * (nOutHigh - nOutLow) / (nInHigh - nInLow) + nOutLow;
| };
|
|