From 869217f1e2f7a358443719c54d0f225ef314b99f Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Mon, 17 Sep 2018 02:51:32 +0200 Subject: [PATCH] EpsilonEqual for float (used with UI functions which sometimes use qreal) --- src/blackmisc/math/mathutils.cpp | 5 +++++ src/blackmisc/math/mathutils.h | 1 + 2 files changed, 6 insertions(+) diff --git a/src/blackmisc/math/mathutils.cpp b/src/blackmisc/math/mathutils.cpp index 024d37cde..88e6354a2 100644 --- a/src/blackmisc/math/mathutils.cpp +++ b/src/blackmisc/math/mathutils.cpp @@ -67,6 +67,11 @@ namespace BlackMisc return rv; } + bool CMathUtils::epsilonEqual(float v1, float v2, float epsilon) + { + return qAbs(v1 - v2) <= epsilon; + } + bool CMathUtils::epsilonEqual(double v1, double v2, double epsilon) { return qAbs(v1 - v2) <= epsilon; diff --git a/src/blackmisc/math/mathutils.h b/src/blackmisc/math/mathutils.h index 38fbe2754..bc1651ae8 100644 --- a/src/blackmisc/math/mathutils.h +++ b/src/blackmisc/math/mathutils.h @@ -58,6 +58,7 @@ namespace BlackMisc static double roundEpsilon(double value, double epsilon); //! Epsilon safe equal @{ + static bool epsilonEqual(float v1, float v2, float epsilon = 1E-06f); static bool epsilonEqual(double v1, double v2, double epsilon = 1E-06); static bool epsilonEqualLimits(double v1, double v2) { return qAbs(v1 - v2) <= std::numeric_limits::epsilon(); } //! @}