2#include <boost/math/special_functions.hpp>
3#include "../dg/backend/config.h"
11template <
class T =
double>
24 return boost::math::cyl_bessel_i(0,
x);
33template<
class T =
double >
40 return boost::math::cyl_bessel_j(m_n,
x);
51template<
class T =
double >
58 return boost::math::laguerre(m_n,
x);
70template <
class T =
double>
83 return exp(
x)*boost::math::cyl_bessel_i(0,
x);
96 if ( fabs(
x) < 1e-16 )
100 return (exp(
x) - 1)/
x;
111 if ( fabs(
x) < 1e-16 )
114 return 1./2.+
x*(1./6.+
x*(1./24. +
x/120.));
115 return ((exp(
x) - 1)/
x - 1)/
x;
126 if ( fabs(
x) < 1e-16 )
129 return 1./6. +
x*(1./24.+
x*(1./120. +
x/720.));
130 return (((exp(
x) - 1)/
x - 1)/
x-1./2.)/
x;
140 if ( fabs(
x) < 1e-16 )
143 return 1./24. +
x*(1./120.+
x*(1./720. +
x/5040));
144 return ((((exp(
x) - 1)/
x - 1)/
x-1./2.)/
x-1./6.)/
x;
153template<
class T =
double>
166 static constexpr unsigned fact[] = {1, 1, 2, 6, 24, 120, 720,
167 5040, 40320, 362880, 3628800, 39916800, 479001600};
172 return (
x*m_a)*exp( -
x*m_a);
174 return 0.5*(
x*m_a)*(
x*m_a)*exp( -
x*m_a);
176 return (
x*m_a)*(
x*m_a)*(
x*m_a)*exp( -
x*m_a)/6.0;
177 return pow(
x*m_a,m_n)/fact[m_n]*exp(-
x*m_a);
192template<
class T =
double>
195 DGyrolagK(
unsigned n, T a = T(1)): m_n (
n), m_a(a), m_kn(
n,a), m_knm(
n-1,a) {}
198 return-m_a*exp(-
x*m_a);
199 return m_a*(m_knm(
x) - m_kn(
x));
const double n
Definition lanczos_b.cpp:13
T phi1(T x)
Definition functors.h:95
T phi3(T x)
Definition functors.h:125
T phi4(T x)
Definition functors.h:139
T phi2(T x)
Definition functors.h:110
Functions for optimizing Contours.
with the zeroth order modified Bessel function
Definition functors.h:13
T operator()(T x) const
return with the zeroth order modified Bessel function
Definition functors.h:22
BESSELI0()
Definition functors.h:14
with the n-th order modified Bessel function
Definition functors.h:35
T operator()(T x) const
Definition functors.h:38
BesselJ(unsigned n)
Definition functors.h:36
Definition functors.h:194
DGyrolagK(unsigned n, T a=T(1))
Definition functors.h:195
T DG_DEVICE operator()(T x) const
Definition functors.h:196
T DG_DEVICE operator()(T x, T y) const
Definition functors.h:201
with the zeroth order modified Bessel function
Definition functors.h:72
GAMMA0()
Definition functors.h:73
T operator()(T x) const
return with the zeroth order modified Bessel function
Definition functors.h:81
Definition functors.h:155
DG_DEVICE T operator()(T x, T y) const
Definition functors.h:180
GyrolagK(unsigned n, T a=T(1))
Construct.
Definition functors.h:161
DG_DEVICE T operator()(T x) const
Definition functors.h:164
with the n-th order Laguerre polynomial
Definition functors.h:53
T operator()(T x) const
Definition functors.h:56
LaguerreL(unsigned n)
Definition functors.h:54