Math
Extensions Proposal
Champion
Rick Waldron
Status
This proposal is currently stage 1 of the TC39 process.
Motivation
These functions exist in many, many JS libraries either hand rolled or via many modules on npm. Providing them as built-ins serves to pave cow path. Implementations and naming is inconsistent. Several other languages offer these as built-ins.
Java
Python
Racket
Rust
Questions
Math.map
- Is it...
Math.scale
<-- thisMath.map
Math.remap
- Should there be a corresponding
Math.fmap
? (ie. https://tc39.github.io/ecma262/#sec-math.fround, Step 3 & 4 convert result to IEEE 754-2008 binary32 (using roundTiesToEven), then to IEEE 754-2008 binary64).
Math.constrain