15 #ifndef dealii_cxx17_cmath_h
16 #define dealii_cxx17_cmath_h
20 #if defined(DEAL_II_HAVE_CXX17_BESSEL_FUNCTIONS) || \
21 defined(DEAL_II_HAVE_CXX17_LEGENDRE_FUNCTIONS)
25 #ifndef DEAL_II_HAVE_CXX17_BESSEL_FUNCTIONS
26 # include <boost/math/special_functions/bessel.hpp>
29 #ifndef DEAL_II_HAVE_CXX17_LEGENDRE_FUNCTIONS
32 # include <boost/math/special_functions/legendre.hpp>
42 #ifndef DEAL_II_HAVE_CXX17_BESSEL_FUNCTIONS
72 #ifndef DEAL_II_HAVE_CXX17_LEGENDRE_FUNCTIONS
77 Assert(
static_cast<int>(
l) >= 0,
79 return boost::math::legendre_p(
static_cast<int>(
l), x);
87 Assert(
static_cast<int>(
l) >= 0,
89 return boost::math::legendre_p(
static_cast<int>(
l), x);
97 Assert(
static_cast<int>(
l) >= 0,
99 return boost::math::legendre_p(
static_cast<int>(
l), x);
107 Assert(
static_cast<int>(
l) >= 0,
109 return boost::math::legendre_p(
static_cast<int>(
l), x);
117 Assert(
static_cast<int>(
l) >= 0,
119 return boost::math::legendre_p(
static_cast<int>(
l), x);
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define Assert(cond, exc)
static ::ExceptionBase & ExcIndexRange(std::size_t arg1, std::size_t arg2, std::size_t arg3)
Tensor< 2, dim, Number > l(const Tensor< 2, dim, Number > &F, const Tensor< 2, dim, Number > &dF_dt)
double cyl_bessel_j(double nu, double x)
long double cyl_bessel_jl(long double nu, long double x)
float legendref(unsigned int l, float x)
long double legendre(unsigned int l, long double x)
float cyl_bessel_jf(float nu, float x)
long double legendrel(unsigned int l, long double x)
double legendre(unsigned int l, double x)