Skip to content

nodef/extra-bigint

Repository files navigation

A BigInt can represent whole numbers larger than 2⁵³ - 1 (1).
📦 Node.js, 🌐 Web, 📜 Files, 📰 Docs, 📘 Wiki.

ES2020 introduced BigInt 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. To use it on the web, simply use the extra_bigint global variable after loading with a <script> tag from the jsDelivr CDN.

Stability: Experimental.


const xbigint = require('extra-bigint');
// import * as xbigint from "extra-bigint";
// import * as xbigint from "https://unpkg.com/extra-bigint/index.mjs"; (deno)

xbigint.isPrime(113n);
// → true

xbigint.floorDiv(7n, 3n);
// → 2n

xbigint.sqrt(81n);
// → 9n

xbigint.lcm(2n, 3n, 4n);
// → 12n

xbigint.log2(8n);
// → 3n

xbigint.sum(1n, 2n, 3n, 4n);
// → 10n

xbigint.mean(1n, 7n, 8n);
// → 5n


Index

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 largest power-of-2 less than or equal to given bigint.
prevPow10 Find largest power-of-10 less than or equal to given bigint.
nextPow2 Find smallest power-of-2 greater than or equal to given bigint.
nextPow10 Find smallest power-of-10 greater than or equal to given 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.
minPrimeFactor Find the least prime number which divides a bigint.
maxPrimeFactor Find the greatest prime number which divides a bigint.
primeFactors Find the prime factors of a bigint.
primeExponentials Find the prime factors and respective exponents 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