libstdc++
Mathematical Special Functions
Collaboration diagram for Mathematical Special Functions:

Functions

template<typename _Tp >
__gnu_cxx::__promote< _Tp >::__type std::assoc_laguerre (unsigned int __n, unsigned int __m, _Tp __x)
 
float std::assoc_laguerref (unsigned int __n, unsigned int __m, float __x)
 
long double std::assoc_laguerrel (unsigned int __n, unsigned int __m, long double __x)
 
template<typename _Tp >
__gnu_cxx::__promote< _Tp >::__type std::assoc_legendre (unsigned int __l, unsigned int __m, _Tp __x)
 
float std::assoc_legendref (unsigned int __l, unsigned int __m, float __x)
 
long double std::assoc_legendrel (unsigned int __l, unsigned int __m, long double __x)
 
template<typename _Tpa , typename _Tpb >
__gnu_cxx::__promote_2< _Tpa, _Tpb >::__type std::beta (_Tpa __a, _Tpb __b)
 
float std::betaf (float __a, float __b)
 
long double std::betal (long double __a, long double __b)
 
template<typename _Tp >
__gnu_cxx::__promote< _Tp >::__type std::comp_ellint_1 (_Tp __k)
 
float std::comp_ellint_1f (float __k)
 
long double std::comp_ellint_1l (long double __k)
 
template<typename _Tp >
__gnu_cxx::__promote< _Tp >::__type std::comp_ellint_2 (_Tp __k)
 
float std::comp_ellint_2f (float __k)
 
long double std::comp_ellint_2l (long double __k)
 
template<typename _Tp , typename _Tpn >
__gnu_cxx::__promote_2< _Tp, _Tpn >::__type std::comp_ellint_3 (_Tp __k, _Tpn __nu)
 
float std::comp_ellint_3f (float __k, float __nu)
 
long double std::comp_ellint_3l (long double __k, long double __nu)
 
template<typename _Tpnu , typename _Tp >
__gnu_cxx::__promote_2< _Tpnu, _Tp >::__type std::cyl_bessel_i (_Tpnu __nu, _Tp __x)
 
float std::cyl_bessel_if (float __nu, float __x)
 
long double std::cyl_bessel_il (long double __nu, long double __x)
 
template<typename _Tpnu , typename _Tp >
__gnu_cxx::__promote_2< _Tpnu, _Tp >::__type std::cyl_bessel_j (_Tpnu __nu, _Tp __x)
 
float std::cyl_bessel_jf (float __nu, float __x)
 
long double std::cyl_bessel_jl (long double __nu, long double __x)
 
template<typename _Tpnu , typename _Tp >
__gnu_cxx::__promote_2< _Tpnu, _Tp >::__type std::cyl_bessel_k (_Tpnu __nu, _Tp __x)
 
float std::cyl_bessel_kf (float __nu, float __x)
 
long double std::cyl_bessel_kl (long double __nu, long double __x)
 
template<typename _Tpnu , typename _Tp >
__gnu_cxx::__promote_2< _Tpnu, _Tp >::__type std::cyl_neumann (_Tpnu __nu, _Tp __x)
 
float std::cyl_neumannf (float __nu, float __x)
 
long double std::cyl_neumannl (long double __nu, long double __x)
 
template<typename _Tp , typename _Tpp >
__gnu_cxx::__promote_2< _Tp, _Tpp >::__type std::ellint_1 (_Tp __k, _Tpp __phi)
 
float std::ellint_1f (float __k, float __phi)
 
long double std::ellint_1l (long double __k, long double __phi)
 
template<typename _Tp , typename _Tpp >
__gnu_cxx::__promote_2< _Tp, _Tpp >::__type std::ellint_2 (_Tp __k, _Tpp __phi)
 
float std::ellint_2f (float __k, float __phi)
 
long double std::ellint_2l (long double __k, long double __phi)
 
template<typename _Tp , typename _Tpn , typename _Tpp >
__gnu_cxx::__promote_3< _Tp, _Tpn, _Tpp >::__type std::ellint_3 (_Tp __k, _Tpn __nu, _Tpp __phi)
 
float std::ellint_3f (float __k, float __nu, float __phi)
 
long double std::ellint_3l (long double __k, long double __nu, long double __phi)
 
template<typename _Tp >
__gnu_cxx::__promote< _Tp >::__type std::expint (_Tp __x)
 
float std::expintf (float __x)
 
long double std::expintl (long double __x)
 
template<typename _Tp >
__gnu_cxx::__promote< _Tp >::__type std::hermite (unsigned int __n, _Tp __x)
 
float std::hermitef (unsigned int __n, float __x)
 
long double std::hermitel (unsigned int __n, long double __x)
 
