import epsilon from "./epsilon.js";
import relativeError from "./relative_error.js";
/**
* 近似相等。
*
* 该函数用于判断两个数值在给定的相对误差范围内是否近似相等。
* 在统计学和数值分析中,由于浮点数计算的精度限制,直接比较两个数值是否相等可能不适用,
* 因此通过设定一个容差范围来评估它们的近似相等性。
*
* @param {number} actual 实际值(待测试的数值)。
* @param {number} expected 预期值(参考数值)。
* @param {number} tolerance 容差(可接受的相对差异,默认为 epsilon)。
* @return {boolean} 如果实际值与预期值之间的相对误差小于或等于容差,则返回 true;否则返回 false。
*/
function approxEqual(actual, expected, tolerance = epsilon) {
return relativeError(actual, expected) <= tolerance;
}
export default approxEqual;