Narcoleptic's Patch Mangler

    TypeScript icon, indicating that this package has built-in type declarations

    1.3.39 • Public • Published

    A collection of common mathematical functions.
    📦 Node.js, 🌐 Web, 📜 Files, 📰 JSDoc, 📘 Wiki.

    Mathematics is the classification and study of all possible patterns (1). This package includes common number functions related to querying about numbers, comparing numbers, rounding numbers, performing rounded division, performing modulo operations, controlling range of numbers, performing arithmetic operations, obtaining divisors of a number (and related operations), getting the number of possible arrangements of a set of objects, performing geometry-related calculations, performing basic statistical analysis, and finding various statistical means.

    Natural numbers: There are 3 different ways of performing the modulo operation: rem, mod, and modp. gcd/HCF and lcm of a list of numbers can be obtained. To calculate the number of ways of ordering items, use factorial/P(n, k), binomial/C(n, k), or multinomial/n!/k₁!k₂!....

    Real numbers: Range of a number can be controlled with constrain, normalize, or remap. Use lerp for linear interpolation (or extrapolation); root for calculating the n-th root of a number; and log to find the logarithm of a number with a given base.

    Geometry: Perform conversion from degrees to radians and vice versa. Find the magnitude of a vector or distance between two points.

    Statistics: For a list of numbers, we can calculate the sum, product, [mean]. median gives the value lying in the middle when the numbers are sorted, and modes gives the values which are repeated most often. The difference between the largest and the smallest values is the range. variance is a measure of variability of numbers.

    This package is available in both Node.js and Web formats. The web format is exposed as extra_math standalone variable and can be loaded from jsDelivr CDN.

    Stability: Experimental.

    const math = require('extra-math');
    // import * as math from "extra-math";
    // import * as math from ""; (deno)
    math.sum(1, 2, 3, 4);
    // → 10
    math.median(1, 7, 8);
    // → 7
    math.variance(1, 2, 3, 4);
    // → 1.25
    math.lcm(2, 3, 4);
    // → 12


    Property Description
    floor Round down a number to specific precision.
    ceil Round up a number to specific precision.
    round Round a number to specific precision.
    floorDiv Perform floor-divison of two numbers.
    ceilDiv Perform ceiling-divison of two numbers.
    roundDiv Perform rounded-divison of two numbers.
    rem Find the remainder of x/y with sign of x (truncated division).
    mod Find the remainder of x/y with sign of y (floored division).
    modp Find the remainder of x/y with +ve sign (euclidean division).
    constrain Constrain a number within a minimum and a maximum value.
    normalize Normalize a number from its current range into a value between 0 and 1.
    remap Re-map a number from one range to another.
    lerp Linearly interpolate a number between two numbers.
    isPow Check if a number is a power-of-n.
    prevPow Get previous power-of-n of a number.
    nextPow Find next power-of-n of a number.
    root Find the nth root of a number (ⁿ√).
    log Find the logarithm of a number with a given base.
    properDivisors List all divisors of a number, except itself.
    aliquotSum Sum all proper divisors of a number.
    isPrime Check if number is prime.
    gcd Find the greatest common divisor of numbers.
    lcm Find the least common multiple of numbers.
    factorial Find the factorial of a number.
    binomial Find the number of ways to choose k elements from a set of n elements.
    multinomial Find the number of ways to put n objects in m bins (n=sum(kᵢ)).
    degrees Convert radians to degrees.
    radians Convert degrees to radians.
    magnitude Calculate the magnitude (length) of a vector.
    distance Calculate the distance between two points.
    sum Find the sum of numbers (Σ).
    product Find the product of numbers (∏).
    median Find the value separating the higher and lower halves of numbers.
    modes Find the values that appear most often.
    range Find the smallest and largest values.
    variance Find the mean of squared deviation of numbers from its mean.
    arithmeticMean Find the average of numbers.
    geometricMean Find the geometric mean of numbers.
    harmonicMean Find the harmonic mean of numbers.
    quadriaticMean Find the quadriatic mean of numbers.
    cubicMean Find the cubic mean of numbers.


    ORG DOI Coverage Status Test Coverage Maintainability


    npm i extra-math

    DownloadsWeekly Downloads






    Unpacked Size

    36.4 kB

    Total Files


    Last publish


    • wolfram77