From 273391d8cb5212f37bcb965b79d9f71f4d58f8d2 Mon Sep 17 00:00:00 2001 From: Lynix Date: Sun, 9 Jun 2013 15:53:49 +0200 Subject: [PATCH] Added optionnal parameter to NumberEquals(a, b) Former-commit-id: 30e69529d7e15857046327edd6cbe587a3951fa3 --- include/Nazara/Math/Basic.hpp | 3 ++- include/Nazara/Math/Basic.inl | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/include/Nazara/Math/Basic.hpp b/include/Nazara/Math/Basic.hpp index bcdba87e8..e2abe5903 100644 --- a/include/Nazara/Math/Basic.hpp +++ b/include/Nazara/Math/Basic.hpp @@ -10,6 +10,7 @@ #include #include #include +#include #ifndef M_PI #define M_PI 3.141592653589793238462643 @@ -35,7 +36,7 @@ unsigned int NzGetNumberLength(double number, nzUInt8 precision = NAZARA_CORE_RE unsigned int NzGetNumberLength(long double number, nzUInt8 precision = NAZARA_CORE_REAL_PRECISION); template T NzLerp(T from, T to, T2 interpolation); template T NzNormalizeAngle(T angle); -template bool NzNumberEquals(T a, T b); +template bool NzNumberEquals(T a, T b, T maxDifference = std::numeric_limits::epsilon()); NzString NzNumberToString(long long number, nzUInt8 radix = 10); template T NzRadians(T radians); template T NzRadianToDegree(T radians); diff --git a/include/Nazara/Math/Basic.inl b/include/Nazara/Math/Basic.inl index a53c950c0..7ff522e88 100644 --- a/include/Nazara/Math/Basic.inl +++ b/include/Nazara/Math/Basic.inl @@ -182,9 +182,9 @@ T NzNormalizeAngle(T angle) } template -bool NzNumberEquals(T a, T b) +bool NzNumberEquals(T a, T b, T maxDifference) { - return std::fabs(a-b) < std::numeric_limits::epsilon(); + return std::fabs(a-b) < maxDifference; } inline NzString NzNumberToString(long long number, nzUInt8 radix)