diff --git a/stuff/math.hh b/stuff/math.hh index 34c6ff9967cff295fe9ad84315cdbfb6657ffb1d..6bf14603b0c416de24c3af74f8b18ee607ae09bd 100644 --- a/stuff/math.hh +++ b/stuff/math.hh @@ -143,6 +143,12 @@ T clamp(const T var, const T min, const T max) return ((var < min) ? min : (var > max) ? max : var); } +template <class T> +bool aboutEqual(const T& x, const T& y, T relative_tolerance = 1e-10, T absolute_tolerance = 1e-10) +{ + return (std::fabs(x - y) <= std::max(absolute_tolerance, relative_tolerance * std::max(std::fabs(x), std::fabs(y)))); +} + //! docme class MovingAverage {