Normal Polygamous Marriage

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

    1.0.34 • Public • Published

    A collection of functions for working with BigInts.
    📦 Node.js, 🌐 Web, 📜 Files, 📰 Docs, 📘 Wiki.

    A BigInt can represent whole numbers larger than 2⁵³ - 1 (1). ES2020 introduced it as a built-in object. BigInt enables us to represent integers with arbitrary precision, allowing us to perform mathematical operations on large integers (2). This package includes common bigint functions related to querying about numbers, comparing 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.

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

    Stability: Experimental.

    const bigint = require('extra-bigint');
    // import * as bigint from "extra-bigint";
    // import * as bigint from ""; (deno)
    // → true
    bigint.floorDiv(7n, 3n);
    // → 2n
    // → 9n
    bigint.lcm(2n, 3n, 4n);
    // → 12n
    // → 3n
    bigint.sum(1n, 2n, 3n, 4n);
    // → 10n
    bigint.mean(1n, 7n, 8n);
    // → 5n


    Property Description
    is Check if value is a bigint.
    compare Compare two bigints.
    abs Get the absolute of a bigint.
    sign Get the sign of a bigint.
    floorDiv Perform floor-divison of two bigints (\).
    ceilDiv Perform ceiling-divison of two bigints.
    roundDiv Perform rounded-divison of two bigints.
    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 bigint within a minimum and a maximum value.
    remap Re-map a bigint from one range to another.
    lerp Linearly interpolate a bigint between two bigints.
    isPow2 Check if bigint is a power-of-2.
    isPow10 Check if bigint is a power-of-10.
    prevPow2 Find previous power-of-2 of a bigint.
    prevPow10 Find previous power-of-10 of a bigint.
    nextPow2 Find next power-of-2 of a bigint.
    nextPow10 Find next power-of-10 of a bigint.
    log2 Find the base-2 logarithm of a bigint.
    log10 Find the base-10 logarithm of a bigint.
    sqrt Find the square root of a bigint.
    cbrt Find the cube root of a bigint.
    root Find the nth root of a bigint.
    properDivisors List all divisors of a bigint, except itself.
    aliquotSum Sum all proper divisors of a bigint.
    isPrime Check if bigint is prime.
    gcd Find the greatest common divisor of bigints.
    lcm Find the least common multiple of bigints.
    factorial Find the factorial of a bigint.
    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ᵢ)).
    hypot Find the length of hypotenuse.
    sum Find the sum of bigints (Σ).
    product Find the product of bigints (∏).
    median Find the value separating the higher and lower halves of bigints.
    modes Find the values that appear most often.
    min Find the smallest bigint.
    max Find the largest bigint.
    range Find the minimum and maximum bigint.
    variance Find the mean of squared deviation of bigints from its mean.
    arithmeticMean Find the arithmetic mean of bigints (µ).
    geometricMean Find the geometric mean of bigints.
    harmonicMean Find the harmonic mean of bigints.
    quadriaticMean Find the quadriatic mean of bigints.
    cubicMean Find the cubic mean of bigints.

    ORG DOI Coverage Status Test Coverage Maintainability


    npm i extra-bigint.web

    DownloadsWeekly Downloads






    Unpacked Size

    33 kB

    Total Files


    Last publish


    • wolfram77