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.
npm install hypermath
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)
- 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
Multiplies two numbers with improved precision.
Adds two numbers with improved precision.
Divides two numbers with improved precision.
Subtracts two numbers with improved precision.
- 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.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.