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