template<typename _Tp >
__gnu_cxx::__promote< _Tp >::__type std::laguerre (unsigned int __n, _Tp __x)
 
float std::laguerref (unsigned int __n, float __x)
 
long double std::laguerrel (unsigned int __n, long double __x)
 
template<typename _Tp >
__gnu_cxx::__promote< _Tp >::__type std::legendre (unsigned int __l, _Tp __x)
 
float std::legendref (unsigned int __l, float __x)
 
long double std::legendrel (unsigned int __l, long double __x)
 
template<typename _Tp >
__gnu_cxx::__promote< _Tp >::__type std::riemann_zeta (_Tp __s)
 
float std::riemann_zetaf (float __s)
 
long double std::riemann_zetal (long double __s)
 
template<typename _Tp >
__gnu_cxx::__promote< _Tp >::__type std::sph_bessel (unsigned int __n, _Tp __x)
 
float std::sph_besself (unsigned int __n, float __x)
 
long double std::sph_bessell (unsigned int __n, long double __x)
 
template<typename _Tp >
__gnu_cxx::__promote< _Tp >::__type std::sph_legendre (unsigned int __l, unsigned int __m, _Tp __theta)
 
float std::sph_legendref (unsigned int __l, unsigned int __m, float __theta)
 
long double std::sph_legendrel (unsigned int __l, unsigned int __m, long double __theta)
 
template<typename _Tp >
__gnu_cxx::__promote< _Tp >::__type std::sph_neumann (unsigned int __n, _Tp __x)
 
float std::sph_neumannf (unsigned int __n, float __x)
 
long double std::sph_neumannl (unsigned int __n, long double __x)
 

Detailed Description

A collection of advanced mathematical special functions, defined by ISO/IEC IS 29124.

Function Documentation

◆ assoc_laguerre()

template<typename _Tp >
__gnu_cxx::__promote<_Tp>::__type std::assoc_laguerre ( unsigned int  __n,
unsigned int  __m,
_Tp  __x 
)
inline

Return the associated Laguerre polynomial of nonnegative order n, nonnegative degree m and real argument x: $ L_n^m(x) $.

The associated Laguerre function of real degree $ \alpha $, $ L_n^\alpha(x) $, is defined by

\[ L_n^\alpha(x) = \frac{(\alpha + 1)_n}{n!} {}_1F_1(-n; \alpha + 1; x) \]

where $ (\alpha)_n $ is the Pochhammer symbol and $ {}_1F_1(a; c; x) $ is the confluent hypergeometric function.

The associated Laguerre polynomial is defined for integral degree $ \alpha = m $ by:

\[ L_n^m(x) = (-1)^m \frac{d^m}{dx^m} L_{n + m}(x) \]

where the Laguerre polynomial is defined by:

\[ L_n(x) = \frac{e^x}{n!} \frac{d^n}{dx^n} (x^ne^{-x}) \]

and $ x >= 0 $.

See also
laguerre for details of the Laguerre function of degree n
Template Parameters
_TpThe floating-point type of the argument __x.
Parameters
__nThe order of the Laguerre function, __n >= 0.
__mThe degree of the Laguerre function, __m >= 0.
__xThe argument of the Laguerre function, __x >= 0.
Exceptions
std::domain_errorif __x < 0.

Definition at line 252 of file specfun.h.

◆ assoc_laguerref()

float std::assoc_laguerref ( unsigned int  __n,
unsigned int  __m,
float  __x 
)
inline

Return the associated Laguerre polynomial of order n, degree m: $ L_n^m(x) $ for float argument.

See also
assoc_laguerre for more details.

Definition at line 206 of file specfun.h.

◆ assoc_laguerrel()

long double std::assoc_laguerrel ( unsigned int  __n,
unsigned int  __m,
long double  __x 
)
inline

Return the associated Laguerre polynomial of order n, degree m: $ L_n^m(x) $.

See also
assoc_laguerre for more details.

Definition at line 216 of file specfun.h.

◆ assoc_legendre()

template<typename _Tp >
__gnu_cxx::__promote<_Tp>::__type std::assoc_legendre ( unsigned int  __l,
unsigned int  __m,
_Tp  __x 
)
inline

Return the associated Legendre function of degree l and order m.

The associated Legendre function is derived from the Legendre function $ P_l(x) $ by the Rodrigues formula:

\[ P_l^m(x) = (1 - x^2)^{m/2}\frac{d^m}{dx^m}P_l(x) \]

See also
legendre for details of the Legendre function of degree l
Template Parameters
_TpThe floating-point type of the argument __x.
Parameters
__lThe degree __l >= 0.
__mThe order __m <= l.
__xThe argument, abs(__x) <= 1.
Exceptions
std::domain_errorif abs(__x) > 1.

