// Copyright John Maddock 2011. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) namespace boost{ namespace math{ typedef policies::policy > overflow_policy; #ifdef TEST_GROUP_1 // Beta functions. template tools::promote_args::type beta(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b); // Beta function (2 arguments). template tools::promote_args::type beta(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, policies::policy<>); // Beta function (3 arguments). template tools::promote_args::type beta(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE); // Beta function (3 arguments). template tools::promote_args::type beta(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE x, const policies::policy<>& pol); // Beta function (3 arguments). template tools::promote_args::type betac(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE x); template tools::promote_args::type betac(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE x, const policies::policy<>& pol); template tools::promote_args::type ibeta(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE x); // Incomplete beta function. template tools::promote_args::type ibeta(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE x, const policies::policy<>& pol); // Incomplete beta function. template tools::promote_args::type ibetac(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE x); // Incomplete beta complement function. template tools::promote_args::type ibetac(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE x, const policies::policy<>& pol); // Incomplete beta complement function. template tools::promote_args::type ibeta_inv(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE p, BOOST_MATH_TEST_TYPE* py); template tools::promote_args::type ibeta_inv(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE p, BOOST_MATH_TEST_TYPE* py, const policies::policy<>& pol); template tools::promote_args::type ibeta_inv(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE p); // Incomplete beta inverse function. template tools::promote_args::type ibeta_inv(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE p, const policies::policy<>&); // Incomplete beta inverse function. template tools::promote_args::type ibeta_inva(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE p); // Incomplete beta inverse function. template tools::promote_args::type ibeta_inva(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE p, const policies::policy<>&); // Incomplete beta inverse function. template tools::promote_args::type ibeta_invb(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE p); // Incomplete beta inverse function. template tools::promote_args::type ibeta_invb(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE p, const policies::policy<>&); // Incomplete beta inverse function. template tools::promote_args::type ibetac_inv(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE q, BOOST_MATH_TEST_TYPE* py); template tools::promote_args::type ibetac_inv(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE q, BOOST_MATH_TEST_TYPE* py, const policies::policy<>& pol); template tools::promote_args::type ibetac_inv(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE q); // Incomplete beta complement inverse function. template tools::promote_args::type ibetac_inv(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE q, const policies::policy<>&); // Incomplete beta complement inverse function. template tools::promote_args::type ibetac_inva(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE q); // Incomplete beta complement inverse function. template tools::promote_args::type ibetac_inva(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE q, const policies::policy<>&); // Incomplete beta complement inverse function. template tools::promote_args::type ibetac_invb(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE q); // Incomplete beta complement inverse function. template tools::promote_args::type ibetac_invb(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE q, const policies::policy<>&); // Incomplete beta complement inverse function. template tools::promote_args::type ibeta_derivative(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE x); // derivative of incomplete beta template tools::promote_args::type ibeta_derivative(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, BOOST_MATH_TEST_TYPE x, const policies::policy<>& pol); // derivative of incomplete beta #endif #ifdef TEST_GROUP_2 // erf & erfc error functions. template tools::promote_args::type erf(BOOST_MATH_TEST_TYPE z); template tools::promote_args::type erf(BOOST_MATH_TEST_TYPE z, const policies::policy<>&); template tools::promote_args::type erfc(BOOST_MATH_TEST_TYPE z); template tools::promote_args::type erfc(BOOST_MATH_TEST_TYPE z, const policies::policy<>&); template tools::promote_args::type erf_inv(BOOST_MATH_TEST_TYPE z); template tools::promote_args::type erf_inv(BOOST_MATH_TEST_TYPE z, const policies::policy<>& pol); template tools::promote_args::type erfc_inv(BOOST_MATH_TEST_TYPE z); template tools::promote_args::type erfc_inv(BOOST_MATH_TEST_TYPE z, const policies::policy<>& pol); #endif #ifdef TEST_GROUP_3 // Polynomials: template tools::promote_args::type legendre_next(unsigned l, BOOST_MATH_TEST_TYPE x, BOOST_MATH_TEST_TYPE Pl, BOOST_MATH_TEST_TYPE Plm1); template tools::promote_args::type legendre_p(int l, BOOST_MATH_TEST_TYPE x); template tools::promote_args::type legendre_p(int l, BOOST_MATH_TEST_TYPE x, const policies::policy<>& pol); template tools::promote_args::type legendre_q(unsigned l, BOOST_MATH_TEST_TYPE x); template tools::promote_args::type legendre_q(unsigned l, BOOST_MATH_TEST_TYPE x, const policies::policy<>& pol); template tools::promote_args::type legendre_next(unsigned l, unsigned m, BOOST_MATH_TEST_TYPE x, BOOST_MATH_TEST_TYPE Pl, BOOST_MATH_TEST_TYPE Plm1); template tools::promote_args::type legendre_p(int l, int m, BOOST_MATH_TEST_TYPE x); template tools::promote_args::type legendre_p(int l, int m, BOOST_MATH_TEST_TYPE x, const policies::policy<>& pol); template tools::promote_args::type laguerre_next(unsigned n, BOOST_MATH_TEST_TYPE x, BOOST_MATH_TEST_TYPE Ln, BOOST_MATH_TEST_TYPE Lnm1); template tools::promote_args::type laguerre_next(unsigned n, unsigned l, BOOST_MATH_TEST_TYPE x, BOOST_MATH_TEST_TYPE Pl, BOOST_MATH_TEST_TYPE Plm1); template tools::promote_args::type laguerre(unsigned n, BOOST_MATH_TEST_TYPE x); template tools::promote_args::type laguerre(unsigned n, unsigned m, BOOST_MATH_TEST_TYPE x, const policies::policy<>& pol); template laguerre_result::type laguerre(unsigned n, int m, BOOST_MATH_TEST_TYPE x); template laguerre_result::type laguerre(unsigned n, unsigned m, BOOST_MATH_TEST_TYPE x); template tools::promote_args::type hermite(unsigned n, BOOST_MATH_TEST_TYPE x); template tools::promote_args::type hermite(unsigned n, BOOST_MATH_TEST_TYPE x, const policies::policy<>& pol); template tools::promote_args::type hermite_next(unsigned n, BOOST_MATH_TEST_TYPE x, BOOST_MATH_TEST_TYPE Hn, BOOST_MATH_TEST_TYPE Hnm1); template std::complex spherical_harmonic(unsigned n, int m, BOOST_MATH_TEST_TYPE theta, BOOST_MATH_TEST_TYPE phi); template std::complex spherical_harmonic(unsigned n, int m, BOOST_MATH_TEST_TYPE theta, BOOST_MATH_TEST_TYPE phi, const policies::policy<>& pol); template tools::promote_args::type spherical_harmonic_r(unsigned n, int m, BOOST_MATH_TEST_TYPE theta, BOOST_MATH_TEST_TYPE phi); template tools::promote_args::type spherical_harmonic_r(unsigned n, int m, BOOST_MATH_TEST_TYPE theta, BOOST_MATH_TEST_TYPE phi, const policies::policy<>& pol); template tools::promote_args::type spherical_harmonic_i(unsigned n, int m, BOOST_MATH_TEST_TYPE theta, BOOST_MATH_TEST_TYPE phi); template tools::promote_args::type spherical_harmonic_i(unsigned n, int m, BOOST_MATH_TEST_TYPE theta, BOOST_MATH_TEST_TYPE phi, const policies::policy<>& pol); #endif #ifdef TEST_GROUP_4 // Elliptic integrals: template tools::promote_args::type ellint_rf(BOOST_MATH_TEST_TYPE x, BOOST_MATH_TEST_TYPE y, BOOST_MATH_TEST_TYPE z); template tools::promote_args::type ellint_rf(BOOST_MATH_TEST_TYPE x, BOOST_MATH_TEST_TYPE y, BOOST_MATH_TEST_TYPE z, const policies::policy<>& pol); template tools::promote_args::type ellint_rd(BOOST_MATH_TEST_TYPE x, BOOST_MATH_TEST_TYPE y, BOOST_MATH_TEST_TYPE z); template tools::promote_args::type ellint_rd(BOOST_MATH_TEST_TYPE x, BOOST_MATH_TEST_TYPE y, BOOST_MATH_TEST_TYPE z, const policies::policy<>& pol); template tools::promote_args::type ellint_rc(BOOST_MATH_TEST_TYPE x, BOOST_MATH_TEST_TYPE y); template tools::promote_args::type ellint_rc(BOOST_MATH_TEST_TYPE x, BOOST_MATH_TEST_TYPE y, const policies::policy<>& pol); template tools::promote_args::type ellint_rj(BOOST_MATH_TEST_TYPE x, BOOST_MATH_TEST_TYPE y, BOOST_MATH_TEST_TYPE z, BOOST_MATH_TEST_TYPE p); template tools::promote_args::type ellint_rj(BOOST_MATH_TEST_TYPE x, BOOST_MATH_TEST_TYPE y, BOOST_MATH_TEST_TYPE z, BOOST_MATH_TEST_TYPE p, const policies::policy<>& pol); template tools::promote_args::type ellint_rg(BOOST_MATH_TEST_TYPE x, BOOST_MATH_TEST_TYPE y, BOOST_MATH_TEST_TYPE z); template tools::promote_args::type ellint_rg(BOOST_MATH_TEST_TYPE x, BOOST_MATH_TEST_TYPE y, BOOST_MATH_TEST_TYPE z, const policies::policy<>& pol); template tools::promote_args::type ellint_2(BOOST_MATH_TEST_TYPE k); template tools::promote_args::type ellint_2(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE phi); template tools::promote_args::type ellint_2(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE phi, const policies::policy<>& pol); template tools::promote_args::type ellint_d(BOOST_MATH_TEST_TYPE k); template tools::promote_args::type ellint_d(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE phi); template tools::promote_args::type ellint_d(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE phi, const policies::policy<>& pol); template tools::promote_args::type jacobi_zeta(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE phi); template tools::promote_args::type jacobi_zeta(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE phi, const policies::policy<>& pol); template tools::promote_args::type heuman_lambda(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE phi); template tools::promote_args::type heuman_lambda(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE phi, const policies::policy<>& pol); template tools::promote_args::type ellint_1(BOOST_MATH_TEST_TYPE k); template tools::promote_args::type ellint_1(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE phi); template tools::promote_args::type ellint_1(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE phi, const policies::policy<>& pol); template detail::ellint_3_result::type ellint_3(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE v, BOOST_MATH_TEST_TYPE phi); template tools::promote_args::type ellint_3(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE v, BOOST_MATH_TEST_TYPE phi, const policies::policy<>& pol); template tools::promote_args::type ellint_3(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE v); #endif #ifdef TEST_GROUP_5 // Gamma functions. template tools::promote_args::type tgamma(BOOST_MATH_TEST_TYPE z); template tools::promote_args::type tgamma1pm1(BOOST_MATH_TEST_TYPE z); template tools::promote_args::type tgamma1pm1(BOOST_MATH_TEST_TYPE z, const policies::policy<>& pol); template tools::promote_args::type tgamma(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE z); template tools::promote_args::type tgamma(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE z, const policies::policy<>& pol); template tools::promote_args::type lgamma(BOOST_MATH_TEST_TYPE z, int* sign); template tools::promote_args::type lgamma(BOOST_MATH_TEST_TYPE z, int* sign, const policies::policy<>& pol); template tools::promote_args::type lgamma(BOOST_MATH_TEST_TYPE x); template tools::promote_args::type lgamma(BOOST_MATH_TEST_TYPE x, const policies::policy<>& pol); template tools::promote_args::type tgamma_lower(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE z); template tools::promote_args::type tgamma_lower(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE z, const policies::policy<>&); template tools::promote_args::type gamma_q(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE z); template tools::promote_args::type gamma_q(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE z, const policies::policy<>&); template tools::promote_args::type gamma_p(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE z); template tools::promote_args::type gamma_p(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE z, const policies::policy<>&); template tools::promote_args::type tgamma_delta_ratio(BOOST_MATH_TEST_TYPE z, BOOST_MATH_TEST_TYPE delta); template tools::promote_args::type tgamma_delta_ratio(BOOST_MATH_TEST_TYPE z, BOOST_MATH_TEST_TYPE delta, const policies::policy<>&); template tools::promote_args::type tgamma_ratio(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b); template tools::promote_args::type tgamma_ratio(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE b, const policies::policy<>&); template tools::promote_args::type gamma_p_derivative(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE x); template tools::promote_args::type gamma_p_derivative(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE x, const policies::policy<>&); // gamma inverse. template tools::promote_args::type gamma_p_inv(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE p); template tools::promote_args::type gamma_p_inva(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE p, const policies::policy<>&); template tools::promote_args::type gamma_p_inva(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE p); template tools::promote_args::type gamma_p_inv(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE p, const policies::policy<>&); template tools::promote_args::type gamma_q_inv(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE q); template tools::promote_args::type gamma_q_inv(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE q, const policies::policy<>&); template tools::promote_args::type gamma_q_inva(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE q); template tools::promote_args::type gamma_q_inva(BOOST_MATH_TEST_TYPE a, BOOST_MATH_TEST_TYPE q, const policies::policy<>&); // digamma: template tools::promote_args::type digamma(BOOST_MATH_TEST_TYPE x); template tools::promote_args::type digamma(BOOST_MATH_TEST_TYPE x, const policies::policy<>&); // trigamma: template tools::promote_args::type trigamma(BOOST_MATH_TEST_TYPE x); template tools::promote_args::type trigamma(BOOST_MATH_TEST_TYPE x, const policies::policy<>&); // polygamma: template tools::promote_args::type polygamma(int, BOOST_MATH_TEST_TYPE x); template tools::promote_args::type polygamma(int, BOOST_MATH_TEST_TYPE x, const policies::policy<>&); #endif #ifdef TEST_GROUP_6 // Hypotenuse function sqrt(x ^ 2 + y ^ 2). template tools::promote_args::type hypot(BOOST_MATH_TEST_TYPE x, BOOST_MATH_TEST_TYPE y); template tools::promote_args::type hypot(BOOST_MATH_TEST_TYPE x, BOOST_MATH_TEST_TYPE y, const policies::policy<>&); // cbrt - cube root. template tools::promote_args::type cbrt(BOOST_MATH_TEST_TYPE z); template tools::promote_args::type cbrt(BOOST_MATH_TEST_TYPE z, const policies::policy<>&); // log1p is log(x + 1) template tools::promote_args::type log1p(BOOST_MATH_TEST_TYPE); template tools::promote_args::type log1p(BOOST_MATH_TEST_TYPE, const policies::policy<>&); template tools::promote_args::type log1p(BOOST_MATH_TEST_TYPE, const overflow_policy&); // log1pmx is log(x + 1) - x template tools::promote_args::type log1pmx(BOOST_MATH_TEST_TYPE); template tools::promote_args::type log1pmx(BOOST_MATH_TEST_TYPE, const policies::policy<>&); template tools::promote_args::type log1pmx(BOOST_MATH_TEST_TYPE, const overflow_policy&); // Exp (x) minus 1 functions. template tools::promote_args::type expm1(BOOST_MATH_TEST_TYPE); template tools::promote_args::type expm1(BOOST_MATH_TEST_TYPE, const policies::policy<>&); template tools::promote_args::type expm1(BOOST_MATH_TEST_TYPE, const overflow_policy&); // Power - 1 template tools::promote_args::type powm1(const BOOST_MATH_TEST_TYPE a, const BOOST_MATH_TEST_TYPE z); template tools::promote_args::type powm1(const BOOST_MATH_TEST_TYPE a, const BOOST_MATH_TEST_TYPE z, const policies::policy<>&); // sqrt(1+x) - 1 template tools::promote_args::type sqrt1pm1(const BOOST_MATH_TEST_TYPE& val); template tools::promote_args::type sqrt1pm1(const BOOST_MATH_TEST_TYPE& val, const policies::policy<>&); // sin_pi, cos_pi template tools::promote_args::type sin_pi(const BOOST_MATH_TEST_TYPE val); template tools::promote_args::type sin_pi(const BOOST_MATH_TEST_TYPE val, const policies::policy<>&); template tools::promote_args::type cos_pi(const BOOST_MATH_TEST_TYPE val); template tools::promote_args::type cos_pi(const BOOST_MATH_TEST_TYPE val, const policies::policy<>&); #endif #ifdef TEST_GROUP_7 // Bessel functions: template detail::bessel_traits >::result_type cyl_bessel_j(BOOST_MATH_TEST_TYPE v, BOOST_MATH_TEST_TYPE x, const policies::policy<> & pol); template detail::bessel_traits >::result_type cyl_bessel_j_prime(BOOST_MATH_TEST_TYPE v, BOOST_MATH_TEST_TYPE x, const policies::policy<> & pol); template detail::bessel_traits >::result_type cyl_bessel_j(BOOST_MATH_TEST_TYPE v, BOOST_MATH_TEST_TYPE x); template detail::bessel_traits >::result_type cyl_bessel_j_prime(BOOST_MATH_TEST_TYPE v, BOOST_MATH_TEST_TYPE x); template detail::bessel_traits >::result_type cyl_bessel_j(int v, BOOST_MATH_TEST_TYPE x); template detail::bessel_traits >::result_type cyl_bessel_j_prime(int v, BOOST_MATH_TEST_TYPE x); template detail::bessel_traits >::result_type sph_bessel(unsigned v, BOOST_MATH_TEST_TYPE x, const policies::policy<> & pol); template detail::bessel_traits >::result_type sph_bessel_prime(unsigned v, BOOST_MATH_TEST_TYPE x, const policies::policy<> & pol); template detail::bessel_traits >::result_type sph_bessel(unsigned v, BOOST_MATH_TEST_TYPE x); template detail::bessel_traits >::result_type sph_bessel_prime(unsigned v, BOOST_MATH_TEST_TYPE x); template detail::bessel_traits >::result_type cyl_bessel_i(BOOST_MATH_TEST_TYPE v, BOOST_MATH_TEST_TYPE x, const policies::policy<> & pol); template detail::bessel_traits >::result_type cyl_bessel_i_prime(BOOST_MATH_TEST_TYPE v, BOOST_MATH_TEST_TYPE x, const policies::policy<> & pol); template detail::bessel_traits >::result_type cyl_bessel_i(BOOST_MATH_TEST_TYPE v, BOOST_MATH_TEST_TYPE x); template detail::bessel_traits >::result_type cyl_bessel_i_prime(BOOST_MATH_TEST_TYPE v, BOOST_MATH_TEST_TYPE x); template detail::bessel_traits >::result_type cyl_bessel_i(int v, BOOST_MATH_TEST_TYPE x); template detail::bessel_traits >::result_type cyl_bessel_i_prime(int v, BOOST_MATH_TEST_TYPE x); template detail::bessel_traits >::result_type cyl_bessel_k(BOOST_MATH_TEST_TYPE v, BOOST_MATH_TEST_TYPE x, const policies::policy<> & pol); template detail::bessel_traits >::result_type cyl_bessel_k_prime(BOOST_MATH_TEST_TYPE v, BOOST_MATH_TEST_TYPE x, const policies::policy<> & pol); template detail::bessel_traits >::result_type cyl_bessel_k(BOOST_MATH_TEST_TYPE v, BOOST_MATH_TEST_TYPE x); template detail::bessel_traits >::result_type cyl_bessel_k_prime(BOOST_MATH_TEST_TYPE v, BOOST_MATH_TEST_TYPE x); template detail::bessel_traits >::result_type cyl_bessel_k(int v, BOOST_MATH_TEST_TYPE x); template detail::bessel_traits >::result_type cyl_bessel_k_prime(int v, BOOST_MATH_TEST_TYPE x); template detail::bessel_traits >::result_type cyl_neumann(BOOST_MATH_TEST_TYPE v, BOOST_MATH_TEST_TYPE x, const policies::policy<> & pol); template detail::bessel_traits >::result_type cyl_neumann_prime(BOOST_MATH_TEST_TYPE v, BOOST_MATH_TEST_TYPE x, const policies::policy<> & pol); template detail::bessel_traits >::result_type cyl_neumann(BOOST_MATH_TEST_TYPE v, BOOST_MATH_TEST_TYPE x); template detail::bessel_traits >::result_type cyl_neumann_prime(BOOST_MATH_TEST_TYPE v, BOOST_MATH_TEST_TYPE x); template detail::bessel_traits >::result_type cyl_neumann(int v, BOOST_MATH_TEST_TYPE x); template detail::bessel_traits >::result_type cyl_neumann_prime(int v, BOOST_MATH_TEST_TYPE x); template detail::bessel_traits >::result_type sph_neumann(unsigned v, BOOST_MATH_TEST_TYPE x, const policies::policy<> & pol); template detail::bessel_traits >::result_type sph_neumann_prime(unsigned v, BOOST_MATH_TEST_TYPE x, const policies::policy<> & pol); template detail::bessel_traits >::result_type sph_neumann(unsigned v, BOOST_MATH_TEST_TYPE x); template detail::bessel_traits >::result_type sph_neumann_prime(unsigned v, BOOST_MATH_TEST_TYPE x); #endif #ifdef TEST_GROUP_8 // Airy Functions: template tools::promote_args::type airy_ai(BOOST_MATH_TEST_TYPE x, const policies::policy<>&); template tools::promote_args::type airy_ai(BOOST_MATH_TEST_TYPE x); template tools::promote_args::type airy_bi(BOOST_MATH_TEST_TYPE x, const policies::policy<>&); template tools::promote_args::type airy_bi(BOOST_MATH_TEST_TYPE x); template tools::promote_args::type airy_ai_prime(BOOST_MATH_TEST_TYPE x, const policies::policy<>&); template tools::promote_args::type airy_ai_prime(BOOST_MATH_TEST_TYPE x); template tools::promote_args::type airy_bi_prime(BOOST_MATH_TEST_TYPE x, const policies::policy<>&); template tools::promote_args::type airy_bi_prime(BOOST_MATH_TEST_TYPE x); #endif #ifdef TEST_GROUP_9 // Exponential Integral template tools::promote_args::type expint(unsigned n, BOOST_MATH_TEST_TYPE z, const policies::policy<> &); template detail::expint_result::type expint(int const z, BOOST_MATH_TEST_TYPE const u); template tools::promote_args::type expint(BOOST_MATH_TEST_TYPE z); // Zeta: template tools::promote_args::type zeta(BOOST_MATH_TEST_TYPE s, const policies::policy<>&); template tools::promote_args::type zeta(BOOST_MATH_TEST_TYPE s); #endif #ifdef TEST_GROUP_10 // Jacobi Functions: template tools::promote_args::type jacobi_elliptic(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta, BOOST_MATH_TEST_TYPE* pcn, BOOST_MATH_TEST_TYPE* pdn, const policies::policy<>&); template tools::promote_args::type jacobi_elliptic(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta, BOOST_MATH_TEST_TYPE* pcn, BOOST_MATH_TEST_TYPE* pdn); template tools::promote_args::type jacobi_sn(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta, const policies::policy<>& pol); template tools::promote_args::type jacobi_sn(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta); template tools::promote_args::type jacobi_cn(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta, const policies::policy<>& pol); template tools::promote_args::type jacobi_cn(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta); template tools::promote_args::type jacobi_dn(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta, const policies::policy<>& pol); template tools::promote_args::type jacobi_dn(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta); template tools::promote_args::type jacobi_cd(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta, const policies::policy<>& pol); template tools::promote_args::type jacobi_cd(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta); template tools::promote_args::type jacobi_dc(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta, const policies::policy<>& pol); template tools::promote_args::type jacobi_dc(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta); template tools::promote_args::type jacobi_ns(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta, const policies::policy<>& pol); template tools::promote_args::type jacobi_ns(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta); template tools::promote_args::type jacobi_sd(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta, const policies::policy<>& pol); template tools::promote_args::type jacobi_sd(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta); template tools::promote_args::type jacobi_ds(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta, const policies::policy<>& pol); template tools::promote_args::type jacobi_ds(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta); template tools::promote_args::type jacobi_nc(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta, const policies::policy<>& pol); template tools::promote_args::type jacobi_nc(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta); template tools::promote_args::type jacobi_nd(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta, const policies::policy<>& pol); template tools::promote_args::type jacobi_nd(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta); template tools::promote_args::type jacobi_sc(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta, const policies::policy<>& pol); template tools::promote_args::type jacobi_sc(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta); template tools::promote_args::type jacobi_cs(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta, const policies::policy<>& pol); template tools::promote_args::type jacobi_cs(BOOST_MATH_TEST_TYPE k, BOOST_MATH_TEST_TYPE theta); #endif }} // namespaces