UNPKG

@lvlte/ulp

Version:

Compute the unit in last place of a given IEEE-754 64-bit number

41 lines (30 loc) 994 B
# ulp (epsilon function) > Compute the [unit of least precision](https://en.wikipedia.org/wiki/Unit_in_the_last_place) of a given IEEE-754 64-bit number. ## Install ```sh npm install @lvlte/ulp ``` ## Usage ```js // ESM import { eps } from '@lvlte/ulp'; ``` ```js // CJS const { eps } = require('@lvlte/ulp'); ``` ```js console.log(eps()); // 2.220446049250313e-16 console.log(eps() === eps(1)); // true console.log(eps() === Number.EPSILON); // true console.log(eps(Number.MAX_SAFE_INTEGER)); // 1 console.log(eps(Number.MAX_SAFE_INTEGER + 1)); // 2 console.log(eps(0)); // 5e-324 console.log(eps(0) === Number.MIN_VALUE); // true console.log(eps(Infinity)); // NaN ``` ## Use case - Check whether two floating point numbers can be considered equal. - Approximate a floating point number x as a rational number. - Get the next/previous float on the float64 number line.