Definition at line 298 of file specfun.h.

◆ assoc_legendref()

float std::assoc_legendref ( unsigned int  __l,
unsigned int  __m,
float  __x 
)
inline

Return the associated Legendre function of degree l and order m for float argument.

See also
assoc_legendre for more details.

Definition at line 267 of file specfun.h.

◆ assoc_legendrel()

long double std::assoc_legendrel ( unsigned int  __l,
unsigned int  __m,
long double  __x 
)
inline

Return the associated Legendre function of degree l and order m.

See also
assoc_legendre for more details.

Definition at line 276 of file specfun.h.

◆ beta()

template<typename _Tpa , typename _Tpb >
__gnu_cxx::__promote_2<_Tpa, _Tpb>::__type std::beta ( _Tpa  __a,
_Tpb  __b 
)
inline

Return the beta function, $B(a,b)$, for real parameters a, b.

The beta function is defined by

\[ B(a,b) = \int_0^1 t^{a - 1} (1 - t)^{b - 1} dt = \frac{\Gamma(a)\Gamma(b)}{\Gamma(a+b)} \]

where $ a > 0 $ and $ b > 0 $

Template Parameters
_TpaThe floating-point type of the parameter __a.
_TpbThe floating-point type of the parameter __b.
Parameters
__aThe first argument of the beta function, __a > 0 .
__bThe second argument of the beta function, __b > 0 .
Exceptions
std::domain_errorif __a < 0 or __b < 0 .

Definition at line 343 of file specfun.h.

◆ betaf()

float std::betaf ( float  __a,
float  __b 
)
inline

Return the beta function, $ B(a,b) $, for float parameters a, b.

See also
beta for more details.

Definition at line 312 of file specfun.h.

◆ betal()

long double std::betal ( long double  __a,
long double  __b 
)
inline

Return the beta function, $B(a,b)$, for long double parameters a, b.

See also
beta for more details.

Definition at line 322 of file specfun.h.

◆ comp_ellint_1()

template<typename _Tp >
__gnu_cxx::__promote<_Tp>::__type std::comp_ellint_1 ( _Tp  __k)
inline

Return the complete elliptic integral of the first kind $ K(k) $ for real modulus k.

The complete elliptic integral of the first kind is defined as

\[ K(k) = F(k,\pi/2) = \int_0^{\pi/2}\frac{d\theta} {\sqrt{1 - k^2 sin^2\theta}} \]

where $ F(k,\phi) $ is the incomplete elliptic integral of the first kind and the modulus $ |k| <= 1 $.

See also
ellint_1 for details of the incomplete elliptic function of the first kind.
Template Parameters
_TpThe floating-point type of the modulus __k.
Parameters
__kThe modulus, abs(__k) <= 1
Exceptions
std::domain_errorif abs(__k) > 1 .

Definition at line 391 of file specfun.h.

◆ comp_ellint_1f()

float std::comp_ellint_1f ( float  __k)
inline

Return the complete elliptic integral of the first kind $ E(k) $ for float modulus k.

See also
comp_ellint_1 for details.

Definition at line 358 of file specfun.h.

◆ comp_ellint_1l()

long double std::comp_ellint_1l ( long double  __k)
inline

Return the complete elliptic integral of the first kind $ E(k) $ for long double modulus k.

See also
comp_ellint_1 for details.

Definition at line 368 of file specfun.h.

◆ comp_ellint_2()

template<typename _Tp >
__gnu_cxx::__promote<_Tp>::__type std::comp_ellint_2 ( _Tp  __k)
inline

Return the complete elliptic integral of the second kind $ E(k) $ for real modulus k.

The complete elliptic integral of the second kind is defined as

\[ E(k) = E(k,\pi/2) = \int_0^{\pi/2}\sqrt{1 - k^2 sin^2\theta} \]

where $ E(k,\phi) $ is the incomplete elliptic integral of the second kind and the modulus $ |k| <= 1 $.

See also
ellint_2 for details of the incomplete elliptic function of the second kind.
Template Parameters
_TpThe floating-point type of the modulus __k.
Parameters
__kThe modulus, abs(__k) <= 1
Exceptions
std::domain_errorif abs(__k) > 1.

Definition at line 438 of file specfun.h.

◆ comp_ellint_2f()

float std::comp_ellint_2f ( float  __k)
inline

Return the complete elliptic integral of the second kind $ E(k) $ for float modulus k.

See also
comp_ellint_2 for details.

Definition at line 406 of file specfun.h.

◆ comp_ellint_2l()

long double std::comp_ellint_2l ( long double  __k)
inline

Return the complete elliptic integral of the second kind $ E(k) $ for long double modulus k.

