npm stats
  • Search
  • About
  • Repo
  • Sponsor
  • more
    • Search
    • About
    • Repo
    • Sponsor

Made by Antonio Ramirez

ecma-proposal-math-extensions

0.0.2

@rwaldron

npmHomeRepoSnykSocket
Downloads:12504
$ npm install ecma-proposal-math-extensions
DailyWeeklyMonthlyYearly

Math Extensions Proposal

  • Polyfill
  • Spec

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

  • https://docs.oracle.com/javase/7/docs/api/java/lang/Math.html
    • Math
      • Math.toDegrees(double angrad)
      • Math.toRadians(double angdeg)
  • JSR275
    • Unit specification
  • JScience

Python

  • Math
    • https://docs.python.org/2/library/math.html#angular-conversion
    • https://docs.python.org/3/library/math.html#angular-conversion
      • math
        • math.degrees(x)
        • math.radians(x)
  • Units

Racket

  • Math
    • 4.2.2.10 Extra Constants and Functions
  • Operations on Measures
    • 1.1.1 Operations on Measures

Rust

  • https://doc.rust-lang.org/std/primitive.f32.html
  • https://doc.rust-lang.org/std/primitive.f64.html

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