From 1402ff440e96dd64ff1cc83045aff89e5aadd11d Mon Sep 17 00:00:00 2001 From: Adam Dempsey Date: Fri, 9 May 2025 14:11:54 -0600 Subject: [PATCH] <= in constants comparison --- singularity-opac/constants/constants.hpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/singularity-opac/constants/constants.hpp b/singularity-opac/constants/constants.hpp index f2b153f..24fd739 100644 --- a/singularity-opac/constants/constants.hpp +++ b/singularity-opac/constants/constants.hpp @@ -265,10 +265,12 @@ struct RuntimePhysicalConstants { return is_same; } - private: - bool eps_equal(const Real &a, const Real &b) const { - return 2.0 * std::abs(a - b) < EPS * (std::abs(a) + std::abs(b) + 1e-100); - } + private: + bool eps_equal(const Real &a, const Real &b) const { + const Real diff = std::abs(a - b); + const Real scale = 0.5 * (std::abs(a) + std::abs(b)); + return diff / (scale + 1e-100) <= EPS; + } }; using PhysicalConstantsUnity =