From 5afe77a11ecbc06d8222f8bfb67255ed0aff740d Mon Sep 17 00:00:00 2001
From: Joachim Wuttke <j.wuttke@fz-juelich.de>
Date: Mon, 16 Oct 2023 18:14:28 +0200
Subject: [PATCH] + Numeric::ignoreDenormalized

---
 Base/Math/Numeric.cpp | 5 +++++
 Base/Math/Numeric.h   | 1 +
 2 files changed, 6 insertions(+)

diff --git a/Base/Math/Numeric.cpp b/Base/Math/Numeric.cpp
index 3f1f4eb829f..0e514680d7a 100644
--- a/Base/Math/Numeric.cpp
+++ b/Base/Math/Numeric.cpp
@@ -46,3 +46,8 @@ bool Numeric::almostEqual(const R3& a, const R3& b, int ulp)
     return almostEqual(a.x(), b.x(), ulp) && almostEqual(a.y(), b.y(), ulp)
            && almostEqual(a.z(), b.z(), ulp);
 }
+
+double Numeric::ignoreDenormalized(double value)
+{
+    return (std::fpclassify(value) == FP_SUBNORMAL) ? 0.0 : value;
+}
diff --git a/Base/Math/Numeric.h b/Base/Math/Numeric.h
index 9659cc18db7..f49c7240d86 100644
--- a/Base/Math/Numeric.h
+++ b/Base/Math/Numeric.h
@@ -32,6 +32,7 @@ double relativeDifference(double a, double b);
 bool almostEqual(double a, double b, int ulp);
 bool almostEqual(const R3& a, const R3& b, int ulp);
 
+double ignoreDenormalized(double value);
 
 } // namespace Numeric
 
-- 
GitLab