diff --git a/include/boost/math/special_functions/detail/bessel_i0.hpp b/include/boost/math/special_functions/detail/bessel_i0.hpp index 5896db8f7..738a098c2 100644 --- a/include/boost/math/special_functions/detail/bessel_i0.hpp +++ b/include/boost/math/special_functions/detail/bessel_i0.hpp @@ -532,7 +532,9 @@ template inline T bessel_i0(const T& x) { typedef mpl::int_< - std::numeric_limits::digits == 0 ? + (std::numeric_limits::radix != 2) ? + -1 : + (std::numeric_limits::digits == 0) ? 0 : std::numeric_limits::digits <= 24 ? 24 : diff --git a/include/boost/math/special_functions/detail/bessel_i1.hpp b/include/boost/math/special_functions/detail/bessel_i1.hpp index 0f9ba96bd..af7d1dcd9 100644 --- a/include/boost/math/special_functions/detail/bessel_i1.hpp +++ b/include/boost/math/special_functions/detail/bessel_i1.hpp @@ -555,6 +555,8 @@ template inline T bessel_i1(const T& x) { typedef mpl::int_< + (std::numeric_limits::radix != 2) ? + -1 : std::numeric_limits::digits == 0 ? 0 : std::numeric_limits::digits <= 24 ?