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
45 cyl_bessel_j(
double nu,
double x)
47 return boost::math::cyl_bessel_j(nu, x);
53 cyl_bessel_jf(
float nu,
float x)
55 return boost::math::cyl_bessel_j(nu, x);
61 cyl_bessel_jl(
long double nu,
long double x)
63 return boost::math::cyl_bessel_j(nu, x);
67 using std::cyl_bessel_j;
68 using std::cyl_bessel_jf;
69 using std::cyl_bessel_jl;
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);
124 using std::legendref;
125 using std::legendrel;
#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)
float legendref(unsigned int l, float x)
long double legendrel(unsigned int l, long double x)
double legendre(unsigned int l, double x)