Inactive
Classification: API Change
Human Validated: KW
Title: Math Extensions
Authors: Rick Waldron
Withdrawn: no interested champions in February 2024
Last Presented: None
Stage Upgrades:
Stage 1: 2016-07-27 Stage 2: NA
Stage 2.7: NA
Stage 3: NA
Stage 4: NA
Last Commit: 2019-10-21
Topics: others numbers
Keywords: math arithmetic numeric
GitHub Link: https://github.com/rwaldron/proposal-math-extensions
GitHub Note Link: https://github.com/tc39/notes/blob/HEAD/meetings/2016-07/jul-26.md#9iie-math-extensions

Proposal Description:

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 this
      • Math.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
    • Is it…
      • Math.constrain
      • Math.clamp

Polyfills