mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-03 21:40:52 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			300 lines
		
	
	
		
			8.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			300 lines
		
	
	
		
			8.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
[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 the
 | 
						|
above functions are provided, so that calling the function with any mixture
 | 
						|
of `float`, `double`, `long double`, or /integer/ arguments is supported, with the
 | 
						|
return type determined by the __arg_promotion_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 the
 | 
						|
C99 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 symbol
 | 
						|
FLT_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 loss
 | 
						|
of 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 loss
 | 
						|
of 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 overflow
 | 
						|
implied 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.
 | 
						|
 | 
						|
See also [@http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1124.pdf C99 ISO Standard]
 | 
						|
 | 
						|
[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).
 | 
						|
]
 | 
						|
 |