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);
59 using std::cyl_bessel_j;
60 using std::cyl_bessel_jf;
63#ifndef DEAL_II_HAVE_CXX17_LEGENDRE_FUNCTIONS
68 Assert(
static_cast<int>(l) >= 0,
70 return boost::math::legendre_p(
static_cast<int>(l), x);
78 Assert(
static_cast<int>(l) >= 0,
80 return boost::math::legendre_p(
static_cast<int>(l), x);
88 Assert(
static_cast<int>(l) >= 0,
90 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)
float legendref(unsigned int l, float x)
double legendre(unsigned int l, double x)