UNPKG

@valeera/mathx

Version:

A math library written in TS.

16 lines (14 loc) 595 B
import { EPSILON } from "../constants"; /** * @function closeTo * @desc 判断一个数是否在另一个数的邻域内,通常用于检验浮点计算是否精度在EPSILON以内 * @param {number} val 需要判断的数值 * @param {number} target 目标数值 * @param {number} [epsilon = Number.EPSILON] 邻域半径 * @example Mathx.closeTo(0.1 + 0.2, 0.3); // true; * Mathx.clamp(2, 3, 1); // true; * Mathx.clamp(2, 3, 0.5); // false; */ export const closeTo = (val: number, target: number, epsilon: number = EPSILON): boolean => { return Math.abs(val - target) <= epsilon; };