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
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. |