std::tr1::__detail man page on Scientific

Man page or keyword search:  
man Server   26626 pages
apropos Keyword Search (all sections)
Output format
Scientific logo
[printable version]

std::tr1::__detail(3)					 std::tr1::__detail(3)

NAME
       std::tr1::__detail -

       Implementation details not part of the namespace std::tr1 interface.

SYNOPSIS
   Classes
       struct __floating_point_constant
	   A class to encapsulate type dependent floating point constants. Not
	   everything will be able to be expressed as type logic.
       struct __numeric_constants
	   A structure for numeric constants.

   Functions
       template<typename _Tp > void __airy (const _Tp __x, _Tp &__Ai, _Tp
	   &__Bi, _Tp &__Aip, _Tp &__Bip)
       template<typename _Tp > _Tp __assoc_laguerre (const unsigned int __n,
	   const unsigned int __m, const _Tp __x)
       template<typename _Tp > _Tp __assoc_legendre_p (const unsigned int __l,
	   const unsigned int __m, const _Tp __x)
       template<typename _Tp > _Tp __bernoulli (const int __n)
       template<typename _Tp > _Tp __bernoulli_series (unsigned int __n)
       template<typename _Tp > void __bessel_ik (const _Tp __nu, const _Tp
	   __x, _Tp &__Inu, _Tp &__Knu, _Tp &__Ipnu, _Tp &__Kpnu)
       template<typename _Tp > void __bessel_jn (const _Tp __nu, const _Tp
	   __x, _Tp &__Jnu, _Tp &__Nnu, _Tp &__Jpnu, _Tp &__Npnu)
       template<typename _Tp > _Tp __beta (_Tp __x, _Tp __y)
       template<typename _Tp > _Tp __beta_gamma (_Tp __x, _Tp __y)
       template<typename _Tp > _Tp __beta_lgamma (_Tp __x, _Tp __y)
       template<typename _Tp > _Tp __beta_product (_Tp __x, _Tp __y)
       template<typename _Tp > _Tp __bincoef (const unsigned int __n, const
	   unsigned int __k)
       template<typename _Tp > _Tp __comp_ellint_1 (const _Tp __k)
       template<typename _Tp > _Tp __comp_ellint_1_series (const _Tp __k)
       template<typename _Tp > _Tp __comp_ellint_2 (const _Tp __k)
       template<typename _Tp > _Tp __comp_ellint_2_series (const _Tp __k)
       template<typename _Tp > _Tp __comp_ellint_3 (const _Tp __k, const _Tp
	   __nu)
       template<typename _Tp > _Tp __conf_hyperg (const _Tp __a, const _Tp
	   __c, const _Tp __x)
       template<typename _Tp > _Tp __conf_hyperg_luke (const _Tp __a, const
	   _Tp __c, const _Tp __xin)
       template<typename _Tp > _Tp __conf_hyperg_series (const _Tp __a, const
	   _Tp __c, const _Tp __x)
       template<typename _Tp > _Tp __cyl_bessel_i (const _Tp __nu, const _Tp
	   __x)
       template<typename _Tp > _Tp __cyl_bessel_ij_series (const _Tp __nu,
	   const _Tp __x, const _Tp __sgn, const unsigned int __max_iter)
       template<typename _Tp > _Tp __cyl_bessel_j (const _Tp __nu, const _Tp
	   __x)
       template<typename _Tp > void __cyl_bessel_jn_asymp (const _Tp __nu,
	   const _Tp __x, _Tp &__Jnu, _Tp &__Nnu)
       template<typename _Tp > _Tp __cyl_bessel_k (const _Tp __nu, const _Tp
	   __x)
       template<typename _Tp > _Tp __cyl_neumann_n (const _Tp __nu, const _Tp
	   __x)
       template<typename _Tp > _Tp __ellint_1 (const _Tp __k, const _Tp __phi)
       template<typename _Tp > _Tp __ellint_2 (const _Tp __k, const _Tp __phi)
       template<typename _Tp > _Tp __ellint_3 (const _Tp __k, const _Tp __nu,
	   const _Tp __phi)
       template<typename _Tp > _Tp __ellint_rc (const _Tp __x, const _Tp __y)
       template<typename _Tp > _Tp __ellint_rd (const _Tp __x, const _Tp __y,
	   const _Tp __z)
       template<typename _Tp > _Tp __ellint_rf (const _Tp __x, const _Tp __y,
	   const _Tp __z)
       template<typename _Tp > _Tp __ellint_rj (const _Tp __x, const _Tp __y,
	   const _Tp __z, const _Tp __p)
       template<typename _Tp > _Tp __expint (const _Tp __x)
       template<typename _Tp > _Tp __expint (const unsigned int __n, const _Tp
	   __x)
       template<typename _Tp > _Tp __expint_asymp (const unsigned int __n,
	   const _Tp __x)
       template<typename _Tp > _Tp __expint_E1 (const _Tp __x)
       template<typename _Tp > _Tp __expint_E1_asymp (const _Tp __x)
       template<typename _Tp > _Tp __expint_E1_series (const _Tp __x)
       template<typename _Tp > _Tp __expint_Ei (const _Tp __x)
       template<typename _Tp > _Tp __expint_Ei_asymp (const _Tp __x)
       template<typename _Tp > _Tp __expint_Ei_series (const _Tp __x)
       template<typename _Tp > _Tp __expint_En_cont_frac (const unsigned int
	   __n, const _Tp __x)
       template<typename _Tp > _Tp __expint_En_recursion (const unsigned int
	   __n, const _Tp __x)
       template<typename _Tp > _Tp __expint_En_series (const unsigned int __n,
	   const _Tp __x)
       template<typename _Tp > _Tp __expint_large_n (const unsigned int __n,
	   const _Tp __x)
       template<typename _Tp > _Tp __gamma (const _Tp __x)
       template<typename _Tp > void __gamma_temme (const _Tp __mu, _Tp
	   &__gam1, _Tp &__gam2, _Tp &__gampl, _Tp &__gammi)
       template<typename _Tp > _Tp __hurwitz_zeta (const _Tp __a, const _Tp
	   __s)
       template<typename _Tp > _Tp __hurwitz_zeta_glob (const _Tp __a, const
	   _Tp __s)
       template<typename _Tp > _Tp __hyperg (const _Tp __a, const _Tp __b,
	   const _Tp __c, const _Tp __x)
       template<typename _Tp > _Tp __hyperg_luke (const _Tp __a, const _Tp
	   __b, const _Tp __c, const _Tp __xin)
       template<typename _Tp > _Tp __hyperg_reflect (const _Tp __a, const _Tp
	   __b, const _Tp __c, const _Tp __x)
       template<typename _Tp > _Tp __hyperg_series (const _Tp __a, const _Tp
	   __b, const _Tp __c, const _Tp __x)
       template<typename _Tp > bool __isnan (const _Tp __x)
       template<> bool __isnan< float > (const float __x)
       template<> bool __isnan< long double > (const long double __x)
       template<typename _Tp > _Tp __laguerre (const unsigned int __n, const
	   _Tp __x)
       template<typename _Tp > _Tp __log_bincoef (const unsigned int __n,
	   const unsigned int __k)
       template<typename _Tp > _Tp __log_gamma (const _Tp __x)
       template<typename _Tp > _Tp __log_gamma_bernoulli (const _Tp __x)
       template<typename _Tp > _Tp __log_gamma_lanczos (const _Tp __x)
       template<typename _Tp > _Tp __log_gamma_sign (const _Tp __x)
       template<typename _Tp > _Tp __poly_hermite (const unsigned int __n,
	   const _Tp __x)
       template<typename _Tp > _Tp __poly_hermite_recursion (const unsigned
	   int __n, const _Tp __x)
       template<typename _Tpa , typename _Tp > _Tp __poly_laguerre (const
	   unsigned int __n, const _Tpa __alpha1, const _Tp __x)
       template<typename _Tpa , typename _Tp > _Tp __poly_laguerre_hyperg
	   (const unsigned int __n, const _Tpa __alpha1, const _Tp __x)
       template<typename _Tpa , typename _Tp > _Tp __poly_laguerre_large_n
	   (const unsigned __n, const _Tpa __alpha1, const _Tp __x)
       template<typename _Tpa , typename _Tp > _Tp __poly_laguerre_recursion
	   (const unsigned int __n, const _Tpa __alpha1, const _Tp __x)
       template<typename _Tp > _Tp __poly_legendre_p (const unsigned int __l,
	   const _Tp __x)
       template<typename _Tp > _Tp __psi (const unsigned int __n, const _Tp
	   __x)
       template<typename _Tp > _Tp __psi (const _Tp __x)
       template<typename _Tp > _Tp __psi_asymp (const _Tp __x)
       template<typename _Tp > _Tp __psi_series (const _Tp __x)
       template<typename _Tp > _Tp __riemann_zeta (const _Tp __s)
       template<typename _Tp > _Tp __riemann_zeta_alt (const _Tp __s)
       template<typename _Tp > _Tp __riemann_zeta_glob (const _Tp __s)
       template<typename _Tp > _Tp __riemann_zeta_product (const _Tp __s)
       template<typename _Tp > _Tp __riemann_zeta_sum (const _Tp __s)
       template<typename _Tp > _Tp __sph_bessel (const unsigned int __n, const
	   _Tp __x)
       template<typename _Tp > void __sph_bessel_ik (const unsigned int __n,
	   const _Tp __x, _Tp &__i_n, _Tp &__k_n, _Tp &__ip_n, _Tp &__kp_n)
       template<typename _Tp > void __sph_bessel_jn (const unsigned int __n,
	   const _Tp __x, _Tp &__j_n, _Tp &__n_n, _Tp &__jp_n, _Tp &__np_n)
       template<typename _Tp > _Tp __sph_legendre (const unsigned int __l,
	   const unsigned int __m, const _Tp __theta)
       template<typename _Tp > _Tp __sph_neumann (const unsigned int __n,
	   const _Tp __x)

