📄 c99_ref.qbk
字号:
[section:c99 C99 C Functions][h4 Supported C99 Functions] namespace boost{ namespace math{ namespace tr1{ extern "C"{ typedef unspecified float_t; typedef unspecified double_t; double acosh(double x); float acoshf(float x); long double acoshl(long double x); double asinh(double x); float asinhf(float x); long double asinhl(long double x); double atanh(double x); float atanhf(float x); long double atanhl(long double x); double cbrt(double x); float cbrtf(float x); long double cbrtl(long double x); double copysign(double x, double y); float copysignf(float x, float y); long double copysignl(long double x, long double y); double erf(double x); float erff(float x); long double erfl(long double x); double erfc(double x); float erfcf(float x); long double erfcl(long double x); double expm1(double x); float expm1f(float x); long double expm1l(long double x); double fmax(double x, double y); float fmaxf(float x, float y); long double fmaxl(long double x, long double y); double fmin(double x, double y); float fminf(float x, float y); long double fminl(long double x, long double y); double hypot(double x, double y); float hypotf(float x, float y); long double hypotl(long double x, long double y); double lgamma(double x); float lgammaf(float x); long double lgammal(long double x); long long llround(double x); long long llroundf(float x); long long llroundl(long double x); double log1p(double x); float log1pf(float x); long double log1pl(long double x); long lround(double x); long lroundf(float x); long lroundl(long double x); double nextafter(double x, double y); float nextafterf(float x, float y); long double nextafterl(long double x, long double y); double nexttoward(double x, long double y); float nexttowardf(float x, long double y); long double nexttowardl(long double x, long double y); double round(double x); float roundf(float x); long double roundl(long double x); double tgamma(double x); float tgammaf(float x); long double tgammal(long double x); double trunc(double x); float truncf(float x); long double truncl(long double x); }}}} // namespaces In addition sufficient additional overloads of the `double` versions of theabove functions are provided, so that calling the function with any mixtureof `float`, `double`, `long double`, or /integer/ arguments is supported, with thereturn type determined by the __arg_pomotion_rules.For example: acoshf(2.0f); // float version, returns float. acosh(2.0f); // also calls the float version and returns float. acosh(2.0); // double version, returns double. acoshl(2.0L); // long double version, returns a long double. acosh(2.0L); // also calls the long double version. acosh(2); // integer argument is treated as a double, returns double.[h4 Quick Reference]More detailed descriptions of these functions are available in theC99 standard. typedef unspecified float_t; typedef unspecified double_t; In this implementation `float_t` is the same as type `float`, and`double_t` the same as type `double` unless the preprocessor symbolFLT_EVAL_METHOD is defined, in which case these are set as follows:[table[[FLT_EVAL_METHOD][float_t][double_t]][[0][float][double]][[1][double][double]][[2][long double][long double]]] double acosh(double x); float acoshf(float x); long double acoshl(long double x);Returns the inverse hyperbolic cosine of /x/.See also __acosh for the full template (header only) version of this function. double asinh(double x); float asinhf(float x); long double asinhl(long double x);Returns the inverse hyperbolic sine of /x/.See also __asinh for the full template (header only) version of this function. double atanh(double x); float atanhf(float x); long double atanhl(long double x);Returns the inverse hyperbolic tangent of /x/.See also __atanh for the full template (header only) version of this function. double cbrt(double x); float cbrtf(float x); long double cbrtl(long double x); Returns the cubed root of /x/.See also __cbrt for the full template (header only) version of this function. double copysign(double x, double y); float copysignf(float x, float y); long double copysignl(long double x, long double y);Returns a value with the magnitude of /x/ and the sign of /y/. double erf(double x); float erff(float x); long double erfl(long double x);Returns the error function of /x/:[equation erf1]See also __erf for the full template (header only) version of this function. double erfc(double x); float erfcf(float x); long double erfcl(long double x);Returns the complementary error function of /x/ `1-erf(x)` without the lossof precision implied by the subtraction.See also __erfc for the full template (header only) version of this function. double expm1(double x); float expm1f(float x); long double expm1l(long double x);Returns `exp(x)-1` without the lossof precision implied by the subtraction.See also __expm1 for the full template (header only) version of this function. double fmax(double x, double y); float fmaxf(float x, float y); long double fmaxl(long double x, long double y);Returns the larger (most positive) of /x/ and /y/. double fmin(double x, double y); float fminf(float x, float y); long double fminl(long double x, long double y);Returns the smaller (most negative) of /x/ and /y/. double hypot(double x, double y); float hypotf(float x, float y); long double hypotl(long double x, long double y);Returns `sqrt(x*x + y*y)` without the danger of numeric overflowimplied by that formulation.See also __hypot for the full template (header only) version of this function. double lgamma(double x); float lgammaf(float x); long double lgammal(long double x); Returns the log of the gamma function of /x/.[equation lgamm1]See also __lgamma for the full template (header only) version of this function. long long llround(double x); long long llroundf(float x); long long llroundl(long double x); Returns the value /x/ rounded to the nearest integer as a `long long`: equivalent to `floor(x + 0.5)`See also __llround for the full template (header only) version of this function. double log1p(double x); float log1pf(float x); long double log1pl(long double x); Returns the `log(x+1)` without the loss of precision implied by that formulation.See also __log1p for the full template (header only) version of this function. long lround(double x); long lroundf(float x); long lroundl(long double x);Returns the value /x/ rounded to the nearest integer as a `long`: equivalent to `floor(x + 0.5)`See also __lround for the full template (header only) version of this function. double nextafter(double x, double y); float nextafterf(float x, float y); long double nextafterl(long double x, long double y); Returns the next representable floating point number after /x/in the direction of /y/, or /x/ if `x == y`. double nexttoward(double x, long double y); float nexttowardf(float x, long double y); long double nexttowardl(long double x, long double y); As `nextafter`, but with /y/ always expressed as a `long double`. double round(double x); float roundf(float x); long double roundl(long double x);Returns the value /x/ rounded to the nearest integer: equivalent to `floor(x + 0.5)`See also __round for the full template (header only) version of this function. double tgamma(double x); float tgammaf(float x); long double tgammal(long double x); Returns the gamma function of /x/:[equation gamm1]See also __tgamma for the full template (header only) version of this function. double trunc(double x); float truncf(float x); long double truncl(long double x); Returns /x/ truncated to the nearest integer.See also __trunc for the full template (header only) version of this function.[endsect][/ Copyright 2008 John Maddock and Paul A. Bristow. Distributed under 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).]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -