@numio/bigmath
Version:
@numio/bigmath is an arbitrary-precision arithmetic library. It can be used for basic operations with decimal numbers (integers and float)
99 lines (73 loc) • 3.31 kB
Markdown
# @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 new `mod` function has been added for performing modulo operations.
* **Pipe Function Enhancement:** The `mod` function has been integrated into the `Pipe` 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
```bash
npm install @numio/bigmath
```
### YARN
```bash
yarn add @numio/bigmath
```
### BUN
```bash
bun add @numio/bigmath
```
### PNPM
```bash
pnpm add @numio/bigmath
```
### DENO
```bash
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