Detailed Description
       Implementation details not part of the namespace std::tr1 interface.

Function Documentation
   template<typename _Tp > void std::tr1::__detail::__airy (const _Tp __x, _Tp
       & __Ai, _Tp & __Bi, _Tp & __Aip, _Tp & __Bip) [inline]
       Compute the Airy functions $ Ai(x) $ and $ Bi(x) $ and their first
       derivatives $ Ai'(x) $ and $ Bi(x) $ respectively. Parameters:
	   __n The order of the Airy functions.
	   __x The argument of the Airy functions.
	   __i_n The output Airy function.
	   __k_n The output Airy function.
	   __ip_n The output derivative of the Airy function.
	   __kp_n The output derivative of the Airy function.

       Definition at line 370 of file modified_bessel_func.tcc.

       References __bessel_ik(), __bessel_jn(),
       std::tr1::__detail::__numeric_constants< _Tp >::__pi(),
       std::tr1::__detail::__numeric_constants< _Tp >::__sqrt3(), std::abs(),
       and std::sqrt().

   template<typename _Tp > _Tp std::tr1::__detail::__assoc_laguerre (const
       unsigned int __n, const unsigned int __m, const _Tp __x) [inline]
       This routine returns the associated Laguerre polynomial of order n,
       degree m: $ L_n^m(x) $. The associated Laguerre polynomial is defined
       for integral $ lpha = m $ by: L_n^m(x) = (-1)^m ac{d^m}{dx^m} L_{n +
       m}(x) ] where the Laguerre polynomial is defined by: L_n(x) =
       ac{e^x}{n!} ac{d^n}{dx^n} (x^ne^{-x}) ]

       Parameters:
	   __n The order of the Laguerre polynomial.
	   __m The degree of the Laguerre polynomial.
	   __x The argument of the Laguerre polynomial.

       Returns:
	   The value of the associated Laguerre polynomial of order n, degree
	   m, and argument x.

       Definition at line 297 of file poly_laguerre.tcc.

   template<typename _Tp > _Tp std::tr1::__detail::__assoc_legendre_p (const
       unsigned int __l, const unsigned int __m, const _Tp __x) [inline]
       Return the associated Legendre function by recursion on $ l $. 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}ac{d^m}{dx^m}P_l(x) ]

       Parameters:
	   l The order of the associated Legendre function. $ l >= 0 $.
	   m The order of the associated Legendre function. $ m <= l $.
	   x The argument of the associated Legendre function. $ |x| <= 1 $.

       Definition at line 133 of file legendre_function.tcc.

       References __poly_legendre_p(), and std::sqrt().

   template<typename _Tp > _Tp std::tr1::__detail::__bernoulli (const int __n)
       [inline]
       This returns Bernoulli number $B_n$. Parameters:
	   __n the order n of the Bernoulli number.

       Returns:
	   The Bernoulli number of order n.

       Definition at line 133 of file gamma.tcc.

   template<typename _Tp > _Tp std::tr1::__detail::__bernoulli_series
       (unsigned int __n) [inline]
       This returns Bernoulli numbers from a table or by summation for larger
       values. Recursion is unstable.

       Parameters:
	   __n the order n of the Bernoulli number.

       Returns:
	   The Bernoulli number of order n.

       Definition at line 70 of file gamma.tcc.

       References std::pow().

   template<typename _Tp > void std::tr1::__detail::__bessel_ik (const _Tp
       __nu, const _Tp __x, _Tp & __Inu, _Tp & __Knu, _Tp & __Ipnu, _Tp &
       __Kpnu) [inline]
       Compute the modified Bessel functions $ I_0(x) $ and $ K_0(x) $ and
       their first derivatives $ I'_0(x) $ and $ K'_0(x) $ respectively. These
       four functions are computed together for numerical stability.
       Parameters:
	   __nu The order of the Bessel functions.
	   __x The argument of the Bessel functions.
	   __Inu The output regular modified Bessel function.
	   __Knu The output irregular modified Bessel function.
	   __Ipnu The output derivative of the regular modified Bessel
	   function.
	   __Kpnu The output derivative of the irregular modified Bessel
	   function.

       Definition at line 81 of file modified_bessel_func.tcc.

       References __gamma_temme(), std::tr1::__detail::__numeric_constants<
       _Tp >::__pi(), std::abs(), std::cosh(), std::exp(), std::log(),
       std::sin(), std::sinh(), and std::sqrt().

       Referenced by __airy(), __cyl_bessel_i(), __cyl_bessel_k(), and
       __sph_bessel_ik().

   template<typename _Tp > void std::tr1::__detail::__bessel_jn (const _Tp
       __nu, const _Tp __x, _Tp & __Jnu, _Tp & __Nnu, _Tp & __Jpnu, _Tp &
       __Npnu) [inline]
       Compute the Bessel $ J_0(x) $ and Neumann $ N_0(x) $ functions and
       their first derivatives $ J'_0(x) $ and $ N'_0(x) $ respectively. These
       four functions are computed together for numerical stability.
       Parameters:
	   __nu The order of the Bessel functions.
	   __x The argument of the Bessel functions.
	   __Jnu The output Bessel function of the first kind.
	   __Nnu The output Neumann function (Bessel function of the second
	   kind).
	   __Jpnu The output derivative of the Bessel function of the first
	   kind.
	   __Npnu The output derivative of the Neumann function.

       Definition at line 128 of file bessel_function.tcc.

       References __gamma_temme(), std::tr1::__detail::__numeric_constants<
       _Tp >::__pi(), std::abs(), std::cosh(), std::exp(), std::log(),
       std::max(), std::sin(), std::sinh(), and std::sqrt().

       Referenced by __airy(), __cyl_bessel_j(), __cyl_neumann_n(), and
       __sph_bessel_jn().

   template<typename _Tp > _Tp std::tr1::__detail::__beta (_Tp __x, _Tp __y)
       [inline]
       Return the beta function $ B(x,y) $. The beta function is defined by
       B(x,y) = ac{Gamma(x)Gamma(y)}{Gamma(x+y)} ]

       Parameters:
	   __x The first argument of the beta function.
	   __y The second argument of the beta function.

       Returns:
	   The beta function.

       Definition at line 185 of file beta_function.tcc.

       References __beta_lgamma().

       Referenced by __ellint_rj().

   template<typename _Tp > _Tp std::tr1::__detail::__beta_gamma (_Tp __x, _Tp
       __y) [inline]
       Return the beta function: $B(x,y)$. The beta function is defined by
       B(x,y) = ac{Gamma(x)Gamma(y)}{Gamma(x+y)} ]

       Parameters:
	   __x The first argument of the beta function.
	   __y The second argument of the beta function.

       Returns:
	   The beta function.

       Definition at line 75 of file beta_function.tcc.

       References __gamma().

   template<typename _Tp > _Tp std::tr1::__detail::__beta_lgamma (_Tp __x, _Tp
       __y) [inline]
       Return the beta function $B(x,y)$ using the log gamma functions. The
       beta function is defined by B(x,y) = ac{Gamma(x)Gamma(y)}{Gamma(x+y)} ]

       Parameters:
	   __x The first argument of the beta function.
	   __y The second argument of the beta function.

       Returns:
	   The beta function.

       Definition at line 123 of file beta_function.tcc.

       References __log_gamma(), and std::exp().

       Referenced by __beta().

   template<typename _Tp > _Tp std::tr1::__detail::__beta_product (_Tp __x,
       _Tp __y) [inline]
       Return the beta function $B(x,y)$ using the product form. The beta
       function is defined by B(x,y) = ac{Gamma(x)Gamma(y)}{Gamma(x+y)} ]

       Parameters:
	   __x The first argument of the beta function.
	   __y The second argument of the beta function.

       Returns:
	   The beta function.

       Definition at line 154 of file beta_function.tcc.

   template<typename _Tp > _Tp std::tr1::__detail::__bincoef (const unsigned
       int __n, const unsigned int __k) [inline]
       Retight)h= ac{n!}{(n-k)!fk!}e]..Parameters:al coefficient is given by:
       t(
	   __n The first argument of the binomial coefficient.
	   __k The second argument of the binomial coefficient.

       Returns:
	   The binomial coefficient.

       Definition at line 310 of file gamma.tcc.

       References std::exp(), and std::log().

   template<typename _Tp > _Tp std::tr1::__detail::__comp_ellint_1 (const _Tp
       __k) [inline]
       Return the complete elliptic integral of the first kind $ K(k) $ using
       the Carlson formulation. The complete elliptic integral of the first
       kind is defined as K(k) = F(k,i/2)
       = int_0^{i/2}ac{dheta}
       {t{1 - k^2 sin^2heta}} ] where $ F(k,hi)
       $ is the incomplete elliptic integral of the first kind.

       Parameters:
	   __k The argument of the complete elliptic function.

       Returns:
	   The complete elliptic function of the first kind.

       Definition at line 191 of file ell_integral.tcc.

       References __ellint_rf(), and std::abs().

       Referenced by __ellint_1().

   template<typename _Tp > _Tp std::tr1::__detail::__comp_ellint_1_series
       (const _Tp __k) [inline]
       Return the complete elliptic integral of the first kind $ K(k) $ by
       series expansion. The complete elliptic integral of the first kind is
       defined as K(k) = F(k,i/2)
       = int_0^{i/2}ac{dheta}
       {t{1 - k^2sin^2heta}} ]

       This routine is not bad as long as |k| is somewhat smaller than 1 but
       is not is good as the Carlson elliptic integral formulation.

       Parameters:
	   __k The argument of the complete elliptic function.

       Returns:
	   The complete elliptic function of the first kind.

       Definition at line 153 of file ell_integral.tcc.

       References std::tr1::__detail::__numeric_constants< _Tp >::__pi_2().

   template<typename _Tp > _Tp std::tr1::__detail::__comp_ellint_2 (const _Tp
       __k) [inline]
       Return the complete elliptic integral of the second kind $ E(k) $ using
       the Carlson formulation. The complete elliptic integral of the second
       kind is defined as E(k,i/2)
       = int_0^{i/2}t{1
       - k^2 sin^2heta} ]

       Parameters:
	   __k The argument of the complete elliptic function.

       Returns:
	   The complete elliptic function of the second kind.

       Definition at line 402 of file ell_integral.tcc.

       References __ellint_rd(), __ellint_rf(), and std::abs().

       Referenced by __ellint_2().

   template<typename _Tp > _Tp std::tr1::__detail::__comp_ellint_2_series
       (const _Tp __k) [inline]
       Return the complete elliptic integral of the second kind $ E(k) $ by
       series expansion. The complete elliptic integral of the second kind is
       defined as E(k,i/2)
       = int_0^{i/2}t{1
       - k^2 sin^2heta} ]

       This routine is not bad as long as |k| is somewhat smaller than 1 but
       is not is good as the Carlson elliptic integral formulation.

       Parameters:
	   __k The argument of the complete elliptic function.

       Returns:
	   The complete elliptic function of the second kind.

       Definition at line 266 of file ell_integral.tcc.

       References std::tr1::__detail::__numeric_constants< _Tp >::__pi_2().

   template<typename _Tp > _Tp std::tr1::__detail::__comp_ellint_3 (const _Tp
       __k, const _Tp __nu) [inline]
       Return the complete elliptic integral of the third kind $ Pi(k,0) =
       Pi(k,0,i/2)
       $ using the Carlson formulation. The complete elliptic integral of the
       third kind is defined as Pi(k,0) = int_0^{i/2}
       ac{dheta} {(1 - 0 ^2heta)t{1 - k^2 ^2heta}} ]

       Parameters:
	   __k The argument of the elliptic function.
	   __nu The second argument of the elliptic function.

       Returns:
	   The complete elliptic function of the third kind.

       Definition at line 670 of file ell_integral.tcc.

       References __ellint_rf(), __ellint_rj(), and std::abs().

       Referenced by __ellint_3().

   template<typename _Tp > _Tp std::tr1::__detail::__conf_hyperg (const _Tp
       __a, const _Tp __c, const _Tp __x) [inline]
       Return the confluent hypogeometric function $ _1F_1(a;c;x) $. Todo
	   Handle b == nonpositive integer blowup - return NaN.

       Parameters:
	   __a The 'numerator' parameter.
	   __c The 'denominator' parameter.
	   __x The argument of the confluent hypergeometric function.

       Returns:
	   The confluent hypergeometric function.

       Definition at line 222 of file hypergeometric.tcc.

       References __conf_hyperg_luke(), __conf_hyperg_series(), and
       std::exp().

   template<typename _Tp > _Tp std::tr1::__detail::__conf_hyperg_luke (const
       _Tp __a, const _Tp __c, const _Tp __xin) [inline]
       Return the hypogeometric function $ _2F_1(a,b;c;x) $ by an iterative
       procedure described in Luke, Algorithms for the Computation of
       Mathematical Functions. Like the case of the 2F1 rational
       approximations, these are probably guaranteed to converge for x < 0,
       barring gross numerical instability in the pre-asymptotic regime.

       Definition at line 115 of file hypergeometric.tcc.

       References std::abs(), and std::pow().

       Referenced by __conf_hyperg().

   template<typename _Tp > _Tp std::tr1::__detail::__conf_hyperg_series (const
       _Tp __a, const _Tp __c, const _Tp __x) [inline]
       This routine returns the confluent hypergeometric function by series
       expansion. _1F_1(a;c;x) = ac{Gamma(c)}{Gamma(a)} _{n=0}^{infty}
       ac{Gamma(a+n)}{Gamma(c+n)} ac{x^n}{n!} ].PP If a and b are integers and
       a < 0 and either b > 0 or b < a then the series is a polynomial with a
       finite number of terms. If b is an integer and b <= 0 the confluent
       hypergeometric function is undefined.

       Parameters:
	   __a The 'numerator' parameter.
	   __c The 'denominator' parameter.
	   __x The argument of the confluent hypergeometric function.

       Returns:
	   The confluent hypergeometric function.

       Definition at line 78 of file hypergeometric.tcc.

       References std::abs().

       Referenced by __conf_hyperg().

   template<typename _Tp > _Tp std::tr1::__detail::__cyl_bessel_i (const _Tp
       __nu, const _Tp __x) [inline]
       Return the regular modified Bessel function of order $ 0 $: $ I_{0}(x)
       $. The regular modified cylindrical Bessel function is: I_{0}(x) =
       _{k=0}^{infty} ac{(x/2)^{0 + 2k}}{k!Gamma(0+k+1)} ]

       Parameters:
	   __nu The order of the regular modified Bessel function.
	   __x The argument of the regular modified Bessel function.

       Returns:
	   The output regular modified Bessel function.

       Definition at line 265 of file modified_bessel_func.tcc.

       References __bessel_ik(), and __cyl_bessel_ij_series().

   template<typename _Tp > _Tp std::tr1::__detail::__cyl_bessel_ij_series
       (const _Tp __nu, const _Tp __x, const _Tp __sgn, const unsigned int
       __max_iter) [inline]
       This routine returns the cylindrical Bessel functions of order $ 0 $: $
       J_{0} $ or $ I_{0} $ by series expansion. The modified cylindrical
       Bessel function is: Z_{0}(x) = _{k=0}^{infty} ac{ma^k (x/2)^{0 +
       2k}}{k!Gamma(0+k+1)} ] where $ ma = +1 $ or$ -1 $ for $ Z = I $ or $ J
       $ respectively.

       See Abramowitz & Stegun, 9.1.10 Abramowitz & Stegun, 9.6.7 (1) Handbook
       of Mathematical Functions, ed. Milton Abramowitz and Irene A. Stegun,
       Dover Publications, Equation 9.1.10 p. 360 and Equation 9.6.10 p. 375

       Parameters:
	   __nu The order of the Bessel function.
	   __x The argument of the Bessel function.
	   __sgn The sign of the alternate terms -1 for the Bessel function of
	   the first kind. +1 for the modified Bessel function of the first
	   kind.

       Returns:
	   The output Bessel function.

       Definition at line 410 of file bessel_function.tcc.

       References __log_gamma(), std::abs(), std::exp(), and std::log().

       Referenced by __cyl_bessel_i(), and __cyl_bessel_j().

   template<typename _Tp > _Tp std::tr1::__detail::__cyl_bessel_j (const _Tp
       __nu, const _Tp __x) [inline]
       Return the Bessel function of order $ 0 $: $ J_{0}(x) $. The
       cylindrical Bessel function is: J_{0}(x) = _{k=0}^{infty} ac{(-1)^k
       (x/2)^{0 + 2k}}{k!Gamma(0+k+1)} ]

       Parameters:
	   __nu The order of the Bessel function.
	   __x The argument of the Bessel function.

       Returns:
	   The output Bessel function.

       Definition at line 454 of file bessel_function.tcc.

       References __bessel_jn(), __cyl_bessel_ij_series(), and
       __cyl_bessel_jn_asymp().

   template<typename _Tp > void std::tr1::__detail::__cyl_bessel_jn_asymp
       (const _Tp __nu, const _Tp __x, _Tp & __Jnu, _Tp & __Nnu) [inline]
       This routine computes the asymptotic cylindrical Bessel and Neumann
       functions of order nu: $ J_{0} $, $ N_{0} $. References: (1) Handbook
       of Mathematical Functions, ed. Milton Abramowitz and Irene A. Stegun,
       Dover Publications, Section 9 p. 364, Equations 9.2.5-9.2.10

       Parameters:
	   __nu The order of the Bessel functions.
	   __x The argument of the Bessel functions.
	   __Jnu The output Bessel function of the first kind.
	   __Nnu The output Neumann function (Bessel function of the second
	   kind).

       Definition at line 353 of file bessel_function.tcc.

       References std::cos(), std::sin(), and std::sqrt().

       Referenced by __cyl_bessel_j(), and __cyl_neumann_n().

   template<typename _Tp > _Tp std::tr1::__detail::__cyl_bessel_k (const _Tp
       __nu, const _Tp __x) [inline]
       Return the irregular modified Bessel function $ K_{0}(x) $ of order $ 0
       $. The irregular modified Bessel function is defined by: K_{0}(x) =
       ac{i}{2}
       ac{I_{-0}(x) - I_{0}(x)}{ 0i}
       ] where for integral $ 0 = n $ a limit is taken: $ lim_{0 o n} $.

       Parameters:
	   __nu The order of the irregular modified Bessel function.
	   __x The argument of the irregular modified Bessel function.

       Returns:
	   The output irregular modified Bessel function.

       Definition at line 301 of file modified_bessel_func.tcc.

       References __bessel_ik().

   template<typename _Tp > _Tp std::tr1::__detail::__cyl_neumann_n (const _Tp
       __nu, const _Tp __x) [inline]
       Return the Neumann function of order $ 0 $: $ N_{0}(x) $. The Neumann
       function is defined by: N_{0}(x) = ac{J_{0}(x)

       Parameters:
	   __nu The order of the Neumann function.
	   __x The argument of the Neumann function.

       Returns:
	   The output Neumann function.

       Definition at line 496 of file bessel_function.tcc.

       References __bessel_jn(), and __cyl_bessel_jn_asymp().

   template<typename _Tp > _Tp std::tr1::__detail::__ellint_1 (const _Tp __k,
       const _Tp __phi) [inline]
       Return the incomplete elliptic integral of the first kind $ F(k,hi)
       $ using the Carlson formulation. The incomplete elliptic integral of
       the first kind is defined as F(k,hi)
       = int_0^{hi}ac{dheta}
       {t{1 - k^2 sin^2heta}} ]

       Parameters:
	   __k The argument of the elliptic function.
	   __phi The integral limit argument of the elliptic function.

       Returns:
	   The elliptic function of the first kind.

       Definition at line 219 of file ell_integral.tcc.

       References __comp_ellint_1(), __ellint_rf(),
       std::tr1::__detail::__numeric_constants< _Tp >::__pi(), std::abs(),
       std::cos(), and std::sin().

   template<typename _Tp > _Tp std::tr1::__detail::__ellint_2 (const _Tp __k,
       const _Tp __phi) [inline]
       Return the incomplete elliptic integral of the second kind $ E(k,hi)
       $ using the Carlson formulation. The incomplete elliptic integral of
       the second kind is defined as E(k,hi)
       = int_0^{hi}
       t{1 - k^2 sin^2heta} ]

       Parameters:
	   __k The argument of the elliptic function.
	   __phi The integral limit argument of the elliptic function.

       Returns:
	   The elliptic function of the second kind.

       Definition at line 436 of file ell_integral.tcc.

       References __comp_ellint_2(), __ellint_rd(), __ellint_rf(),
       std::tr1::__detail::__numeric_constants< _Tp >::__pi(), std::abs(),
       std::cos(), and std::sin().

   template<typename _Tp > _Tp std::tr1::__detail::__ellint_3 (const _Tp __k,
       const _Tp __nu, const _Tp __phi) [inline]
       Return the incomplete elliptic integral of the third kind $ Pi(k,0,hi)
       $ using the Carlson formulation. The incomplete elliptic integral of
       the third kind is defined as Pi(k,0,hi)
       = int_0^{hi}
       ac{dheta} {(1 - 0 ^2heta) t{1 - k^2 ^2heta}} ]

       Parameters:
	   __k The argument of the elliptic function.
	   __nu The second argument of the elliptic function.
	   __phi The integral limit argument of the elliptic function.

       Returns:
	   The elliptic function of the third kind.

       Definition at line 710 of file ell_integral.tcc.

       References __comp_ellint_3(), __ellint_rf(), __ellint_rj(),
       std::tr1::__detail::__numeric_constants< _Tp >::__pi(), std::abs(),
       std::cos(), and std::sin().

   template<typename _Tp > _Tp std::tr1::__detail::__ellint_rc (const _Tp __x,
       const _Tp __y) [inline]
       Return the Carlson elliptic function $ R_C(x,y) = R_F(x,y,y) $ where $
       R_F(x,y,z) $ is the Carlson elliptic function of the first kind. The
       Carlson elliptic function is defined by: R_C(x,y) = ac{1}{2}
       int_0^infty ac{dt}{(t + x)^{1/2}(t + y)} ]

       Based on Carlson's algorithms:

       · B. C. Carlson Numer. Math. 33, 1 (1979)

       · B. C. Carlson, Special Functions of Applied Mathematics (1977)

       · Numerical Recipes in C, 2nd ed, pp. 261-269, by Press, Teukolsky,
	 Vetterling, Flannery (1992)

       Parameters:
	   __x The first argument.
	   __y The second argument.

       Returns:
	   The Carlson elliptic function.

       Definition at line 495 of file ell_integral.tcc.

       References std::abs(), std::max(), std::min(), std::pow(), and
       std::sqrt().

       Referenced by __ellint_rj().

   template<typename _Tp > _Tp std::tr1::__detail::__ellint_rd (const _Tp __x,
       const _Tp __y, const _Tp __z) [inline]
       Return the Carlson elliptic function of the second kind $ R_D(x,y,z) =
       R_J(x,y,z,z) $ where $ R_J(x,y,z,p) $ is the Carlson elliptic function
       of the third kind. The Carlson elliptic function of the second kind is
       defined by: R_D(x,y,z) = ac{3}{2} int_0^infty ac{dt}{(t + x)^{1/2}(t +
       y)^{1/2}(t + z)^{3/2}} ]

       Based on Carlson's algorithms:

       · B. C. Carlson Numer. Math. 33, 1 (1979)

       · B. C. Carlson, Special Functions of Applied Mathematics (1977)

       · Numerical Recipes in C, 2nd ed, pp. 261-269, by Press, Teukolsky,
	 Vetterling, Flannery (1992)

       Parameters:
	   __x The first of two symmetric arguments.
	   __y The second of two symmetric arguments.
	   __z The third argument.

       Returns:
	   The Carlson elliptic function of the second kind.

       Definition at line 314 of file ell_integral.tcc.

       References std::abs(), std::max(), std::min(), std::pow(), and
       std::sqrt().

       Referenced by __comp_ellint_2(), and __ellint_2().

   template<typename _Tp > _Tp std::tr1::__detail::__ellint_rf (const _Tp __x,
       const _Tp __y, const _Tp __z) [inline]
       Return the Carlson elliptic function $ R_F(x,y,z) $ of the first kind.
       The Carlson elliptic function of the first kind is defined by:
       R_F(x,y,z) = ac{1}{2} int_0^infty ac{dt}{(t + x)^{1/2}(t + y)^{1/2}(t +
       z)^{1/2}} ]

       Parameters:
	   __x The first of three symmetric arguments.
	   __y The second of three symmetric arguments.
	   __z The third of three symmetric arguments.

       Returns:
	   The Carlson elliptic function of the first kind.

       Definition at line 74 of file ell_integral.tcc.

       References std::abs(), std::max(), std::min(), std::pow(), and
       std::sqrt().

       Referenced by __comp_ellint_1(), __comp_ellint_2(), __comp_ellint_3(),
       __ellint_1(), __ellint_2(), and __ellint_3().

   template<typename _Tp > _Tp std::tr1::__detail::__ellint_rj (const _Tp __x,
       const _Tp __y, const _Tp __z, const _Tp __p) [inline]
       Return the Carlson elliptic function $ R_J(x,y,z,p) $ of the third
       kind. The Carlson elliptic function of the third kind is defined by:
       R_J(x,y,z,p) = ac{3}{2} int_0^infty ac{dt}{(t + x)^{1/2}(t + y)^{1/2}(t
       + z)^{1/2}(t + p)} ]

       Based on Carlson's algorithms:

       · B. C. Carlson Numer. Math. 33, 1 (1979)

       · B. C. Carlson, Special Functions of Applied Mathematics (1977)

       · Numerical Recipes in C, 2nd ed, pp. 261-269, by Press, Teukolsky,
	 Vetterling, Flannery (1992)

       Parameters:
	   __x The first of three symmetric arguments.
	   __y The second of three symmetric arguments.
	   __z The third of three symmetric arguments.
	   __p The fourth argument.

       Returns:
	   The Carlson elliptic function of the fourth kind.

       Definition at line 566 of file ell_integral.tcc.

       References __beta(), __ellint_rc(), std::abs(), std::max(), std::min(),
       std::pow(), and std::sqrt().

       Referenced by __comp_ellint_3(), and __ellint_3().

   template<typename _Tp > _Tp std::tr1::__detail::__expint (const _Tp __x)
       [inline]
       Return the exponential integral $ Ei(x) $. The exponential integral is
       given by Ei(x) = -int_{-x}^infty ac{e^t}{t} dt ]

       Parameters:
	   __x The argument of the exponential integral function.

       Returns:
	   The exponential integral.

       Definition at line 512 of file exp_integral.tcc.

       References __expint_Ei().

   template<typename _Tp > _Tp std::tr1::__detail::__expint (const unsigned
       int __n, const _Tp __x) [inline]
       Return the exponential integral $ E_n(x) $. The exponential integral is
       given by E_n(x) = int_{1}^infty ac{e^{-xt}}{t^n} dt ] This is something
       of an extension.

       Parameters:
	   __n The order of the exponential integral function.
	   __x The argument of the exponential integral function.

       Returns:
	   The exponential integral.

       Definition at line 472 of file exp_integral.tcc.

       References __expint_E1(), __expint_En_recursion(), and std::exp().

   template<typename _Tp > _Tp std::tr1::__detail::__expint_asymp (const
       unsigned int __n, const _Tp __x) [inline]
       Return the exponential integral $ E_n(x) $ for large argument. The
       exponential integral is given by E_n(x) = int_{1}^infty
       ac{e^{-xt}}{t^n} dt ]

       This is something of an extension.

       Parameters:
	   __n The order of the exponential integral function.
	   __x The argument of the exponential integral function.

       Returns:
	   The exponential integral.

       Definition at line 404 of file exp_integral.tcc.

       References std::abs(), and std::exp().

   template<typename _Tp > _Tp std::tr1::__detail::__expint_E1 (const _Tp __x)
       [inline]
       Return the exponential integral $ E_1(x) $. The exponential integral is
       given by E_1(x) = int_{1}^infty ac{e^{-xt}}{t} dt ]

       Parameters:
	   __x The argument of the exponential integral function.

       Returns:
	   The exponential integral.

       Definition at line 374 of file exp_integral.tcc.

       References __expint_E1_asymp(), __expint_E1_series(), __expint_Ei(),
       and __expint_En_cont_frac().

       Referenced by __expint(), __expint_Ei(), and __expint_En_recursion().

   template<typename _Tp > _Tp std::tr1::__detail::__expint_E1_asymp (const
       _Tp __x) [inline]
       Return the exponential integral $ E_1(x) $ by asymptotic expansion. The
       exponential integral is given by E_1(x) = int_{1}^infty ac{e^{-xt}}{t}
       dt ]

       Parameters:
	   __x The argument of the exponential integral function.

       Returns:
	   The exponential integral.

       Definition at line 114 of file exp_integral.tcc.

       References std::abs(), and std::exp().

       Referenced by __expint_E1().

   template<typename _Tp > _Tp std::tr1::__detail::__expint_E1_series (const
       _Tp __x) [inline]
       Return the exponential integral $ E_1(x) $ by series summation. This
       should be good for $ x < 1 $. The exponential integral is given by
       E_1(x) = int_{1}^{infty} ac{e^{-xt}}{t} dt ]

       Parameters:
	   __x The argument of the exponential integral function.

       Returns:
	   The exponential integral.

       Definition at line 77 of file exp_integral.tcc.

       References std::tr1::__detail::__numeric_constants< _Tp >::__gamma_e(),
       std::abs(), and std::log().

       Referenced by __expint_E1().

   template<typename _Tp > _Tp std::tr1::__detail::__expint_Ei (const _Tp __x)
       [inline]
       Return the exponential integral $ Ei(x) $. The exponential integral is
       given by Ei(x) = -int_{-x}^infty ac{e^t}{t} dt ]

       Parameters:
	   __x The argument of the exponential integral function.

       Returns:
	   The exponential integral.

       Definition at line 350 of file exp_integral.tcc.

       References __expint_E1(), __expint_Ei_asymp(), __expint_Ei_series(),
       and std::log().

       Referenced by __expint(), and __expint_E1().

   template<typename _Tp > _Tp std::tr1::__detail::__expint_Ei_asymp (const
       _Tp __x) [inline]
       Return the exponential integral $ Ei(x) $ by asymptotic expansion. The
       exponential integral is given by Ei(x) = -int_{-x}^infty ac{e^t}{t} dt
       ]

       Parameters:
	   __x The argument of the exponential integral function.

       Returns:
	   The exponential integral.

       Definition at line 317 of file exp_integral.tcc.

       References std::exp().

       Referenced by __expint_Ei().

   template<typename _Tp > _Tp std::tr1::__detail::__expint_Ei_series (const
       _Tp __x) [inline]
       Return the exponential integral $ Ei(x) $ by series summation. The
       exponential integral is given by Ei(x) = -int_{-x}^infty ac{e^t}{t} dt
       ]

       Parameters:
	   __x The argument of the exponential integral function.

       Returns:
	   The exponential integral.

       Definition at line 286 of file exp_integral.tcc.

       References std::tr1::__detail::__numeric_constants< _Tp >::__gamma_e(),
       and std::log().

       Referenced by __expint_Ei().

   template<typename _Tp > _Tp std::tr1::__detail::__expint_En_cont_frac
       (const unsigned int __n, const _Tp __x) [inline]
       Return the exponential integral $ E_n(x) $ by continued fractions. The
       exponential integral is given by E_n(x) = int_{1}^infty
       ac{e^{-xt}}{t^n} dt ]

       Parameters:
	   __n The order of the exponential integral function.
	   __x The argument of the exponential integral function.

       Returns:
	   The exponential integral.

       Definition at line 197 of file exp_integral.tcc.

       References std::abs(), std::exp(), and std::min().

       Referenced by __expint_E1().

   template<typename _Tp > _Tp std::tr1::__detail::__expint_En_recursion
       (const unsigned int __n, const _Tp __x) [inline]
       Return the exponential integral $ E_n(x) $ by recursion. Use upward
       recursion for $ x < n $ and downward recursion (Miller's algorithm)
       otherwise. The exponential integral is given by E_n(x) = int_{1}^infty
       ac{e^{-xt}}{t^n} dt ]

       Parameters:
	   __n The order of the exponential integral function.
	   __x The argument of the exponential integral function.

       Returns:
	   The exponential integral.

       Definition at line 242 of file exp_integral.tcc.

       References __expint_E1(), and std::exp().

       Referenced by __expint().

   template<typename _Tp > _Tp std::tr1::__detail::__expint_En_series (const
       unsigned int __n, const _Tp __x) [inline]
       Return the exponential integral $ E_n(x) $ by series summation. The
       exponential integral is given by E_n(x) = int_{1}^infty
       ac{e^{-xt}}{t^n} dt ]

       Parameters:
	   __n The order of the exponential integral function.
	   __x The argument of the exponential integral function.

       Returns:
	   The exponential integral.

       Definition at line 151 of file exp_integral.tcc.

       References std::tr1::__detail::__numeric_constants< _Tp >::__gamma_e(),
       __psi(), std::abs(), and std::log().

   template<typename _Tp > _Tp std::tr1::__detail::__expint_large_n (const
       unsigned int __n, const _Tp __x) [inline]
       Return the exponential integral $ E_n(x) $ for large order. The
       exponential integral is given by E_n(x) = int_{1}^infty
       ac{e^{-xt}}{t^n} dt ]

       This is something of an extension.

       Parameters:
	   __n The order of the exponential integral function.
	   __x The argument of the exponential integral function.

       Returns:
	   The exponential integral.

       Definition at line 438 of file exp_integral.tcc.

       References std::abs(), and std::exp().

   template<typename _Tp > _Tp std::tr1::__detail::__gamma (const _Tp __x)
       [inline]
       Return $ Gamma(x) $. Parameters:
	   __x The argument of the gamma function.

       Returns:
	   The gamma function.

       Definition at line 333 of file gamma.tcc.

       References __log_gamma(), and std::exp().

       Referenced by __beta_gamma(), and __gamma_temme().

   template<typename _Tp > void std::tr1::__detail::__gamma_temme (const _Tp
       __mu, _Tp & __gam1, _Tp & __gam2, _Tp & __gampl, _Tp & __gammi)
       [inline]
       Compute the gamma functions required by the Temme series expansions of
       $ N_0(x) $ and $ K_0(x) $. Gamma_1 = ac{1}{2} [ac{1}{Gamma(1 - )} -
       ac{1}{Gamma(1 + )}] ] and Gamma_2 = ac{1}{2} [ac{1}{Gamma(1 - )} +
       ac{1}{Gamma(1 + )}] ] where $ -1/2 <=  <= 1/2 $ is $  = 0 - N $ and $ N
       $. is the nearest integer to $ 0 $. The values of $ Gamma(1 + ) $ and $
       Gamma(1 - ) $ are returned as well. The accuracy requirements on this
       are exquisite.

       Parameters:
	   __mu The input parameter of the gamma functions.
	   __gam1 The output function $ Gamma_1() $
	   __gam2 The output function $ Gamma_2() $
	   __gampl The output function $ Gamma(1 + ) $
	   __gammi The output function $ Gamma(1 - ) $

       Definition at line 90 of file bessel_function.tcc.

       References __gamma(), and std::abs().

       Referenced by __bessel_ik(), and __bessel_jn().

   template<typename _Tp > _Tp std::tr1::__detail::__hurwitz_zeta (const _Tp
       __a, const _Tp __s) [inline]
       Return the Hurwitz zeta function $ ta(x,s) $ for all s != 1 and x > -1.
       The Hurwitz zeta function is defined by: ta(x,s) = _{n=0}^{infty}
       ac{1}{(n + x)^s} ] The Riemann zeta function is a special case: ta(s) =
       ta(1,s) ]

       Definition at line 426 of file riemann_zeta.tcc.

       References __hurwitz_zeta_glob().

       Referenced by __psi().

   template<typename _Tp > _Tp std::tr1::__detail::__hurwitz_zeta_glob (const
       _Tp __a, const _Tp __s) [inline]
       Return the Hurwitz zeta function $ ta(x,s) $ for all s != 1 and x > -1.
       The Hurwitz zeta function is defined by: ta(x,s) = _{n=0}^{infty}
       ac{1}{(n + x)^s} ] The Riemann zeta function is a special case: ta(s) =
       ta(1,s) ]

       This functions uses the double sum that converges for s != 1 and x >
       -1: ta(x,s) = ac{1}{s-1} _{n=0}^{infty} ac{1}{n + 1} _{k=0}^{n} (-1)^k
       ac{n!}{(n-k)!k!} (x+k)^{-s} ]

       Definition at line 361 of file riemann_zeta.tcc.

       References __log_gamma(), std::abs(), std::exp(), std::log(), and
       std::pow().

       Referenced by __hurwitz_zeta().

   template<typename _Tp > _Tp std::tr1::__detail::__hyperg (const _Tp __a,
       const _Tp __b, const _Tp __c, const _Tp __x) [inline]
       Return the hypogeometric function $ _2F_1(a,b;c;x) $. The hypogeometric
       function is defined by _2F_1(a,b;c;x) = ac{Gamma(c)}{Gamma(a)Gamma(b)}
       _{n=0}^{infty} ac{Gamma(a+n)Gamma(b+n)}{Gamma(c+n)} ac{x^n}{n!} ]

       Parameters:
	   __a The first 'numerator' parameter.
	   __a The second 'numerator' parameter.
	   __c The 'denominator' parameter.
	   __x The argument of the confluent hypergeometric function.

       Returns:
	   The confluent hypergeometric function.

       Definition at line 724 of file hypergeometric.tcc.

       References __hyperg_luke(), __hyperg_reflect(), __hyperg_series(),
       std::abs(), and std::pow().

   template<typename _Tp > _Tp std::tr1::__detail::__hyperg_luke (const _Tp
       __a, const _Tp __b, const _Tp __c, const _Tp __xin) [inline]
       Return the hypogeometric function $ _2F_1(a,b;c;x) $ by an iterative
       procedure described in Luke, Algorithms for the Computation of
       Mathematical Functions.

       Definition at line 300 of file hypergeometric.tcc.

       References std::abs(), and std::pow().

       Referenced by __hyperg().

   template<typename _Tp > _Tp std::tr1::__detail::__hyperg_reflect (const _Tp
       __a, const _Tp __b, const _Tp __c, const _Tp __x) [inline]
       Return the hypogeometric function $ _2F_1(a,b;c;x) $ by the reflection
       formulae in Abramowitz & Stegun formula 15.3.6 for d = c - a - b not
       integral and formula 15.3.11 for d = c - a - b integral. This assumes
       a, b, c != negative integer. The hypogeometric function is defined by
       _2F_1(a,b;c;x) = ac{Gamma(c)}{Gamma(a)Gamma(b)} _{n=0}^{infty}
       ac{Gamma(a+n)Gamma(b+n)}{Gamma(c+n)} ac{x^n}{n!} ]

       The reflection formula for nonintegral $ d = c - a - b $ is:
       _2F_1(a,b;c;x) = ac{Gamma(c)Gamma(d)}{Gamma(c-a)Gamma(c-b)}
       _2F_1(a,b;1-d;1-x) + ac{Gamma(c)Gamma(-d)}{Gamma(a)Gamma(b)} _2F_1(c-
       a,c-b;1+d;1-x) ]

       The reflection formula for integral $ m = c - a - b $ is:
       _2F_1(a,b;a+b+m;x) = ac{Gamma(m)Gamma(a+b+m)}{Gamma(a+m)Gamma(b+m)}
       _{k=0}^{m-1} ac{(m+a)_k(m+b)_k}{k!(1-m)_k} - ]

       Definition at line 434 of file hypergeometric.tcc.

       References std::tr1::__detail::__numeric_constants< _Tp >::__gamma_e(),
       __hyperg_series(), __log_gamma(), __log_gamma_sign(), __psi(),
       std::abs(), std::exp(), and std::log().

       Referenced by __hyperg().

   template<typename _Tp > _Tp std::tr1::__detail::__hyperg_series (const _Tp
       __a, const _Tp __b, const _Tp __c, const _Tp __x) [inline]
       Return the hypogeometric function $ _2F_1(a,b;c;x) $ by series
       expansion. The hypogeometric function is defined by _2F_1(a,b;c;x) =
       ac{Gamma(c)}{Gamma(a)Gamma(b)} _{n=0}^{infty}
       ac{Gamma(a+n)Gamma(b+n)}{Gamma(c+n)} ac{x^n}{n!} ]

       This works and it's pretty fast.

       Parameters:
	   __a The first 'numerator' parameter.
	   __a The second 'numerator' parameter.
	   __c The 'denominator' parameter.
	   __x The argument of the confluent hypergeometric function.

       Returns:
	   The confluent hypergeometric function.

       Definition at line 266 of file hypergeometric.tcc.

       References std::abs().

       Referenced by __hyperg(), and __hyperg_reflect().

   template<typename _Tp > _Tp std::tr1::__detail::__laguerre (const unsigned
       int __n, const _Tp __x) [inline]
       This routine returns the Laguerre polynomial of order n: $ L_n(x) $.
       The Laguerre polynomial is defined by: L_n(x) = ac{e^x}{n!}
       ac{d^n}{dx^n} (x^ne^{-x}) ]

       Parameters:
	   __n The order of the Laguerre polynomial.
	   __x The argument of the Laguerre polynomial.

       Returns:
	   The value of the Laguerre polynomial of order n and argument x.

       Definition at line 320 of file poly_laguerre.tcc.

   template<typename _Tp > _Tp std::tr1::__detail::__log_bincoef (const
       unsigned int __n, const unsigned int __k) [inline]
       Return the logarithm of the ight)i=lac{n!}{(n-k)! k!} ].nParameters:
       coefficient is given by: t(
	   __n The first argument of the binomial coefficient.
	   __k The second argument of the binomial coefficient.

       Returns:
	   The binomial coefficient.

       Definition at line 279 of file gamma.tcc.

       References __log_gamma(), and std::log().

   template<typename _Tp > _Tp std::tr1::__detail::__log_gamma (const _Tp __x)
       [inline]
       Return $ log(|Gamma(x)|) $. This will return values even for $ x < 0 $.
       To recover the sign of $ Gamma(x) $ for any argument use
       __log_gamma_sign. Parameters:
	   __x The argument of the log of the gamma function.

       Returns:
	   The logarithm of the gamma function.

       Definition at line 221 of file gamma.tcc.

       References std::tr1::__detail::__numeric_constants< _Tp >::__lnpi(),
       __log_gamma_lanczos(), std::abs(), std::log(), and std::sin().

       Referenced by __beta_lgamma(), __cyl_bessel_ij_series(), __gamma(),
       __hurwitz_zeta_glob(), __hyperg_reflect(), __log_bincoef(),
       __poly_laguerre_large_n(), __psi(), __riemann_zeta(),
       __riemann_zeta_glob(), and __sph_legendre().

   template<typename _Tp > _Tp std::tr1::__detail::__log_gamma_bernoulli
       (const _Tp __x) [inline]
       Return $log(Gamma(x))$ by asymptotic expansion with Bernoulli number
       coefficients. This is like Sterling's approximation. Parameters:
	   __x The argument of the log of the gamma function.

       Returns:
	   The logarithm of the gamma function.

       Definition at line 149 of file gamma.tcc.

       References std::__lg(), and std::log().

   template<typename _Tp > _Tp std::tr1::__detail::__log_gamma_lanczos (const
       _Tp __x) [inline]
       Return $log(Gamma(x))$ by the Lanczos method. This method dominates all
       others on the positive axis I think. Parameters:
	   __x The argument of the log of the gamma function.

       Returns:
	   The logarithm of the gamma function.

       Definition at line 177 of file gamma.tcc.

       References std::tr1::__detail::__numeric_constants< _Tp >::__euler(),
       and std::log().

       Referenced by __log_gamma().

   template<typename _Tp > _Tp std::tr1::__detail::__log_gamma_sign (const _Tp
       __x) [inline]
       Return the sign of $ Gamma(x) $. At nonpositive integers zero is
       returned. Parameters:
	   __x The argument of the gamma function.

       Returns:
	   The sign of the gamma function.

       Definition at line 248 of file gamma.tcc.

       References std::sin().

       Referenced by __hyperg_reflect().

   template<typename _Tp > _Tp std::tr1::__detail::__poly_hermite (const
       unsigned int __n, const _Tp __x) [inline]
       This routine returns the Hermite polynomial of order n: $ H_n(x) $. The
       Hermite polynomial is defined by: H_n(x) = (-1)^n e^{x^2} ac{d^n}{dx^n}
       e^{-x^2} ]

       Parameters:
	   __n The order of the Hermite polynomial.
	   __x The argument of the Hermite polynomial.

       Returns:
	   The value of the Hermite polynomial of order n and argument x.

       Definition at line 112 of file poly_hermite.tcc.

       References __poly_hermite_recursion().

   template<typename _Tp > _Tp std::tr1::__detail::__poly_hermite_recursion
       (const unsigned int __n, const _Tp __x) [inline]
       This routine returns the Hermite polynomial of order n: $ H_n(x) $ by
       recursion on n. The Hermite polynomial is defined by: H_n(x) = (-1)^n
       e^{x^2} ac{d^n}{dx^n} e^{-x^2} ]

       Parameters:
	   __n The order of the Hermite polynomial.
	   __x The argument of the Hermite polynomial.

       Returns:
	   The value of the Hermite polynomial of order n and argument x.

       Definition at line 70 of file poly_hermite.tcc.

       Referenced by __poly_hermite().

   template<typename _Tpa , typename _Tp > _Tp
       std::tr1::__detail::__poly_laguerre (const unsigned int __n, const _Tpa
       __alpha1, const _Tp __x) [inline]
       This routine returns the associated Laguerre polynomial of order n,
       degree $ lpha $: $ L_n^alpha(x) $. The associated Laguerre function is
       defined by L_n^lpha(x) = ac{(lpha + 1)_n}{n!} _1F_1(-n; lpha + 1; x) ]
       where $ (lpha)_n $ is the Pochhammer symbol and $ _1F_1(a; c; x) $ is
       the confluent hypergeometric function.

       The associated Laguerre polynomial is defined for integral $ lpha = m $
       by: L_n^m(x) = (-1)^m ac{d^m}{dx^m} L_{n + m}(x) ] where the Laguerre
       polynomial is defined by: L_n(x) = ac{e^x}{n!} ac{d^n}{dx^n}
       (x^ne^{-x}) ]

       Parameters:
	   __n The order of the Laguerre function.
	   __alpha The degree of the Laguerre function.
	   __x The argument of the Laguerre function.

       Returns:
	   The value of the Laguerre function of order n, degree $ lpha $, and
	   argument x.

       Definition at line 244 of file poly_laguerre.tcc.

       References __poly_laguerre_hyperg(), __poly_laguerre_large_n(), and
       __poly_laguerre_recursion().

   template<typename _Tpa , typename _Tp > _Tp
       std::tr1::__detail::__poly_laguerre_hyperg (const unsigned int __n,
       const _Tpa __alpha1, const _Tp __x) [inline]
       Evaluate the polynomial based on the confluent hypergeometric function
       in a safe way, with no restriction on the arguments. The associated
       Laguerre function is defined by L_n^lpha(x) = ac{(lpha + 1)_n}{n!}
       _1F_1(-n; lpha + 1; x) ] where $ (lpha)_n $ is the Pochhammer symbol
       and $ _1F_1(a; c; x) $ is the confluent hypergeometric function.

       This function assumes x != 0.

       This is from the GNU Scientific Library.

       Definition at line 127 of file poly_laguerre.tcc.

       References std::abs().

       Referenced by __poly_laguerre().

   template<typename _Tpa , typename _Tp > _Tp
       std::tr1::__detail::__poly_laguerre_large_n (const unsigned __n, const
       _Tpa __alpha1, const _Tp __x) [inline]
       This routine returns the associated Laguerre polynomial of order $ n $,
       degree $ lpha $ for large n. Abramowitz & Stegun, 13.5.21. Parameters:
	   __n The order of the Laguerre function.
	   __alpha The degree of the Laguerre function.
	   __x The argument of the Laguerre function.

       Returns:
	   The value of the Laguerre function of order n, degree $ lpha $, and
	   argument x.

       This is from the GNU Scientific Library.

       Definition at line 72 of file poly_laguerre.tcc.

       References __log_gamma(), std::tr1::__detail::__numeric_constants< _Tp
       >::__pi_2(), std::exp(), std::log(), std::sin(), and std::sqrt().

       Referenced by __poly_laguerre().

   template<typename _Tpa , typename _Tp > _Tp
       std::tr1::__detail::__poly_laguerre_recursion (const unsigned int __n,
       const _Tpa __alpha1, const _Tp __x) [inline]
       This routine returns the associated Laguerre polynomial of order $ n $,
       degree $ lpha $: $ L_n^lpha(x) $ by recursion. The associated Laguerre
       function is defined by L_n^lpha(x) = ac{(lpha + 1)_n}{n!} _1F_1(-n;
       lpha + 1; x) ] where $ (lpha)_n $ is the Pochhammer symbol and $
       _1F_1(a; c; x) $ is the confluent hypergeometric function.

       The associated Laguerre polynomial is defined for integral $ lpha = m $
       by: L_n^m(x) = (-1)^m ac{d^m}{dx^m} L_{n + m}(x) ] where the Laguerre
       polynomial is defined by: L_n(x) = ac{e^x}{n!} ac{d^n}{dx^n}
       (x^ne^{-x}) ]

       Parameters:
	   __n The order of the Laguerre function.
	   __alpha The degree of the Laguerre function.
	   __x The argument of the Laguerre function.

       Returns:
	   The value of the Laguerre function of order n, degree $ lpha $, and
	   argument x.

       Definition at line 184 of file poly_laguerre.tcc.

       Referenced by __poly_laguerre().

   template<typename _Tp > _Tp std::tr1::__detail::__poly_legendre_p (const
       unsigned int __l, const _Tp __x) [inline]
       Return the Legendre polynomial by recursion on order $ l $. The
       Legendre function of $ l $ and $ x $, $ P_l(x) $, is defined by: P_l(x)
       = ac{1}{2^l l!}ac{d^l}{dx^l}(x^2 - 1)^{l} ]

       Parameters:
	   l The order of the Legendre polynomial. $l >= 0$.
	   x The argument of the Legendre polynomial. $|x| <= 1$.

       Definition at line 76 of file legendre_function.tcc.

       Referenced by __assoc_legendre_p(), and __sph_legendre().

   template<typename _Tp > _Tp std::tr1::__detail::__psi (const unsigned int
       __n, const _Tp __x) [inline]
       Return the polygamma function $ si^{(n)}(x)
       $. The polygamma function is related to the Hurwitz zeta function:
       si^{(n)}(x)
       = (-1)^{n+1} m! ta(m+1,x) ]

       Definition at line 444 of file gamma.tcc.

       References __hurwitz_zeta(), __log_gamma(), __psi(), and std::exp().

   template<typename _Tp > _Tp std::tr1::__detail::__psi (const _Tp __x)
       [inline]
       Return the digamma function. The digamma or $ si(x)
       $ function is defined by si(x)
       = ac{Gamma'(x)}{Gamma(x)} ] For negative argument the reflection
       formula is used: si(x)
       = si(1-x)
       - i

       Definition
       at line 415 of file gamma.tcc.

       References std::tr1::__detail::__numeric_constants< _Tp >::__pi(),
       __psi_asymp(), __psi_series(), std::abs(), std::cos(), and std::sin().

       Referenced by __expint_En_series(), __hyperg_reflect(), and __psi().

   template<typename _Tp > _Tp std::tr1::__detail::__psi_asymp (const _Tp __x)
       [inline]
       Return the digamma function for large argument. The digamma or $ si(x)
       $ function is defined by si(x)
       = ac{Gamma'(x)}{Gamma(x)} ]. The asymptotic series is given by: si(x)
       = ) - ac{1}{2x} - _{n=1}^{infty} ac{B_{2n}}{2 n x^{2n}} ]

       Definition at line 384 of file gamma.tcc.

       References std::abs(), and std::log().

       Referenced by __psi().

   template<typename _Tp > _Tp std::tr1::__detail::__psi_series (const _Tp
       __x) [inline]
       Return the digamma function by series expansion. The digamma or $ si(x)
       $ function is defined by si(x)
       = ac{Gamma'(x)}{Gamma(x)} ]. The series is given by: si(x)
       = -mma_E - ac{1}{x} _{k=1}^{infty} ac{x}{k(x + k)} ]

       Definition at line 354 of file gamma.tcc.

       References std::tr1::__detail::__numeric_constants< _Tp >::__gamma_e(),
       and std::abs().

       Referenced by __psi().

   template<typename _Tp > _Tp std::tr1::__detail::__riemann_zeta (const _Tp
       __s) [inline]
       Return the Riemann zeta function $ ta(s) $. The Riemann zeta function
       is defined by: ta(s) = _{k=1}^{infty} k^{-s} for s > 1 ac{(2i)^s}{pi}
       sin(ac{i
       s}{2}) Gamma (1 - s) ta (1 - s) for s < 1 ] For s < 1 use the
       reflection formula: ta(s) = 2^s i^{s-1}
       Gamma(1-s) ta(1-s) ]

       Definition at line 289 of file riemann_zeta.tcc.

       References __log_gamma(), std::tr1::__detail::__numeric_constants< _Tp
       >::__pi(), __riemann_zeta_glob(), __riemann_zeta_product(),
       __riemann_zeta_sum(), std::exp(), std::pow(), and std::sin().

   template<typename _Tp > _Tp std::tr1::__detail::__riemann_zeta_alt (const
       _Tp __s) [inline]
       Evaluate the Riemann zeta function $ ta(s) $ by an alternate series for
       s > 0. The Riemann zeta function is defined by: ta(s) = _{k=1}^{infty}
       ac{1}{k^{s}} for s > 1 ] For s < 1 use the reflection formula: ta(s) =
       2^s i^{s-1}
       Gamma(1-s) ta(1-s) ]

       Definition at line 111 of file riemann_zeta.tcc.

       References std::abs(), and std::pow().

   template<typename _Tp > _Tp std::tr1::__detail::__riemann_zeta_glob (const
       _Tp __s) [inline]
       Evaluate the Riemann zeta function by series for all s != 1.
       Convergence is great until largish negative numbers. Then the
       convergence of the > 0 sum gets better. The series is: ta(s) =
       ac{1}{1-2^{1-s}} _{n=0}^{infty} ac{1}{2^{n+1}} _{k=0}^{n} (-1)^k
       ac{n!}{(n-k)!k!} (k+1)^{-s} ] Havil 2003, p. 206.

       The Riemann zeta function is defined by: ta(s) = _{k=1}^{infty}
       ac{1}{k^{s}} for s > 1 ] For s < 1 use the reflection formula: ta(s) =
       2^s i^{s-1}
       Gamma(1-s) ta(1-s) ]

       Definition at line 153 of file riemann_zeta.tcc.

       References __log_gamma(), std::tr1::__detail::__numeric_constants< _Tp
       >::__pi(), std::abs(), std::exp(), std::log(), std::pow(), and
       std::sin().

       Referenced by __riemann_zeta().

   template<typename _Tp > _Tp std::tr1::__detail::__riemann_zeta_product
       (const _Tp __s) [inline]
       Compute the Riemann zeta function $ ta(s) $ using the product over
       prime factors. ta(s) = Pi_{i=1}^infty ac{1}{1 - p_i^{-s}} ] where $
       {p_i} $ are the prime numbers. The Riemann zeta function is defined by:
       ta(s) = _{k=1}^{infty} ac{1}{k^{s}} for s > 1 ] For s < 1 use the
       reflection formula: ta(s) = 2^s i^{s-1}
       Gamma(1-s) ta(1-s) ]

       Definition at line 248 of file riemann_zeta.tcc.

       References std::pow().

       Referenced by __riemann_zeta().

   template<typename _Tp > _Tp std::tr1::__detail::__riemann_zeta_sum (const
       _Tp __s) [inline]
       Compute the Riemann zeta function $ ta(s) $ by summation for s > 1. The
       Riemann zeta function is defined by: ta(s) = _{k=1}^{infty}
       ac{1}{k^{s}} for s > 1 ] For s < 1 use the reflection formula: ta(s) =
       2^s i^{s-1}
       Gamma(1-s) ta(1-s) ]

       Definition at line 74 of file riemann_zeta.tcc.

       References std::pow().

       Referenced by __riemann_zeta().

   template<typename _Tp > _Tp std::tr1::__detail::__sph_bessel (const
       unsigned int __n, const _Tp __x) [inline]
       Return the spherical Bessel function $ j_n(x) $ of order n. The
       ight)i^{1/2}sJ_{n+1/2}(x) ]s defined by: j_n(x) = t( ac{i}{2x}

       Parameters:
	   __n The order of the spherical Bessel function.
	   __x The argument of the spherical Bessel function.

       Returns:
	   The output spherical Bessel function.

       Definition at line 568 of file bessel_function.tcc.

       References __sph_bessel_jn().

   template<typename _Tp > void std::tr1::__detail::__sph_bessel_ik (const
       unsigned int __n, const _Tp __x, _Tp & __i_n, _Tp & __k_n, _Tp &
       __ip_n, _Tp & __kp_n) [inline]
       Compute the spherical modified Bessel functions $ i_n(x) $ and $ k_n(x)
       $ and their first derivatives $ i'_n(x) $ and $ k'_n(x) $ respectively.
       Parameters:
	   __n The order of the modified spherical Bessel function.
	   __x The argument of the modified spherical Bessel function.
	   __i_n The output regular modified spherical Bessel function.
	   __k_n The output irregular modified spherical Bessel function.
	   __ip_n The output derivative of the regular modified spherical
	   Bessel function.
	   __kp_n The output derivative of the irregular modified spherical
	   Bessel function.

       Definition at line 335 of file modified_bessel_func.tcc.

       References __bessel_ik(), std::tr1::__detail::__numeric_constants< _Tp
       >::__sqrtpio2(), and std::sqrt().

   template<typename _Tp > void std::tr1::__detail::__sph_bessel_jn (const
       unsigned int __n, const _Tp __x, _Tp & __j_n, _Tp & __n_n, _Tp &
       __jp_n, _Tp & __np_n) [inline]
       Compute the spherical Bessel $ j_n(x) $ and Neumann $ n_n(x) $
       functions and their first derivatives $ j'_n(x) $ and $ n'_n(x) $
       respectively. Parameters:
	   __n The order of the spherical Bessel function.
	   __x The argument of the spherical Bessel function.
	   __j_n The output spherical Bessel function.
	   __n_n The output spherical Neumann function.
	   __jp_n The output derivative of the spherical Bessel function.
	   __np_n The output derivative of the spherical Neumann function.

       Definition at line 533 of file bessel_function.tcc.

       References __bessel_jn(), std::tr1::__detail::__numeric_constants< _Tp
       >::__sqrtpio2(), and std::sqrt().

       Referenced by __sph_bessel(), and __sph_neumann().

   template<typename _Tp > _Tp std::tr1::__detail::__sph_legendre (const
       unsigned int __l, const unsigned int __m, const _Tp __theta) [inline]
       Return the spherical associated Legendre function. The spherical
       associated Legendre function of $ l $, $ m $, and $ heta $ is defined
       as $ Y_l^m(heta,0) $ where Y_l^m(heta,hi)
       = (-1)^m[ac{(2l+1)}{4i}
       ac{(l-m)!}{(l+m)!}] P_l^m(

       This
       function differs from the associated Legendre function by argument ($x
       =

       Parameters:
	   l The order of the spherical associated Legendre function. $ l >= 0
	   $.
	   m The order of the spherical associated Legendre function. $ m <= l
	   $.
	   theta The radian angle argument of the spherical associated
	   Legendre function.

       Definition at line 213 of file legendre_function.tcc.

       References std::tr1::__detail::__numeric_constants< _Tp >::__lnpi(),
       __log_gamma(), __poly_legendre_p(), std::cos(), std::exp(), std::log(),
       and std::sqrt().

   template<typename _Tp > _Tp std::tr1::__detail::__sph_neumann (const
       unsigned int __n, const _Tp __x) [inline]
       Return the spherical Neumann function $ n_n(x) $. The spherical Neumann
       ight)i^{1/2}dN_{n+1/2}(x)_](x) = t( ac{i}{2x}

       Parameters:
	   __n The order of the spherical Neumann function.
	   __x The argument of the spherical Neumann function.

       Returns:
	   The output spherical Neumann function.

       Definition at line 606 of file bessel_function.tcc.

       References __sph_bessel_jn().

Author
       Generated automatically by Doxygen for libstdc++ from the source code.

libstdc++			  22 Nov 2013		 std::tr1::__detail(3)
[top]

List of man pages available for Scientific

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net