See also
comp_ellint_2 for details.

Definition at line 416 of file specfun.h.

◆ comp_ellint_3()

template<typename _Tp , typename _Tpn >
__gnu_cxx::__promote_2<_Tp, _Tpn>::__type std::comp_ellint_3 ( _Tp  __k,
_Tpn  __nu 
)
inline

Return the complete elliptic integral of the third kind $ \Pi(k,\nu) = \Pi(k,\nu,\pi/2) $ for real modulus k.

The complete elliptic integral of the third kind is defined as

\[ \Pi(k,\nu) = \Pi(k,\nu,\pi/2) = \int_0^{\pi/2} \frac{d\theta} {(1 - \nu \sin^2\theta)\sqrt{1 - k^2 \sin^2\theta}} \]

where $ \Pi(k,\nu,\phi) $ is the incomplete elliptic integral of the second kind and the modulus $ |k| <= 1 $.

See also
ellint_3 for details of the incomplete elliptic function of the third kind.
Template Parameters
_TpThe floating-point type of the modulus __k.
_TpnThe floating-point type of the argument __nu.
Parameters
__kThe modulus, abs(__k) <= 1
__nuThe argument
Exceptions
std::domain_errorif abs(__k) > 1.

Definition at line 489 of file specfun.h.

◆ comp_ellint_3f()

float std::comp_ellint_3f ( float  __k,
float  __nu 
)
inline

Return the complete elliptic integral of the third kind $ \Pi(k,\nu) $ for float modulus k.

See also
comp_ellint_3 for details.

Definition at line 453 of file specfun.h.

◆ comp_ellint_3l()

long double std::comp_ellint_3l ( long double  __k,
long double  __nu 
)
inline

Return the complete elliptic integral of the third kind $ \Pi(k,\nu) $ for long double modulus k.

See also
comp_ellint_3 for details.

Definition at line 463 of file specfun.h.

◆ cyl_bessel_i()

template<typename _Tpnu , typename _Tp >
__gnu_cxx::__promote_2<_Tpnu, _Tp>::__type std::cyl_bessel_i ( _Tpnu  __nu,
_Tp  __x 
)
inline

Return the regular modified Bessel function $ I_{\nu}(x) $ for real order $ \nu $ and argument $ x >= 0 $.

The regular modified cylindrical Bessel function is:

\[ I_{\nu}(x) = i^{-\nu}J_\nu(ix) = \sum_{k=0}^{\infty} \frac{(x/2)^{\nu + 2k}}{k!\Gamma(\nu+k+1)} \]

Template Parameters
_TpnuThe floating-point type of the order __nu.
_TpThe floating-point type of the argument __x.
Parameters
__nuThe order
__xThe argument, __x >= 0
Exceptions
std::domain_errorif __x < 0 .

Definition at line 535 of file specfun.h.

◆ cyl_bessel_if()

float std::cyl_bessel_if ( float  __nu,
float  __x 
)
inline

Return the regular modified Bessel function $ I_{\nu}(x) $ for float order $ \nu $ and argument $ x >= 0 $.

See also
cyl_bessel_i for setails.

Definition at line 504 of file specfun.h.

◆ cyl_bessel_il()

long double std::cyl_bessel_il ( long double  __nu,
long double  __x 
)
inline

Return the regular modified Bessel function $ I_{\nu}(x) $ for long double order $ \nu $ and argument $ x >= 0 $.

See also
cyl_bessel_i for setails.

Definition at line 514 of file specfun.h.

◆ cyl_bessel_j()

template<typename _Tpnu , typename _Tp >
__gnu_cxx::__promote_2<_Tpnu, _Tp>::__type std::cyl_bessel_j ( _Tpnu  __nu,
_Tp  __x 
)
inline

Return the Bessel function $ J_{\nu}(x) $ of real order $ \nu $ and argument $ x >= 0 $.

The cylindrical Bessel function is:

\[ J_{\nu}(x) = \sum_{k=0}^{\infty} \frac{(-1)^k (x/2)^{\nu + 2k}}{k!\Gamma(\nu+k+1)} \]

Template Parameters
_TpnuThe floating-point type of the order __nu.
_TpThe floating-point type of the argument __x.
Parameters
__nuThe order
__xThe argument, __x >= 0
Exceptions
std::domain_errorif __x < 0 .

Definition at line 581 of file specfun.h.

◆ cyl_bessel_jf()

float std::cyl_bessel_jf ( float  __nu,
float  __x 
)
inline

Return the Bessel function of the first kind $ J_{\nu}(x) $ for float order $ \nu $ and argument $ x >= 0 $.

See also
cyl_bessel_j for setails.

Definition at line 550 of file specfun.h.

◆ cyl_bessel_jl()

