@numio/bigmath: Precise Arithmetic Beyond JavaScript's Limits
@numio/bigmath is a powerful and reliable JavaScript library designed for precise numerical computations, overcoming common limitations of standard JavaScript number handling. It provides a rich set of functionalities for arithmetic, statistical analysis, data manipulation, and number base conversions, ensuring accuracy even with extremely large numbers and solving notorious floating-point precision issues like 0.1 + 0.2 !== 0.3
.
Latest Update
This update introduces new functionalities:
- Modulo Operation (
mod
): A newmod
function has been added for performing modulo operations. - Pipe Function Enhancement: The
mod
function has been integrated into thePipe
function for seamless chaining of operations.
Existing Functionality
The application currently supports the following operations:
- Arithmetic:
add
: Addition of numbers.sub
: Subtraction of numbers.mul
: Multiplication of numbers.div
: Division of numbers.
- Rounding:
round
: Rounding numbers to a specified number of decimal places.
- Data Manipulation:
pipe
: Chaining operations together.sort
: Sorting arrays.
- Statistical Measures:
quartile
: Calculating quartiles of a dataset.mean
: Calculating the average of a dataset.max
: Finding the maximum value in a dataset.min
: Finding the minimum value in a dataset.MAD
: Calculating the Median Absolute Deviation (based on either median or mean).IQR
: Calculating the Interquartile Range.FDR
: Freedman-Diaconis rule
- Comparison:
isEqual
: Checking if two values are equal.isLeftGreater
: Checking if the left value is greater than the right value.isLeftGreaterOrEqual
: Checking if the left value is greater than or equal to the right value.
- Mathematical Functions:
sqrt
: Calculating the square root of a number.cbrt
: Calculating the cube root of a number.abs
: Calculating the absolute value of a number.mod
: Modulo operation, which finds the remainder when one number is divided by another
- Number Base Conversion:
toBase
: Converting a number to a specified base.isHex
: Checking if a string is a valid hexadecimal number.isBinary
: Checking if a string is a valid binary number.isDecimal
: Checking if a string is a valid decimal number.isOctal
: Checking if a string is a valid octal number.isNumber
: Checking if a value is a number.
- Utility:
Benchmark
: Functionality for benchmarking code execution.
Install:
NPM
npm install @numio/bigmath
YARN
yarn add @numio/bigmath
BUN
bun add @numio/bigmath
PNPM
pnpm add @numio/bigmath
DENO
deno add jsr:@numio/bigmath
#
See documentation and examples here: https://numio.deno.dev
#
Download from NPM - https://www.npmjs.com/package/@numio/bigmath
Download from JSR - https://jsr.io/@numio/bigmath
Home page - https://numio.deno.dev
Change log - https://github.com/shpunter/numio-bigmath/blob/main/CHANGELOG.md
License - https://github.com/shpunter/numio-bigmath/blob/main/LICENSE