# Mathematical Special Functions

## Detailed Description

A collection of advanced mathematical special functions.

## Functions

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

## Function Documentation

template<typename _Tp>

__gnu_cxx::__promote<_Tp>::__type std::tr1::assoc_laguerre | ( | unsigned int | __n,
|  | unsigned int | __m,
|  | _Tp | __x |
| ) |  |  | `[inline]`

5.2.1.1 Associated Laguerre polynomials.

Definition at line 98 of file tr1/cmath.

template<typename _Tp>

__gnu_cxx::__promote<_Tp>::__type std::tr1::assoc_legendre | ( | unsigned int | __l,
|  | unsigned int | __m,
|  | _Tp | __x |
| ) |  |  | `[inline]`

5.2.1.2 Associated Legendre functions.

Definition at line 115 of file tr1/cmath.

template<typename _Tpx, typename _Tpy>

__gnu_cxx::__promote_2<_Tpx, _Tpy>::__type std::tr1::beta | ( | _Tpx | __x,
|  | _Tpy | __y |
| ) |  |  | `[inline]`

5.2.1.3 Beta functions.

Definition at line 132 of file tr1/cmath.

template<typename _Tp>

__gnu_cxx::__promote<_Tp>::__type std::tr1::comp_ellint_1 | ( | _Tp | __k | ) | `[inline]`

5.2.1.4 Complete elliptic integrals of the first kind.

Definition at line 149 of file tr1/cmath.

template<typename _Tp>

__gnu_cxx::__promote<_Tp>::__type std::tr1::comp_ellint_2 | ( | _Tp | __k | ) | `[inline]`

5.2.1.5 Complete elliptic integrals of the second kind.

Definition at line 166 of file tr1/cmath.

template<typename _Tp, typename _Tpn>

__gnu_cxx::__promote_2<_Tp, _Tpn>::__type std::tr1::comp_ellint_3 | ( | _Tp | __k,
|  | _Tpn | __nu |
| ) |  |  | `[inline]`

5.2.1.6 Complete elliptic integrals of the third kind.

Definition at line 183 of file tr1/cmath.

template<typename _Tpa, typename _Tpc, typename _Tp>

__gnu_cxx::__promote_3<_Tpa, _Tpc, _Tp>::__type std::tr1::conf_hyperg | ( | _Tpa | __a,
|  | _Tpc | __c,
|  | _Tp | __x |
| ) |  |  | `[inline]`

5.2.1.7 Confluent hypergeometric functions.

Definition at line 200 of file tr1/cmath.

template<typename _Tpnu, typename _Tp>

__gnu_cxx::__promote_2<_Tpnu, _Tp>::__type std::tr1::cyl_bessel_i | ( | _Tpnu | __nu,
|  | _Tp | __x |
| ) |  |  | `[inline]`

5.2.1.8 Regular modified cylindrical Bessel functions.

Definition at line 217 of file tr1/cmath.

template<typename _Tpnu, typename _Tp>

__gnu_cxx::__promote_2<_Tpnu, _Tp>::__type std::tr1::cyl_bessel_j | ( | _Tpnu | __nu,
|  | _Tp | __x |
| ) |  |  | `[inline]`

5.2.1.9 Cylindrical Bessel functions (of the first kind).

Definition at line 234 of file tr1/cmath.

template<typename _Tpnu, typename _Tp>

__gnu_cxx::__promote_2<_Tpnu, _Tp>::__type std::tr1::cyl_bessel_k | ( | _Tpnu | __nu,
|  | _Tp | __x |
| ) |  |  | `[inline]`

5.2.1.10 Irregular modified cylindrical Bessel functions.

Definition at line 251 of file tr1/cmath.

template<typename _Tpnu, typename _Tp>

__gnu_cxx::__promote_2<_Tpnu, _Tp>::__type std::tr1::cyl_neumann | ( | _Tpnu | __nu,
|  | _Tp | __x |
| ) |  |  | `[inline]`

5.2.1.11 Cylindrical Neumann functions.

