Skip to content

hmmhmmhm/biggest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

6 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

SafeBase ๐Ÿ›ก๏ธ

SafeBase is a lightweight, zero-dependency JavaScript library for safe and precise arithmetic operations on very large numbers. It excels at handling both Big Decimal and Big Number computations with ease. ๐Ÿงฎ

Features ๐ŸŒŸ

  • ๐Ÿ“ฆ Easy installation: npm i safebase
  • ๐Ÿชถ Lightweight: Only 2kb in size
  • ๐Ÿ”’ Zero dependencies
  • ๐Ÿ”ข Supports operations on extremely large numbers (Big Number)
  • ๐ŸŽฏ High precision decimal arithmetic (Big Decimal)
  • ๐Ÿ’ป TypeScript support
  • ๐Ÿ”€ Seamless handling of both Big Decimal and Big Number operations

Installation ๐Ÿ“ฅ

npm install safebase

Usage ๐Ÿš€

import { add, subtract, multiply, divide } from "safebase";

console.log(add("10000000000000000000000", "0.00000000005"));
// '10000000000000000000000.00000000005'

console.log(subtract("-9999999999999999999999.9", "0.1"));
// '-10000000000000000000000'

console.log(multiply("123456789123456789", "0.000000001"));
// '123.456789123456789'

console.log(divide("1000000000000000000000", "0.1"));
// '10000000000000000000000'

API ๐Ÿ“š

add(left: string, right: string): string

Adds two numbers represented as strings.

subtract(left: string, right: string): string

Subtracts the second number from the first, both represented as strings.

multiply(left: string, right: string): string

Multiplies two numbers represented as strings.

divide(left: string, right: string, precision: number = 20): string

Divides the first number by the second, both represented as strings. The precision parameter determines the number of decimal places in the result (default is 20).

Why SafeBase? ๐Ÿค”

JavaScript's native number type has limitations when dealing with very large numbers or high precision decimals. SafeBase overcomes these limitations by:

  • ๐Ÿ”ข Representing numbers as strings, allowing for arbitrary-length integers
  • ๐ŸŽฏ Providing high-precision decimal arithmetic
  • ๐Ÿ› Avoiding floating-point errors common in JavaScript's native math operations

Performance ๐Ÿš€

SafeBase is optimized for performance while maintaining accuracy. It's suitable for applications requiring precise calculations with large numbers, such as financial systems, scientific computing, or cryptography.

Contributing ๐Ÿค

Contributions are welcome! Please feel free to submit a Pull Request.

License ๐Ÿ“„

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments ๐Ÿ‘

  • Thanks to all contributors who have helped shape SafeBase
  • Inspired by the need for reliable big number arithmetic in JavaScript

About

(TS) Tiny 2kb, zero deps, infinite precision: Biggest for all your big integer + big decimal needs.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors