diff --git a/Eigen/src/Core/MathFunctions.h b/Eigen/src/Core/MathFunctions.h index d9119c245..1a4561555 100644 --- a/Eigen/src/Core/MathFunctions.h +++ b/Eigen/src/Core/MathFunctions.h @@ -321,15 +321,15 @@ template<> inline bool ei_random() { return (ei_random(0,1) == 1); } -inline bool ei_isMuchSmallerThan(bool a, bool, bool = false/*NumTraits::dummy_precision()*/) +inline bool ei_isMuchSmallerThan(bool a, bool, bool = NumTraits::dummy_precision()) { return !a; } -inline bool ei_isApprox(bool a, bool b, bool = false/*NumTraits::dummy_precision()*/) +inline bool ei_isApprox(bool a, bool b, bool = NumTraits::dummy_precision()) { return a == b; } -inline bool ei_isApproxOrLessThan(bool a, bool b, bool = false/*NumTraits::dummy_precision()*/) +inline bool ei_isApproxOrLessThan(bool a, bool b, bool = NumTraits::dummy_precision()) { return int(a) <= int(b); } diff --git a/Eigen/src/Core/NumTraits.h b/Eigen/src/Core/NumTraits.h index 4f0cc04eb..37787b569 100644 --- a/Eigen/src/Core/NumTraits.h +++ b/Eigen/src/Core/NumTraits.h @@ -61,7 +61,7 @@ template struct ei_default_float_numtraits template struct ei_default_integral_numtraits : std::numeric_limits { - inline static int dummy_precision() { return 0; } + inline static T dummy_precision() { return T(0); } inline static T highest() { return std::numeric_limits::max(); } inline static T lowest() { return std::numeric_limits::min(); } };