EpsilonEqual for float (used with UI functions which sometimes use qreal)

This commit is contained in:
Klaus Basan
2018-09-17 02:51:32 +02:00
parent f553d42aca
commit 869217f1e2
2 changed files with 6 additions and 0 deletions

View File

@@ -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;

View File

@@ -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<double>::epsilon(); }
//! @}