12#ifndef dealii_cxx17_cmath_h
13#define dealii_cxx17_cmath_h
17#if defined(DEAL_II_HAVE_CXX17_BESSEL_FUNCTIONS) || \
18 defined(DEAL_II_HAVE_CXX17_LEGENDRE_FUNCTIONS)
22#ifndef DEAL_II_HAVE_CXX17_BESSEL_FUNCTIONS
23# include <boost/math/special_functions/bessel.hpp>
26#ifndef DEAL_II_HAVE_CXX17_LEGENDRE_FUNCTIONS
29# include <boost/math/special_functions/legendre.hpp>
39#ifndef DEAL_II_HAVE_CXX17_BESSEL_FUNCTIONS
42 cyl_bessel_j(
double nu,
double x)
44 return boost::math::cyl_bessel_j(nu, x);
50 cyl_bessel_jf(
float nu,
float x)
52 return boost::math::cyl_bessel_j(nu, x);
56 using std::cyl_bessel_j;
57 using std::cyl_bessel_jf;
60#ifndef DEAL_II_HAVE_CXX17_LEGENDRE_FUNCTIONS
65 Assert(
static_cast<int>(l) >= 0,
67 return boost::math::legendre_p(
static_cast<int>(l), x);
75 Assert(
static_cast<int>(l) >= 0,
77 return boost::math::legendre_p(
static_cast<int>(l), x);
85 Assert(
static_cast<int>(l) >= 0,
87 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)