30 #include <type_traits>
32 #ifdef MX_INCLUDE_BOOST
33 #include <boost/math/special_functions/bessel.hpp>
48 template<
typename T1,
typename T2>
53 #ifdef MX_INCLUDE_BOOST
54 return boost::math::cyl_bessel_j<T1, T2>(v,x);
56 static_assert(std::is_fundamental<T1>::value || !std::is_fundamental<T1>::value,
"bessel_j<T1,T2> not specialized for type T1 and/or T2, and MX_INCLUDE_BOOST is not defined, so I can't just use boost.");
62 float bessel_j<float, float>(
float v,
67 float bessel_j<int, float>(
int v,
72 double bessel_j<double, double>(
double v,
77 double bessel_j<int, double>(
int v,
82 long double bessel_j<long double, long double>(
long double v,
87 long double bessel_j<int, long double>(
int v,
93 __float128 bessel_j<__float128, __float128>( __float128 v,
98 __float128 bessel_j<int, __float128>(
int v,
T2 bessel_j(T1 v, T2 x)
Bessel Functions of the First Kind.