diff --git a/maths.hpp b/maths.hpp index 240be79c..d8f748b1 100644 --- a/maths.hpp +++ b/maths.hpp @@ -68,12 +68,22 @@ almost_equal (const T &a, const T &b) { return a == b; } +template <> +bool +almost_equal (const float &a, const float &b); + + +template <> +bool +almost_equal (const double &a, const double &b); + + template typename std::enable_if< std::is_arithmetic::value && std::is_arithmetic::value, bool >::type -almost_equal (const Ta &a, const Tb &b) { +almost_equal (Ta a, Tb b) { return almost_equal (static_cast(a), static_cast(b)); } @@ -123,16 +133,6 @@ to_radians (double degrees) { } -template <> -bool -almost_equal (const float &a, const float &b); - - -template <> -bool -almost_equal (const double &a, const double &b); - - /// Variadic minimum template const T&