Mathematical Special Functions
Numerics
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 _Tpa , typename _Tpc , typename _Tp >
__gnu_cxx::__promote_3< _Tpa, _Tpc, _Tp >::__type | __gnu_cxx::conf_hyperg (_Tpa __a, _Tpc __c, _Tp __x)
float | __gnu_cxx::conf_hypergf (float __a, float __c, float __x)
long double | __gnu_cxx::conf_hypergl (long double __a, long double __c, long double __x)
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 _Tpa , typename _Tpb , typename _Tpc , typename _Tp >
__gnu_cxx::__promote_4< _Tpa, _Tpb, _Tpc, _Tp >::__type | __gnu_cxx::hyperg (_Tpa __a, _Tpb __b, _Tpc __c, _Tp __x)
float | __gnu_cxx::hypergf (float __a, float __b, float __c, float __x)
long double | __gnu_cxx::hypergl (long double __a, long double __b, long double __c, 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:` .

The associated Laguerre function of real degree , , is defined by

where is the Pochhammer symbol and is the confluent hypergeometric function.

The associated Laguerre polynomial is defined for integral degree by:

where the Laguerre polynomial is defined by:

and .

See also
  laguerre for details of the Laguerre function of degree `n`

Template Parameters

  _Tp | The floating-point type of the argument `__x`.

Parameters

  __n | The order of the Laguerre function, `__n >= 0`.
  __m | The degree of the Laguerre function, `__m >= 0`.
  __x | The argument of the Laguerre function, `__x >= 0`.

Exceptions

  std::domain_error | if `__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:` 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:` .

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 by the Rodrigues formula:

See also
  legendre for details of the Legendre function of degree `l`

Template Parameters

  _Tp | The floating-point type of the argument `__x`.

Parameters

  __l | The degree `__l >= 0`.
  __m | The order `__m <= l`.
  __x | The argument, `abs(__x) <= 1`.

Exceptions

  std::domain_error | if `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, , for real parameters `a`, `b`.

The beta function is defined by

where and

Template Parameters

  _Tpa | The floating-point type of the parameter `__a`.
  _Tpb | The floating-point type of the parameter `__b`.

Parameters

  __a | The first argument of the beta function, `__a > 0` .
  __b | The second argument of the beta function, `__b > 0` .

Exceptions

  std::domain_error | if `__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, , 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, , 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 for real modulus `k`.

The complete elliptic integral of the first kind is defined as

where is the incomplete elliptic integral of the first kind and the modulus .

See also
  ellint_1 for details of the incomplete elliptic function of the first kind.

Template Parameters

  _Tp | The floating-point type of the modulus `__k`.

Parameters

  __k | The modulus, `abs(__k) <= 1`

Exceptions

  std::domain_error | if `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 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 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 for real modulus `k`.

The complete elliptic integral of the second kind is defined as

where is the incomplete elliptic integral of the second kind and the modulus .

See also
  ellint_2 for details of the incomplete elliptic function of the second kind.

Template Parameters

  _Tp | The floating-point type of the modulus `__k`.

Parameters

  __k | The modulus, `abs(__k)` <= 1

Exceptions

  std::domain_error | if `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 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 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 for real modulus `k`.

The complete elliptic integral of the third kind is defined as

where is the incomplete elliptic integral of the second kind and the modulus .

See also
  ellint_3 for details of the incomplete elliptic function of the third kind.

Template Parameters

  _Tp | The floating-point type of the modulus `__k`.
  _Tpn | The floating-point type of the argument `__nu`.

Parameters

  __k | The modulus, `abs(__k)` <= 1
  __nu | The argument

Exceptions

  std::domain_error | if `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 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 for `long double` modulus `k`.

See also
  comp_ellint_3 for details.

Definition at line 463 of file specfun.h.

## conf_hyperg()

template<typename _Tpa , typename _Tpc , typename _Tp >

__gnu_cxx::__promote_3<_Tpa, _Tpc, _Tp>::__type __gnu_cxx::conf_hyperg | ( | _Tpa | __a,
|  | _Tpc | __c,
|  | _Tp | __x
| ) |  |

inline

Return the confluent hypergeometric function of real numeratorial parameter `a`, denominatorial parameter `c`, and argument `x`.

The confluent hypergeometric function is defined by

where the Pochhammer symbol is ,

Parameters

  __a | The numeratorial parameter
  __c | The denominatorial parameter
  __x | The argument

Definition at line 1249 of file specfun.h.

## conf_hypergf()

float __gnu_cxx::conf_hypergf | ( | float | __a,
|  | float | __c,
|  | float | __x
| ) |  |

inline

Return the confluent hypergeometric function of `float` numeratorial parameter `a`, denominatorial parameter `c`, and argument `x`.

See also
  conf_hyperg for details.

Definition at line 1217 of file specfun.h.

## conf_hypergl()

long double __gnu_cxx::conf_hypergl | ( | long double | __a,
|  | long double | __c,
|  | long double | __x
| ) |  |

inline

Return the confluent hypergeometric function of `long double` numeratorial parameter `a`, denominatorial parameter `c`, and argument `x`.

See also
  conf_hyperg for details.

Definition at line 1228 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 for real order and argument .

The regular modified cylindrical Bessel function is:

Template Parameters

  _Tpnu | The floating-point type of the order `__nu`.
  _Tp | The floating-point type of the argument `__x`.

Parameters

  __nu | The order
  __x | The argument, `__x >= 0`

Exceptions

  std::domain_error | if `__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 for `float` order and argument .

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 for `long double` order and argument .

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 of real order and argument .

The cylindrical Bessel function is:

Template Parameters

  _Tpnu | The floating-point type of the order `__nu`.
  _Tp | The floating-point type of the argument `__x`.

Parameters

  __nu | The order
  __x | The argument, `__x >= 0`

Exceptions

  std::domain_error | if `__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 for `float` order and argument .

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 for `long double` order and argument .

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 of real order and argument .

The irregular modified Bessel function is defined by:

where for integral a limit is taken: . For negative argument we have simply:

Template Parameters

  _Tpnu | The floating-point type of the order `__nu`.
  _Tp | The floating-point type of the argument `__x`.

Parameters

  __nu | The order
  __x | The argument, `__x >= 0`

Exceptions

  std::domain_error | if `__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 for `float` order and argument .

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 for `long double` order and argument .

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 of real order and argument .

The Neumann function is defined by:

where and for integral order a limit is taken: .

Template Parameters

  _Tpnu | The floating-point type of the order `__nu`.
  _Tp | The floating-point type of the argument `__x`.

Parameters

  __nu | The order
  __x | The argument, `__x >= 0`

Exceptions

  std::domain_error | if `__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 of `float` order and argument .

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 of `long double` order and argument .

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 for `real` modulus and angle .

The incomplete elliptic integral of the first kind is defined as

For this becomes the complete elliptic integral of the first kind, .

See also
  comp_ellint_1.

Template Parameters

  _Tp | The floating-point type of the modulus `__k`.
  _Tpp | The floating-point type of the angle `__phi`.

Parameters

  __k | The modulus, `abs(__k) <= 1`
  __phi | The integral limit argument in radians

Exceptions

  std::domain_error | if `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 for `float` modulus and angle .

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 for `long double` modulus and angle .

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 .

The incomplete elliptic integral of the second kind is defined as

For this becomes the complete elliptic integral of the second kind, .

See also
  comp_ellint_2.

Template Parameters

  _Tp | The floating-point type of the modulus `__k`.
  _Tpp | The floating-point type of the angle `__phi`.

Parameters

  __k | The modulus, `abs(__k) <= 1`
  __phi | The integral limit argument in radians

Returns
  The elliptic function of the second kind.

Exceptions

  std::domain_error | if `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 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 .

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 .

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

For this becomes the complete elliptic integral of the third kind, .

See also
  comp_ellint_3.

Template Parameters

  _Tp | The floating-point type of the modulus `__k`.
  _Tpn | The floating-point type of the argument `__nu`.
  _Tpp | The floating-point type of the angle `__phi`.

Parameters

  __k | The modulus, `abs(__k) <= 1`
  __nu | The second argument
  __phi | The integral limit argument in radians

Returns
  The elliptic function of the third kind.

Exceptions

  std::domain_error | if `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 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 .

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 for `real` argument `x`.

The exponential integral is given by

Template Parameters

  _Tp | The floating-point type of the argument `__x`.

Parameters

  __x | The 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 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 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 of order n and `real` argument `x`.

The Hermite polynomial is defined by:

The Hermite polynomial obeys a reflection formula:

Template Parameters

  _Tp | The floating-point type of the argument `__x`.

Parameters

  __n | The order
  __x | The argument

Definition at line 918 of file specfun.h.

## hermitef()

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

inline

Return the Hermite polynomial 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 of nonnegative order n and `long double` argument `x`.

See also
  hermite for details.

Definition at line 895 of file specfun.h.

## hyperg()

template<typename _Tpa , typename _Tpb , typename _Tpc , typename _Tp >

__gnu_cxx::__promote_4<_Tpa, _Tpb, _Tpc, _Tp>::__type __gnu_cxx::hyperg | ( | _Tpa | __a,
|  | _Tpb | __b,
|  | _Tpc | __c,
|  | _Tp | __x
| ) |  |

inline

Return the hypergeometric function of real numeratorial parameters `a` and `b`, denominatorial parameter `c`, and argument `x`.

The hypergeometric function is defined by

where the Pochhammer symbol is ,

Parameters

  __a | The first numeratorial parameter
  __b | The second numeratorial parameter
  __c | The denominatorial parameter
  __x | The argument

Definition at line 1298 of file specfun.h.

## hypergf()

float __gnu_cxx::hypergf | ( | float | __a,
|  | float | __b,
|  | float | __c,
|  | float | __x
| ) |  |

inline

Return the hypergeometric function of @ float numeratorial parameters `a` and `b`, denominatorial parameter `c`, and argument `x`.

See also
  hyperg for details.

Definition at line 1265 of file specfun.h.

## hypergl()

long double __gnu_cxx::hypergl | ( | long double | __a,
|  | long double | __b,
|  | long double | __c,
|  | long double | __x
| ) |  |

inline

Return the hypergeometric function of `long double` numeratorial parameters `a` and `b`, denominatorial parameter `c`, and argument `x`.

See also
  hyperg for details.

Definition at line 1276 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 of nonnegative degree `n` and real argument .

The Laguerre polynomial is defined by:

Template Parameters

  _Tp | The floating-point type of the argument `__x`.

Parameters

  __n | The nonnegative order
  __x | The argument `__x >= 0`

Exceptions

  std::domain_error | if `__x < 0` .

Definition at line 962 of file specfun.h.

## laguerref()

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

inline

Returns the Laguerre polynomial of nonnegative degree `n` and `float` argument .

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 of nonnegative degree `n` and `long double` argument .

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 of nonnegative degree and real argument .

The Legendre function of order and argument , , is defined by:

Template Parameters

  _Tp | The floating-point type of the argument `__x`.

Parameters

  __l | The degree
  __x | The argument `abs(__x)` <= 1

Exceptions

  std::domain_error | if `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 of nonnegative degree and `float` argument .

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 of nonnegative degree and `long double` argument .

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 for real argument .

The Riemann zeta function is defined by:

and

For s < 1 use the reflection formula:

Template Parameters

  _Tp | The floating-point type of the argument `__s`.

Parameters

  __s | The 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 for `float` argument .

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 for `long double` argument .

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 of nonnegative order n and real argument .

The spherical Bessel function is defined by:

Template Parameters

  _Tp | The floating-point type of the argument `__x`.

Parameters

  __n | The integral order `n >= 0`
  __x | The real argument `x >= 0`

Exceptions

  std::domain_error | if `__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 of nonnegative order n and `float` argument .

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 of nonnegative order n and `long double` argument .

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 in radians.

The spherical Legendre function is defined by

Template Parameters

  _Tp | The floating-point type of the angle `__theta`.

Parameters

  __l | The order `__l >= 0`
  __m | The degree `__m >= 0` and `__m <= __l`
  __theta | The 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 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 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 and real argument .

The spherical Neumann function is defined by

Template Parameters

  _Tp | The floating-point type of the argument `__x`.

Parameters

  __n | The integral order `n >= 0`
  __x | The real argument `__x >= 0`

Exceptions

  std::domain_error | if `__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 and `float` argument .

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 and `long double` .

See also
  sph_neumann for details.

Definition at line 1174 of file specfun.h.