x
Yes
No
Do you want to visit DriveHQ English website?
首页
产品服务
价格
免费试用
下载客户端
关于我们
云文件服务
|
云备份服务
|
FTP服务
|
企业邮箱服务
|
网站托管
|
客户端软件
云文件服务
云备份服务
FTP服务
企业级邮箱服务
网站托管
客户端软件
math_fwd.hpp - Hosted on DriveHQ Cloud IT Platform
返回上层目录
上传
下载
共享
发布
新建文件夹
新建文件
复制
剪切
删除
粘贴
评论
升级服务
路径: \\game3dprogramming\materials\GameFactory\GameFactoryDemo\references\boost_1_35_0\boost\math\special_functions\math_fwd.hpp
旋转
特效
属性
历史版本
// math_fwd.hpp // TODO revise completely for new distribution classes. // Copyright Paul A. Bristow 2006. // Copyright John Maddock 2006. // 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) // Omnibus list of forward declarations of math special functions. // IT = Integer type. // RT = Real type (built-in floating-point types, float, double, long double) & User Defined Types // AT = Integer or Real type #ifndef BOOST_MATH_SPECIAL_MATH_FWD_HPP #define BOOST_MATH_SPECIAL_MATH_FWD_HPP #include
// for argument promotion. #include
#include
#include
#define BOOST_NO_MACRO_EXPAND /**/ namespace boost { namespace math { // Math functions (in roughly alphabetic order). // Beta functions. template
typename tools::promote_args
::type beta(RT1 a, RT2 b); // Beta function (2 arguments). template
typename tools::promote_args
::type beta(RT1 a, RT2 b, A x); // Beta function (3 arguments). template
typename tools::promote_args
::type beta(RT1 a, RT2 b, RT3 x, const Policy& pol); // Beta function (3 arguments). template
typename tools::promote_args
::type betac(RT1 a, RT2 b, RT3 x); template
typename tools::promote_args
::type betac(RT1 a, RT2 b, RT3 x, const Policy& pol); template
typename tools::promote_args
::type ibeta(RT1 a, RT2 b, RT3 x); // Incomplete beta function. template
typename tools::promote_args
::type ibeta(RT1 a, RT2 b, RT3 x, const Policy& pol); // Incomplete beta function. template
typename tools::promote_args
::type ibetac(RT1 a, RT2 b, RT3 x); // Incomplete beta complement function. template
typename tools::promote_args
::type ibetac(RT1 a, RT2 b, RT3 x, const Policy& pol); // Incomplete beta complement function. template
typename tools::promote_args
::type ibeta_inv(T1 a, T2 b, T3 p, T4* py); template
typename tools::promote_args
::type ibeta_inv(T1 a, T2 b, T3 p, T4* py, const Policy& pol); template
typename tools::promote_args
::type ibeta_inv(RT1 a, RT2 b, RT3 p); // Incomplete beta inverse function. template
typename tools::promote_args
::type ibeta_inv(RT1 a, RT2 b, RT3 p, const Policy&); // Incomplete beta inverse function. template
typename tools::promote_args
::type ibeta_inva(RT1 a, RT2 b, RT3 p); // Incomplete beta inverse function. template
typename tools::promote_args
::type ibeta_inva(RT1 a, RT2 b, RT3 p, const Policy&); // Incomplete beta inverse function. template
typename tools::promote_args
::type ibeta_invb(RT1 a, RT2 b, RT3 p); // Incomplete beta inverse function. template
typename tools::promote_args
::type ibeta_invb(RT1 a, RT2 b, RT3 p, const Policy&); // Incomplete beta inverse function. template
typename tools::promote_args
::type ibetac_inv(T1 a, T2 b, T3 q, T4* py); template
typename tools::promote_args
::type ibetac_inv(T1 a, T2 b, T3 q, T4* py, const Policy& pol); template
typename tools::promote_args
::type ibetac_inv(RT1 a, RT2 b, RT3 q); // Incomplete beta complement inverse function. template
typename tools::promote_args
::type ibetac_inv(RT1 a, RT2 b, RT3 q, const Policy&); // Incomplete beta complement inverse function. template
typename tools::promote_args
::type ibetac_inva(RT1 a, RT2 b, RT3 q); // Incomplete beta complement inverse function. template
typename tools::promote_args
::type ibetac_inva(RT1 a, RT2 b, RT3 q, const Policy&); // Incomplete beta complement inverse function. template
typename tools::promote_args
::type ibetac_invb(RT1 a, RT2 b, RT3 q); // Incomplete beta complement inverse function. template
typename tools::promote_args
::type ibetac_invb(RT1 a, RT2 b, RT3 q, const Policy&); // Incomplete beta complement inverse function. template
typename tools::promote_args
::type ibeta_derivative(RT1 a, RT2 b, RT3 x); // derivative of incomplete beta template
typename tools::promote_args
::type ibeta_derivative(RT1 a, RT2 b, RT3 x, const Policy& pol); // derivative of incomplete beta // erf & erfc error functions. template
// Error function. typename tools::promote_args
::type erf(RT z); template
// Error function. typename tools::promote_args
::type erf(RT z, const Policy&); template
// Error function complement. typename tools::promote_args
::type erfc(RT z); template
// Error function complement. typename tools::promote_args
::type erfc(RT z, const Policy&); template
// Error function inverse. typename tools::promote_args
::type erf_inv(RT z); template
// Error function inverse. typename tools::promote_args
::type erf_inv(RT z, const Policy& pol); template
// Error function complement inverse. typename tools::promote_args
::type erfc_inv(RT z); template
// Error function complement inverse. typename tools::promote_args
::type erfc_inv(RT z, const Policy& pol); // Polynomials: template
typename tools::promote_args
::type legendre_next(unsigned l, T1 x, T2 Pl, T3 Plm1); template
typename tools::promote_args
::type legendre_p(int l, T x); template
typename tools::promote_args
::type legendre_p(int l, T x, const Policy& pol); template
typename tools::promote_args
::type legendre_q(unsigned l, T x); template
typename tools::promote_args
::type legendre_q(unsigned l, T x, const Policy& pol); template
typename tools::promote_args
::type legendre_next(unsigned l, unsigned m, T1 x, T2 Pl, T3 Plm1); template
typename tools::promote_args
::type legendre_p(int l, int m, T x); template
typename tools::promote_args
::type legendre_p(int l, int m, T x, const Policy& pol); template
typename tools::promote_args
::type laguerre_next(unsigned n, T1 x, T2 Ln, T3 Lnm1); template
typename tools::promote_args
::type laguerre_next(unsigned n, unsigned l, T1 x, T2 Pl, T3 Plm1); template
typename tools::promote_args
::type laguerre(unsigned n, T x); template
typename tools::promote_args
::type laguerre(unsigned n, unsigned m, T x, const Policy& pol); template
struct laguerre_result { typedef typename mpl::if_< policies::is_policy
, typename tools::promote_args
::type, typename tools::promote_args
::type >::type type; }; template
typename laguerre_result
::type laguerre(unsigned n, T1 m, T2 x); template
typename tools::promote_args
::type hermite(unsigned n, T x); template
typename tools::promote_args
::type hermite(unsigned n, T x, const Policy& pol); template
typename tools::promote_args
::type hermite_next(unsigned n, T1 x, T2 Hn, T3 Hnm1); template
std::complex
::type> spherical_harmonic(unsigned n, int m, T1 theta, T2 phi); template
std::complex
::type> spherical_harmonic(unsigned n, int m, T1 theta, T2 phi, const Policy& pol); template
typename tools::promote_args
::type spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi); template
typename tools::promote_args
::type spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi, const Policy& pol); template
typename tools::promote_args
::type spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi); template
typename tools::promote_args
::type spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi, const Policy& pol); // Elliptic integrals: template
typename tools::promote_args
::type ellint_rf(T1 x, T2 y, T3 z); template
typename tools::promote_args
::type ellint_rf(T1 x, T2 y, T3 z, const Policy& pol); template
typename tools::promote_args
::type ellint_rd(T1 x, T2 y, T3 z); template
typename tools::promote_args
::type ellint_rd(T1 x, T2 y, T3 z, const Policy& pol); template
typename tools::promote_args
::type ellint_rc(T1 x, T2 y); template
typename tools::promote_args
::type ellint_rc(T1 x, T2 y, const Policy& pol); template
typename tools::promote_args
::type ellint_rj(T1 x, T2 y, T3 z, T4 p); template
typename tools::promote_args
::type ellint_rj(T1 x, T2 y, T3 z, T4 p, const Policy& pol); template
typename tools::promote_args
::type ellint_2(T k); template
typename tools::promote_args
::type ellint_2(T1 k, T2 phi); template
typename tools::promote_args
::type ellint_2(T1 k, T2 phi, const Policy& pol); template
typename tools::promote_args
::type ellint_1(T k); template
typename tools::promote_args
::type ellint_1(T1 k, T2 phi); template
typename tools::promote_args
::type ellint_1(T1 k, T2 phi, const Policy& pol); template
typename tools::promote_args
::type ellint_3(T1 k, T2 v, T3 phi); template
typename tools::promote_args
::type ellint_3(T1 k, T2 v, T3 phi, const Policy& pol); template
typename tools::promote_args
::type ellint_3(T1 k, T2 v); // Factorial functions. // Note: not for integral types, at present. template
struct max_factorial; template
RT factorial(unsigned int); template
RT factorial(unsigned int, const Policy& pol); template
RT unchecked_factorial(unsigned int BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(RT)); template
RT double_factorial(unsigned i); template
RT double_factorial(unsigned i, const Policy& pol); template
typename tools::promote_args
::type falling_factorial(RT x, unsigned n); template
typename tools::promote_args
::type falling_factorial(RT x, unsigned n, const Policy& pol); template
typename tools::promote_args
::type rising_factorial(RT x, int n); template
typename tools::promote_args
::type rising_factorial(RT x, int n, const Policy& pol); // Gamma functions. template
typename tools::promote_args
::type tgamma(RT z); template
typename tools::promote_args
::type tgamma1pm1(RT z); template
typename tools::promote_args
::type tgamma1pm1(RT z, const Policy& pol); template
typename tools::promote_args
::type tgamma(RT1 a, RT2 z); template
typename tools::promote_args
::type tgamma(RT1 a, RT2 z, const Policy& pol); template
typename tools::promote_args
::type lgamma(RT z, int* sign); template
typename tools::promote_args
::type lgamma(RT z, int* sign, const Policy& pol); template
typename tools::promote_args
::type lgamma(RT x); template
typename tools::promote_args
::type lgamma(RT x, const Policy& pol); template
typename tools::promote_args
::type tgamma_lower(RT1 a, RT2 z); template
typename tools::promote_args
::type tgamma_lower(RT1 a, RT2 z, const Policy&); template
typename tools::promote_args
::type gamma_q(RT1 a, RT2 z); template
typename tools::promote_args
::type gamma_q(RT1 a, RT2 z, const Policy&); template
typename tools::promote_args
::type gamma_p(RT1 a, RT2 z); template
typename tools::promote_args
::type gamma_p(RT1 a, RT2 z, const Policy&); template
typename tools::promote_args
::type tgamma_delta_ratio(T1 z, T2 delta); template
typename tools::promote_args
::type tgamma_delta_ratio(T1 z, T2 delta, const Policy&); template
typename tools::promote_args
::type tgamma_ratio(T1 a, T2 b); template
typename tools::promote_args
::type tgamma_ratio(T1 a, T2 b, const Policy&); template
typename tools::promote_args
::type gamma_p_derivative(T1 a, T2 x); template
typename tools::promote_args
::type gamma_p_derivative(T1 a, T2 x, const Policy&); // gamma inverse. template
typename tools::promote_args
::type gamma_p_inv(T1 a, T2 p); template
typename tools::promote_args
::type gamma_p_inva(T1 a, T2 p, const Policy&); template
typename tools::promote_args
::type gamma_p_inva(T1 a, T2 p); template
typename tools::promote_args
::type gamma_p_inv(T1 a, T2 p, const Policy&); template
typename tools::promote_args
::type gamma_q_inv(T1 a, T2 q); template
typename tools::promote_args
::type gamma_q_inv(T1 a, T2 q, const Policy&); template
typename tools::promote_args
::type gamma_q_inva(T1 a, T2 q); template
typename tools::promote_args
::type gamma_q_inva(T1 a, T2 q, const Policy&); // digamma: template
typename tools::promote_args
::type digamma(T x); template
typename tools::promote_args
::type digamma(T x, const Policy&); // Hypotenuse function sqrt(x ^ 2 + y ^ 2). template
typename tools::promote_args
::type hypot(T1 x, T2 y); template
typename tools::promote_args
::type hypot(T1 x, T2 y, const Policy&); // cbrt - cube root. template
typename tools::promote_args
::type cbrt(RT z); template
typename tools::promote_args
::type cbrt(RT z, const Policy&); // log1p is log(x + 1) template
typename tools::promote_args
::type log1p(T); template
typename tools::promote_args
::type log1p(T, const Policy&); // log1pmx is log(x + 1) - x template
typename tools::promote_args