long double std::cyl_bessel_jl ( long double  __nu,
long double  __x 
)
inline

Return the Bessel function of the first kind $ J_{\nu}(x) $ for long double order $ \nu $ and argument $ x >= 0 $.

See also
cyl_bessel_j for setails.

Definition at line 560 of file specfun.h.

◆ cyl_bessel_k()

template<typename _Tpnu , typename _Tp >
__gnu_cxx::__promote_2<_Tpnu, _Tp>::__type std::cyl_bessel_k ( _Tpnu  __nu,
_Tp  __x 
)
inline

Return the irregular modified Bessel function $ K_{\nu}(x) $ of real order $ \nu $ and argument $ x $.

The irregular modified Bessel function is defined by:

\[ K_{\nu}(x) = \frac{\pi}{2} \frac{I_{-\nu}(x) - I_{\nu}(x)}{\sin \nu\pi} \]

where for integral $ \nu = n $ a limit is taken: $ lim_{\nu \to n} $. For negative argument we have simply:

\[ K_{-\nu}(x) = K_{\nu}(x) \]

Template Parameters
_TpnuThe floating-point type of the order __nu.
_TpThe floating-point type of the argument __x.
Parameters
__nuThe order
__xThe argument, __x >= 0
Exceptions
std::domain_errorif __x < 0 .

Definition at line 633 of file specfun.h.

◆ cyl_bessel_kf()

float std::cyl_bessel_kf ( float  __nu,
float  __x 
)
inline

Return the irregular modified Bessel function $ K_{\nu}(x) $ for float order $ \nu $ and argument $ x >= 0 $.

See also
cyl_bessel_k for setails.

Definition at line 596 of file specfun.h.

◆ cyl_bessel_kl()

long double std::cyl_bessel_kl ( long double  __nu,
long double  __x 
)
inline

Return the irregular modified Bessel function $ K_{\nu}(x) $ for long double order $ \nu $ and argument $ x >= 0 $.

See also
cyl_bessel_k for setails.

Definition at line 606 of file specfun.h.

◆ cyl_neumann()

template<typename _Tpnu , typename _Tp >
__gnu_cxx::__promote_2<_Tpnu, _Tp>::__type std::cyl_neumann ( _Tpnu  __nu,
_Tp  __x 
)
inline

Return the Neumann function $ N_{\nu}(x) $ of real order $ \nu $ and argument $ x >= 0 $.

The Neumann function is defined by:

\[ N_{\nu}(x) = \frac{J_{\nu}(x) \cos \nu\pi - J_{-\nu}(x)} {\sin \nu\pi} \]

where $ x >= 0 $ and for integral order $ \nu = n $ a limit is taken: $ lim_{\nu \to n} $.

Template Parameters
_TpnuThe floating-point type of the order __nu.
_TpThe floating-point type of the argument __x.
Parameters
__nuThe order
__xThe argument, __x >= 0
Exceptions
std::domain_errorif __x < 0 .

Definition at line 681 of file specfun.h.

◆ cyl_neumannf()

float std::cyl_neumannf ( float  __nu,
float  __x 
)
inline

Return the Neumann function $ N_{\nu}(x) $ of float order $ \nu $ and argument $ x $.

See also
cyl_neumann for setails.

Definition at line 648 of file specfun.h.

◆ cyl_neumannl()

long double std::cyl_neumannl ( long double  __nu,
long double  __x 
)
inline

Return the Neumann function $ N_{\nu}(x) $ of long double order $ \nu $ and argument $ x $.

See also
cyl_neumann for setails.

Definition at line 658 of file specfun.h.

◆ ellint_1()

template<typename _Tp , typename _Tpp >
__gnu_cxx::__promote_2<_Tp, _Tpp>::__type std::ellint_1 ( _Tp  __k,
_Tpp  __phi 
)
inline

Return the incomplete elliptic integral of the first kind $ F(k,\phi) $ for real modulus $ k $ and angle $ \phi $.

The incomplete elliptic integral of the first kind is defined as

\[ F(k,\phi) = \int_0^{\phi}\frac{d\theta} {\sqrt{1 - k^2 sin^2\theta}} \]

For $ \phi= \pi/2 $ this becomes the complete elliptic integral of the first kind, $ K(k) $.

See also
comp_ellint_1.
Template Parameters
_TpThe floating-point type of the modulus __k.
_TppThe floating-point type of the angle __phi.
Parameters
__kThe modulus, abs(__k) <= 1
__phiThe integral limit argument in radians
Exceptions
std::domain_errorif abs(__k) > 1 .

Definition at line 729 of file specfun.h.

◆ ellint_1f()

float std::ellint_1f ( float  __k,
float  __phi 
)
inline

