Skip to content

HyperMath is a simple JavaScript/TypeScript library designed to address common pitfalls in JavaScript math operations. It provides a set of static methods for basic arithmetic operations with improved precision and input handling.

License

Notifications You must be signed in to change notification settings

hyperteksolutions/hypermath

Repository files navigation

HyperMath

HyperMath is a simple JavaScript/TypeScript library designed to address common pitfalls in JavaScript math operations. It provides a set of static methods for basic arithmetic operations with improved precision and input handling.

Codecov Npm package version NPM Package Downloads License

Installation

npm install hypermath

Usage

import { HyperMath } from 'hypermath';

// Multiplication
console.log(HyperMath.multiply(0.1, 0.2)); // 0.02 (instead of 0.020000000000000004)

// Addition
console.log(HyperMath.add(0.1, 0.2)); // 0.3 (instead of 0.30000000000000004)

// Division
console.log(HyperMath.divide(0.3, 0.1)); // 3 (instead of 2.9999999999999996)

// Subtraction
console.log(HyperMath.subtract(0.3, 0.1)); // 0.2 (instead of 0.19999999999999998)

Features

  • Handles both number and string inputs
  • Attempts to maintain precision up to 2 significant digits
  • Provides static methods for multiplication, addition, and division
  • Throws an error for invalid string inputs

API

HyperMath.multiply(firstValue: number | string, secondValue: number | string): number

Multiplies two numbers with improved precision.

HyperMath.add(firstValue: number | string, secondValue: number | string): number

Adds two numbers with improved precision.

HyperMath.divide(firstValue: number | string, secondValue: number | string): number

Divides two numbers with improved precision.

HyperMath.subtract(firstValue: number | string, secondValue: number | string): number

Subtracts two numbers with improved precision.

Notes

  • This library uses toPrecision(2) internally, which may lead to rounding in some cases. Be aware of this limitation when using the library for calculations requiring high precision.
  • Input strings are parsed to numbers. Invalid string inputs will throw an error.

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.

About

HyperMath is a simple JavaScript/TypeScript library designed to address common pitfalls in JavaScript math operations. It provides a set of static methods for basic arithmetic operations with improved precision and input handling.

Resources

License

Stars

Watchers

Forks

Packages

No packages published