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
 {