17#ifndef __math_bessel_h__
18#define __math_bessel_h__
42 template <
typename T>
inline T
I0_scaled (
const T x)
45 if (x*x < 4.0*std::numeric_limits<T>::epsilon())
return (1.0-x);
47 if (x <= 8.0)
return ( (0.375 +
Chebyshev::eval (
coef_bI0, (
sizeof (T) >4?20:13), -1.0, 1.0, (48.0/x-11.0) /5.0)) /sqrt (x));
53 template <
typename T>
inline T
I1_scaled (
const T x)
56 if (x == 0.0)
return (0.0);
57 if (x*x < 8.0*std::numeric_limits<T>::epsilon())
return (0.5*x);
61 return (x > 0.0 ? b : -b);
64 return (x > 0.0 ? b : -b);
T eval(const double *coef, const int order, const T lower, const T upper, const T x)