Return the incomplete elliptic integral of the first kind $ E(k,\phi) $ for float modulus $ k $ and angle $ \phi $.

See also
ellint_1 for details.

Definition at line 696 of file specfun.h.

◆ ellint_1l()

long double std::ellint_1l ( long double  __k,
long double  __phi 
)
inline

Return the incomplete elliptic integral of the first kind $ E(k,\phi) $ for long double modulus $ k $ and angle $ \phi $.

See also
ellint_1 for details.

Definition at line 706 of file specfun.h.

◆ ellint_2()

template<typename _Tp , typename _Tpp >
__gnu_cxx::__promote_2<_Tp, _Tpp>::__type std::ellint_2 ( _Tp  __k,
_Tpp  __phi 
)
inline

Return the incomplete elliptic integral of the second kind $ E(k,\phi) $.

The incomplete elliptic integral of the second kind is defined as

\[ E(k,\phi) = \int_0^{\phi} \sqrt{1 - k^2 sin^2\theta} \]

For $ \phi= \pi/2 $ this becomes the complete elliptic integral of the second kind, $ E(k) $.

See also
comp_ellint_2.
Template Parameters
_TpThe floating-point type of the modulus __k.
_TppThe floating-point type of the angle __phi.
Parameters
__kThe modulus, abs(__k) <= 1
__phiThe integral limit argument in radians
Returns
The elliptic function of the second kind.
Exceptions
std::domain_errorif abs(__k) > 1 .

Definition at line 777 of file specfun.h.

◆ ellint_2f()

float std::ellint_2f ( float  __k,
float  __phi 
)
inline

Return the incomplete elliptic integral of the second kind $ E(k,\phi) $ for float argument.

See also
ellint_2 for details.

Definition at line 744 of file specfun.h.

◆ ellint_2l()

long double std::ellint_2l ( long double  __k,
long double  __phi 
)
inline

Return the incomplete elliptic integral of the second kind $ E(k,\phi) $.

See also
ellint_2 for details.

Definition at line 754 of file specfun.h.

◆ ellint_3()

template<typename _Tp , typename _Tpn , typename _Tpp >
__gnu_cxx::__promote_3<_Tp, _Tpn, _Tpp>::__type std::ellint_3 ( _Tp  __k,
_Tpn  __nu,
_Tpp  __phi 
)
inline

Return the incomplete elliptic integral of the third kind $ \Pi(k,\nu,\phi) $.

The incomplete elliptic integral of the third kind is defined by:

\[ \Pi(k,\nu,\phi) = \int_0^{\phi} \frac{d\theta} {(1 - \nu \sin^2\theta) \sqrt{1 - k^2 \sin^2\theta}} \]

For $ \phi= \pi/2 $ this becomes the complete elliptic integral of the third kind, $ \Pi(k,\nu) $.

See also
comp_ellint_3.
Template Parameters
_TpThe floating-point type of the modulus __k.
_TpnThe floating-point type of the argument __nu.
_TppThe floating-point type of the angle __phi.
Parameters
__kThe modulus, abs(__k) <= 1
__nuThe second argument
__phiThe integral limit argument in radians
Returns
The elliptic function of the third kind.
Exceptions
std::domain_errorif abs(__k) > 1 .

Definition at line 830 of file specfun.h.

◆ ellint_3f()

float std::ellint_3f ( float  __k,
float  __nu,
float  __phi 
)
inline

Return the incomplete elliptic integral of the third kind $ \Pi(k,\nu,\phi) $ for float argument.

See also
ellint_3 for details.

Definition at line 792 of file specfun.h.

◆ ellint_3l()

long double std::ellint_3l ( long double  __k,
long double  __nu,
long double  __phi 
)
inline

Return the incomplete elliptic integral of the third kind $ \Pi(k,\nu,\phi) $.

See also
ellint_3 for details.

Definition at line 802 of file specfun.h.

◆ expint()

template<typename _Tp >
__gnu_cxx::__promote<_Tp>::__type std::expint ( _Tp  __x)
inline

Return the exponential integral $ Ei(x) $ for real argument x.

The exponential integral is given by

\[ Ei(x) = -\int_{-x}^\infty \frac{e^t}{t} dt \]

Template Parameters
_TpThe floating-point type of the argument __x.
Parameters
__xThe argument of the exponential integral function.

Definition at line 870 of file specfun.h.

◆ expintf()

float std::expintf ( float  __x)
inline

Return the exponential integral $ Ei(x) $ for float argument x.

See also
expint for details.

Definition at line 844 of file specfun.h.

◆ expintl()

long double std::expintl ( long double  __x)
inline

Return the exponential integral $ Ei(x) $ for long double argument x.

See also
expint for details.

Definition at line 854 of file specfun.h.