Definition at line 268 of file tr1/cmath.

template<typename _Tp, typename _Tpp>

__gnu_cxx::__promote_2<_Tp, _Tpp>::__type std::tr1::ellint_1 | ( | _Tp | __k,
|  | _Tpp | __phi |
| ) |  |  | `[inline]`

5.2.1.12 Incomplete elliptic integrals of the first kind.

Definition at line 285 of file tr1/cmath.

template<typename _Tp, typename _Tpp>

__gnu_cxx::__promote_2<_Tp, _Tpp>::__type std::tr1::ellint_2 | ( | _Tp | __k,
|  | _Tpp | __phi |
| ) |  |  | `[inline]`

5.2.1.13 Incomplete elliptic integrals of the second kind.

Definition at line 302 of file tr1/cmath.

template<typename _Tp, typename _Tpn, typename _Tpp>

__gnu_cxx::__promote_3<_Tp, _Tpn, _Tpp>::__type std::tr1::ellint_3 | ( | _Tp | __k,
|  | _Tpn | __nu,
|  | _Tpp | __phi |
| ) |  |  | `[inline]`

5.2.1.14 Incomplete elliptic integrals of the third kind.

Definition at line 319 of file tr1/cmath.

template<typename _Tp>

__gnu_cxx::__promote<_Tp>::__type std::tr1::expint | ( | _Tp | __x | ) | `[inline]`

5.2.1.15 Exponential integrals.

Definition at line 336 of file tr1/cmath.

template<typename _Tp>

__gnu_cxx::__promote<_Tp>::__type std::tr1::hermite | ( | unsigned int | __n,
|  | _Tp | __x |
| ) |  |  | `[inline]`

5.2.1.16 Hermite polynomials.

Definition at line 353 of file tr1/cmath.

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

__gnu_cxx::__promote_4<_Tpa, _Tpb, _Tpc, _Tp>::__type std::tr1::hyperg | ( | _Tpa | __a,
|  | _Tpb | __b,
|  | _Tpc | __c,
|  | _Tp | __x |
| ) |  |  | `[inline]`

5.2.1.17 Hypergeometric functions.

Definition at line 370 of file tr1/cmath.

template<typename _Tp>

__gnu_cxx::__promote<_Tp>::__type std::tr1::laguerre | ( | unsigned int | __n,
|  | _Tp | __x |
| ) |  |  | `[inline]`

5.2.1.18 Laguerre polynomials.

Definition at line 387 of file tr1/cmath.

template<typename _Tp>

__gnu_cxx::__promote<_Tp>::__type std::tr1::legendre | ( | unsigned int | __n,
|  | _Tp | __x |
| ) |  |  | `[inline]`

5.2.1.19 Legendre polynomials.

Definition at line 404 of file tr1/cmath.

template<typename _Tp>

__gnu_cxx::__promote<_Tp>::__type std::tr1::riemann_zeta | ( | _Tp | __x | ) | `[inline]`

5.2.1.20 Riemann zeta function.

Definition at line 421 of file tr1/cmath.

template<typename _Tp>

__gnu_cxx::__promote<_Tp>::__type std::tr1::sph_bessel | ( | unsigned int | __n,
|  | _Tp | __x |
| ) |  |  | `[inline]`

5.2.1.21 Spherical Bessel functions.

Definition at line 438 of file tr1/cmath.

template<typename _Tp>

__gnu_cxx::__promote<_Tp>::__type std::tr1::sph_legendre | ( | unsigned int | __l,
|  | unsigned int | __m,
|  | _Tp | __theta |
| ) |  |  | `[inline]`

5.2.1.22 Spherical associated Legendre functions.

Definition at line 455 of file tr1/cmath.

template<typename _Tp>

__gnu_cxx::__promote<_Tp>::__type std::tr1::sph_neumann | ( | unsigned int | __n,
|  | _Tp | __x |
| ) |  |  | `[inline]`

5.2.1.23 Spherical Neumann functions.

Definition at line 472 of file tr1/cmath.