14#ifndef dealii_cxx17_cmath_h
15#define dealii_cxx17_cmath_h
19#if defined(DEAL_II_HAVE_CXX17_BESSEL_FUNCTIONS) || \
20 defined(DEAL_II_HAVE_CXX17_LEGENDRE_FUNCTIONS)
24#ifndef DEAL_II_HAVE_CXX17_BESSEL_FUNCTIONS
25# include <boost/math/special_functions/bessel.hpp>
28#ifndef DEAL_II_HAVE_CXX17_LEGENDRE_FUNCTIONS
31# include <boost/math/special_functions/legendre.hpp>
41#ifndef DEAL_II_HAVE_CXX17_BESSEL_FUNCTIONS
44 cyl_bessel_j(
double nu,
double x)
46 return boost::math::cyl_bessel_j(nu, x);
52 cyl_bessel_jf(
float nu,
float x)
54 return boost::math::cyl_bessel_j(nu, x);
58 using std::cyl_bessel_j;
59 using std::cyl_bessel_jf;
62#ifndef DEAL_II_HAVE_CXX17_LEGENDRE_FUNCTIONS
67 Assert(
static_cast<int>(l) >= 0,
69 return boost::math::legendre_p(
static_cast<int>(l), x);
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);
#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)