◆ hermite()

template<typename _Tp >
__gnu_cxx::__promote<_Tp>::__type std::hermite ( unsigned int  __n,
_Tp  __x 
)
inline

Return the Hermite polynomial $ H_n(x) $ of order n and real argument x.

The Hermite polynomial is defined by:

\[ H_n(x) = (-1)^n e^{x^2} \frac{d^n}{dx^n} e^{-x^2} \]

The Hermite polynomial obeys a reflection formula:

\[ H_n(-x) = (-1)^n H_n(x) \]

Template Parameters
_TpThe floating-point type of the argument __x.
Parameters
__nThe order
__xThe argument

Definition at line 918 of file specfun.h.

◆ hermitef()

float std::hermitef ( unsigned int  __n,
float  __x 
)
inline

Return the Hermite polynomial $ H_n(x) $ of nonnegative order n and float argument x.

See also
hermite for details.

Definition at line 885 of file specfun.h.

◆ hermitel()

long double std::hermitel ( unsigned int  __n,
long double  __x 
)
inline

Return the Hermite polynomial $ H_n(x) $ of nonnegative order n and long double argument x.

See also
hermite for details.

Definition at line 895 of file specfun.h.

◆ laguerre()

template<typename _Tp >
__gnu_cxx::__promote<_Tp>::__type std::laguerre ( unsigned int  __n,
_Tp  __x 
)
inline

Returns the Laguerre polynomial $ L_n(x) $ of nonnegative degree n and real argument $ x >= 0 $.

The Laguerre polynomial is defined by:

\[ L_n(x) = \frac{e^x}{n!} \frac{d^n}{dx^n} (x^ne^{-x}) \]

Template Parameters
_TpThe floating-point type of the argument __x.
Parameters
__nThe nonnegative order
__xThe argument __x >= 0
Exceptions
std::domain_errorif __x < 0 .

Definition at line 962 of file specfun.h.

◆ laguerref()

float std::laguerref ( unsigned int  __n,
float  __x 
)
inline

Returns the Laguerre polynomial $ L_n(x) $ of nonnegative degree n and float argument $ x >= 0 $.

See also
laguerre for more details.

Definition at line 933 of file specfun.h.

◆ laguerrel()

long double std::laguerrel ( unsigned int  __n,
long double  __x 
)
inline

Returns the Laguerre polynomial $ L_n(x) $ of nonnegative degree n and long double argument $ x >= 0 $.

See also
laguerre for more details.

Definition at line 943 of file specfun.h.

◆ legendre()

template<typename _Tp >
__gnu_cxx::__promote<_Tp>::__type std::legendre ( unsigned int  __l,
_Tp  __x 
)
inline

Return the Legendre polynomial $ P_l(x) $ of nonnegative degree $ l $ and real argument $ |x| <= 0 $.

The Legendre function of order $ l $ and argument $ x $, $ P_l(x) $, is defined by:

\[ P_l(x) = \frac{1}{2^l l!}\frac{d^l}{dx^l}(x^2 - 1)^{l} \]

Template Parameters
_TpThe floating-point type of the argument __x.
Parameters
__lThe degree $ l >= 0 $
__xThe argument abs(__x) <= 1
Exceptions
std::domain_errorif abs(__x) > 1

Definition at line 1007 of file specfun.h.

◆ legendref()

float std::legendref ( unsigned int  __l,
float  __x 
)
inline

Return the Legendre polynomial $ P_l(x) $ of nonnegative degree $ l $ and float argument $ |x| <= 0 $.

See also
legendre for more details.

Definition at line 977 of file specfun.h.

◆ legendrel()

long double std::legendrel ( unsigned int  __l,
long double  __x 
)
inline

Return the Legendre polynomial $ P_l(x) $ of nonnegative degree $ l $ and long double argument $ |x| <= 0 $.

See also
legendre for more details.

Definition at line 987 of file specfun.h.

◆ riemann_zeta()

template<typename _Tp >
__gnu_cxx::__promote<_Tp>::__type std::riemann_zeta ( _Tp  __s)
inline

Return the Riemann zeta function $ \zeta(s) $ for real argument $ s $.

The Riemann zeta function is defined by:

\[ \zeta(s) = \sum_{k=1}^{\infty} k^{-s} \hbox{ for } s > 1 \]

and

\[ \zeta(s) = \frac{1}{1-2^{1-s}}\sum_{k=1}^{\infty}(-1)^{k-1}k^{-s} \hbox{ for } 0 <= s <= 1 \]

For s < 1 use the reflection formula:

\[ \zeta(s) = 2^s \pi^{s-1} \sin(\frac{\pi s}{2}) \Gamma(1-s) \zeta(1-s) \]

