updated boost on windows
This commit is contained in:
@@ -15,9 +15,19 @@
|
||||
#include <boost/math/tools/big_constant.hpp>
|
||||
#include <boost/assert.hpp>
|
||||
|
||||
#if defined(__GNUC__) && defined(BOOST_MATH_USE_FLOAT128)
|
||||
//
|
||||
// This is the only way we can avoid
|
||||
// warning: non-standard suffix on floating constant [-Wpedantic]
|
||||
// when building with -Wall -pedantic. Neither __extension__
|
||||
// nor #pragma dianostic ignored work :(
|
||||
//
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
// Modified Bessel function of the first kind of order zero
|
||||
// we use the approximating forms derived in:
|
||||
// "Rational Approximations for the Modified Bessel Function of the First Kind – I0(x) for Computations with Double Precision"
|
||||
// "Rational Approximations for the Modified Bessel Function of the First Kind - I0(x) for Computations with Double Precision"
|
||||
// by Pavel Holoborodko,
|
||||
// see http://www.advanpix.com/2015/11/11/rational-approximations-for-the-modified-bessel-function-of-the-first-kind-i0-computations-double-precision
|
||||
// The actual coefficients used are our own, and extend Pavel's work to precision's other than double.
|
||||
@@ -532,7 +542,7 @@ template <typename T>
|
||||
inline T bessel_i0(const T& x)
|
||||
{
|
||||
typedef mpl::int_<
|
||||
std::numeric_limits<T>::digits == 0 ?
|
||||
((std::numeric_limits<T>::digits == 0) || (std::numeric_limits<T>::radix != 2)) ?
|
||||
0 :
|
||||
std::numeric_limits<T>::digits <= 24 ?
|
||||
24 :
|
||||
|
||||
Reference in New Issue
Block a user