Template Parameters
_TpThe floating-point type of the argument __s.
Parameters
__sThe argument s != 1

Definition at line 1058 of file specfun.h.

◆ riemann_zetaf()

float std::riemann_zetaf ( float  __s)
inline

Return the Riemann zeta function $ \zeta(s) $ for float argument $ s $.

See also
riemann_zeta for more details.

Definition at line 1022 of file specfun.h.

◆ riemann_zetal()

long double std::riemann_zetal ( long double  __s)
inline

Return the Riemann zeta function $ \zeta(s) $ for long double argument $ s $.

See also
riemann_zeta for more details.

Definition at line 1032 of file specfun.h.

◆ sph_bessel()

template<typename _Tp >
__gnu_cxx::__promote<_Tp>::__type std::sph_bessel ( unsigned int  __n,
_Tp  __x 
)
inline

Return the spherical Bessel function $ j_n(x) $ of nonnegative order n and real argument $ x >= 0 $.

The spherical Bessel function is defined by:

\[ j_n(x) = \left(\frac{\pi}{2x} \right) ^{1/2} J_{n+1/2}(x) \]

Template Parameters
_TpThe floating-point type of the argument __x.
Parameters
__nThe integral order n >= 0
__xThe real argument x >= 0
Exceptions
std::domain_errorif __x < 0 .

Definition at line 1102 of file specfun.h.

◆ sph_besself()

float std::sph_besself ( unsigned int  __n,
float  __x 
)
inline

Return the spherical Bessel function $ j_n(x) $ of nonnegative order n and float argument $ x >= 0 $.

See also
sph_bessel for more details.

Definition at line 1073 of file specfun.h.

◆ sph_bessell()

long double std::sph_bessell ( unsigned int  __n,
long double  __x 
)
inline

Return the spherical Bessel function $ j_n(x) $ of nonnegative order n and long double argument $ x >= 0 $.

See also
sph_bessel for more details.

Definition at line 1083 of file specfun.h.

◆ sph_legendre()

template<typename _Tp >
__gnu_cxx::__promote<_Tp>::__type std::sph_legendre ( unsigned int  __l,
unsigned int  __m,
_Tp  __theta 
)
inline

Return the spherical Legendre function of nonnegative integral degree l and order m and real angle $ \theta $ in radians.

The spherical Legendre function is defined by

\[ Y_l^m(\theta,\phi) = (-1)^m[\frac{(2l+1)}{4\pi} \frac{(l-m)!}{(l+m)!}] P_l^m(\cos\theta) \exp^{im\phi} \]

Template Parameters
_TpThe floating-point type of the angle __theta.
Parameters
__lThe order __l >= 0
__mThe degree __m >= 0 and __m <= __l
__thetaThe radian polar angle argument

Definition at line 1149 of file specfun.h.

◆ sph_legendref()

float std::sph_legendref ( unsigned int  __l,
unsigned int  __m,
float  __theta 
)
inline

Return the spherical Legendre function of nonnegative integral degree l and order m and float angle $ \theta $ in radians.

See also
sph_legendre for details.

Definition at line 1117 of file specfun.h.

◆ sph_legendrel()

long double std::sph_legendrel ( unsigned int  __l,
unsigned int  __m,
long double  __theta 
)
inline

Return the spherical Legendre function of nonnegative integral degree l and order m and long double angle $ \theta $ in radians.

See also
sph_legendre for details.

Definition at line 1128 of file specfun.h.

◆ sph_neumann()

template<typename _Tp >
__gnu_cxx::__promote<_Tp>::__type std::sph_neumann ( unsigned int  __n,
_Tp  __x 
)
inline

Return the spherical Neumann function of integral order $ n >= 0 $ and real argument $ x >= 0 $.

The spherical Neumann function is defined by

\[ n_n(x) = \left(\frac{\pi}{2x} \right) ^{1/2} N_{n+1/2}(x) \]

Template Parameters
_TpThe floating-point type of the argument __x.
Parameters
__nThe integral order n >= 0
__xThe real argument __x >= 0
Exceptions
std::domain_errorif __x < 0 .

Definition at line 1193 of file specfun.h.

◆ sph_neumannf()

float std::sph_neumannf ( unsigned int  __n,
float  __x 
)
inline

Return the spherical Neumann function of integral order $ n >= 0 $ and float argument $ x >= 0 $.

See also
sph_neumann for details.

Definition at line 1164 of file specfun.h.

◆ sph_neumannl()

long double std::sph_neumannl ( unsigned int  __n,
long double  __x 
)
inline

Return the spherical Neumann function of integral order $ n >= 0 $ and long double $ x >= 0 $.

See also
sph_neumann for details.

Definition at line 1174 of file specfun.h.