mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-30 04:20:22 -04:00 
			
		
		
		
	
		
			
	
	
		
			478 lines
		
	
	
		
			47 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
		
		
			
		
	
	
			478 lines
		
	
	
		
			47 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
|  | <html> | ||
|  | <head> | ||
|  | <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> | ||
|  | <title>C99 C Functions</title> | ||
|  | <link rel="stylesheet" href="../math.css" type="text/css"> | ||
|  | <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> | ||
|  | <link rel="home" href="../index.html" title="Math Toolkit 2.5.1"> | ||
|  | <link rel="up" href="../extern_c.html" title='Chapter 7. TR1 and C99 external "C" Functions'> | ||
|  | <link rel="prev" href="main_tr1.html" title="C99 and TR1 C Functions Overview"> | ||
|  | <link rel="next" href="tr1_ref.html" title="TR1 C Functions Quick Reference"> | ||
|  | </head> | ||
|  | <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> | ||
|  | <table cellpadding="2" width="100%"><tr> | ||
|  | <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> | ||
|  | <td align="center"><a href="../../../../../index.html">Home</a></td> | ||
|  | <td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> | ||
|  | <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> | ||
|  | <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> | ||
|  | <td align="center"><a href="../../../../../more/index.htm">More</a></td> | ||
|  | </tr></table> | ||
|  | <hr> | ||
|  | <div class="spirit-nav"> | ||
|  | <a accesskey="p" href="main_tr1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extern_c.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tr1_ref.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> | ||
|  | </div> | ||
|  | <div class="section"> | ||
|  | <div class="titlepage"><div><div><h2 class="title" style="clear: both"> | ||
|  | <a name="math_toolkit.c99"></a><a class="link" href="c99.html" title="C99 C Functions">C99 C Functions</a> | ||
|  | </h2></div></div></div> | ||
|  | <h5> | ||
|  | <a name="math_toolkit.c99.h0"></a> | ||
|  |       <span class="phrase"><a name="math_toolkit.c99.supported_c99_functions"></a></span><a class="link" href="c99.html#math_toolkit.c99.supported_c99_functions">Supported | ||
|  |       C99 Functions</a> | ||
|  |     </h5> | ||
|  | <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tr1</span><span class="special">{</span> <span class="keyword">extern</span> <span class="string">"C"</span><span class="special">{</span> | ||
|  | 
 | ||
|  | <span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">float_t</span><span class="special">;</span> | ||
|  | <span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">double_t</span><span class="special">;</span> | ||
|  | 
 | ||
|  | <span class="keyword">double</span> <span class="identifier">acosh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">acoshf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">acoshl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | 
 | ||
|  | <span class="keyword">double</span> <span class="identifier">asinh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">asinhf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">asinhl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | 
 | ||
|  | <span class="keyword">double</span> <span class="identifier">atanh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">atanhf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">atanhl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | 
 | ||
|  | <span class="keyword">double</span> <span class="identifier">cbrt</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">cbrtf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cbrtl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | 
 | ||
|  | <span class="keyword">double</span> <span class="identifier">copysign</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">copysignf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">copysignl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | 
 | ||
|  | <span class="keyword">double</span> <span class="identifier">erf</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">erff</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">erfl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | 
 | ||
|  | <span class="keyword">double</span> <span class="identifier">erfc</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">erfcf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">erfcl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | 
 | ||
|  | <span class="keyword">double</span> <span class="identifier">expm1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">expm1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">expm1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | 
 | ||
|  | <span class="keyword">double</span> <span class="identifier">fmax</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">fmaxf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fmaxl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | 
 | ||
|  | <span class="keyword">double</span> <span class="identifier">fmin</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">fminf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fminl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | 
 | ||
|  | <span class="keyword">double</span> <span class="identifier">hypot</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">hypotf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hypotl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | 
 | ||
|  | <span class="keyword">double</span> <span class="identifier">lgamma</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">lgammaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">lgammal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | 
 | ||
|  | <span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llround</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llroundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llroundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | 
 | ||
|  | <span class="keyword">double</span> <span class="identifier">log1p</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">log1pf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">log1pl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | 
 | ||
|  | <span class="keyword">long</span> <span class="identifier">lround</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="identifier">lroundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="identifier">lroundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | 
 | ||
|  | <span class="keyword">double</span> <span class="identifier">nextafter</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">nextafterf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nextafterl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | 
 | ||
|  | <span class="keyword">double</span> <span class="identifier">nexttoward</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">nexttowardf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nexttowardl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | 
 | ||
|  | <span class="keyword">double</span> <span class="identifier">round</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">roundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">roundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | 
 | ||
|  | <span class="keyword">double</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">tgammaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">tgammal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | 
 | ||
|  | <span class="keyword">double</span> <span class="identifier">trunc</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">truncf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">truncl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | 
 | ||
|  | <span class="special">}}}}</span> <span class="comment">// namespaces</span> | ||
|  | </pre> | ||
|  | <p> | ||
|  |       In addition sufficient additional overloads of the <code class="computeroutput"><span class="keyword">double</span></code> | ||
|  |       versions of the above functions are provided, so that calling the function | ||
|  |       with any mixture of <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code>, <code class="computeroutput"><span class="keyword">long</span> | ||
|  |       <span class="keyword">double</span></code>, or <span class="emphasis"><em>integer</em></span> | ||
|  |       arguments is supported, with the return type determined by the <a class="link" href="result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result | ||
|  |       type calculation rules</em></span></a>. | ||
|  |     </p> | ||
|  | <p> | ||
|  |       For example: | ||
|  |     </p> | ||
|  | <pre class="programlisting"><span class="identifier">acoshf</span><span class="special">(</span><span class="number">2.0f</span><span class="special">);</span>  <span class="comment">// float version, returns float.</span> | ||
|  | <span class="identifier">acosh</span><span class="special">(</span><span class="number">2.0f</span><span class="special">);</span>   <span class="comment">// also calls the float version and returns float.</span> | ||
|  | <span class="identifier">acosh</span><span class="special">(</span><span class="number">2.0</span><span class="special">);</span>    <span class="comment">// double version, returns double.</span> | ||
|  | <span class="identifier">acoshl</span><span class="special">(</span><span class="number">2.0L</span><span class="special">);</span>  <span class="comment">// long double version, returns a long double.</span> | ||
|  | <span class="identifier">acosh</span><span class="special">(</span><span class="number">2.0L</span><span class="special">);</span>   <span class="comment">// also calls the long double version.</span> | ||
|  | <span class="identifier">acosh</span><span class="special">(</span><span class="number">2</span><span class="special">);</span>      <span class="comment">// integer argument is treated as a double, returns double.</span> | ||
|  | </pre> | ||
|  | <h5> | ||
|  | <a name="math_toolkit.c99.h1"></a> | ||
|  |       <span class="phrase"><a name="math_toolkit.c99.quick_reference"></a></span><a class="link" href="c99.html#math_toolkit.c99.quick_reference">Quick | ||
|  |       Reference</a> | ||
|  |     </h5> | ||
|  | <p> | ||
|  |       More detailed descriptions of these functions are available in the C99 standard. | ||
|  |     </p> | ||
|  | <pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">float_t</span><span class="special">;</span> | ||
|  | <span class="keyword">typedef</span> <span class="identifier">unspecified</span> <span class="identifier">double_t</span><span class="special">;</span> | ||
|  | </pre> | ||
|  | <p> | ||
|  |       In this implementation <code class="computeroutput"><span class="identifier">float_t</span></code> | ||
|  |       is the same as type <code class="computeroutput"><span class="keyword">float</span></code>, and | ||
|  |       <code class="computeroutput"><span class="identifier">double_t</span></code> the same as type | ||
|  |       <code class="computeroutput"><span class="keyword">double</span></code> unless the preprocessor | ||
|  |       symbol FLT_EVAL_METHOD is defined, in which case these are set as follows: | ||
|  |     </p> | ||
|  | <div class="informaltable"><table class="table"> | ||
|  | <colgroup> | ||
|  | <col> | ||
|  | <col> | ||
|  | <col> | ||
|  | </colgroup> | ||
|  | <thead><tr> | ||
|  | <th> | ||
|  |               <p> | ||
|  |                 FLT_EVAL_METHOD | ||
|  |               </p> | ||
|  |             </th> | ||
|  | <th> | ||
|  |               <p> | ||
|  |                 float_t | ||
|  |               </p> | ||
|  |             </th> | ||
|  | <th> | ||
|  |               <p> | ||
|  |                 double_t | ||
|  |               </p> | ||
|  |             </th> | ||
|  | </tr></thead> | ||
|  | <tbody> | ||
|  | <tr> | ||
|  | <td> | ||
|  |               <p> | ||
|  |                 0 | ||
|  |               </p> | ||
|  |             </td> | ||
|  | <td> | ||
|  |               <p> | ||
|  |                 float | ||
|  |               </p> | ||
|  |             </td> | ||
|  | <td> | ||
|  |               <p> | ||
|  |                 double | ||
|  |               </p> | ||
|  |             </td> | ||
|  | </tr> | ||
|  | <tr> | ||
|  | <td> | ||
|  |               <p> | ||
|  |                 1 | ||
|  |               </p> | ||
|  |             </td> | ||
|  | <td> | ||
|  |               <p> | ||
|  |                 double | ||
|  |               </p> | ||
|  |             </td> | ||
|  | <td> | ||
|  |               <p> | ||
|  |                 double | ||
|  |               </p> | ||
|  |             </td> | ||
|  | </tr> | ||
|  | <tr> | ||
|  | <td> | ||
|  |               <p> | ||
|  |                 2 | ||
|  |               </p> | ||
|  |             </td> | ||
|  | <td> | ||
|  |               <p> | ||
|  |                 long double | ||
|  |               </p> | ||
|  |             </td> | ||
|  | <td> | ||
|  |               <p> | ||
|  |                 long double | ||
|  |               </p> | ||
|  |             </td> | ||
|  | </tr> | ||
|  | </tbody> | ||
|  | </table></div> | ||
|  | <pre class="programlisting"><span class="keyword">double</span> <span class="identifier">acosh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">acoshf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">acoshl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | </pre> | ||
|  | <p> | ||
|  |       Returns the inverse hyperbolic cosine of <span class="emphasis"><em>x</em></span>. | ||
|  |     </p> | ||
|  | <p> | ||
|  |       See also <a class="link" href="inv_hyper/acosh.html" title="acosh">acosh</a> for the | ||
|  |       full template (header only) version of this function. | ||
|  |     </p> | ||
|  | <pre class="programlisting"><span class="keyword">double</span> <span class="identifier">asinh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">asinhf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">asinhl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | </pre> | ||
|  | <p> | ||
|  |       Returns the inverse hyperbolic sine of <span class="emphasis"><em>x</em></span>. | ||
|  |     </p> | ||
|  | <p> | ||
|  |       See also <a class="link" href="inv_hyper/asinh.html" title="asinh">asinh</a> for the | ||
|  |       full template (header only) version of this function. | ||
|  |     </p> | ||
|  | <pre class="programlisting"><span class="keyword">double</span> <span class="identifier">atanh</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">atanhf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">atanhl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | </pre> | ||
|  | <p> | ||
|  |       Returns the inverse hyperbolic tangent of <span class="emphasis"><em>x</em></span>. | ||
|  |     </p> | ||
|  | <p> | ||
|  |       See also <a class="link" href="inv_hyper/atanh.html" title="atanh">atanh</a> for the | ||
|  |       full template (header only) version of this function. | ||
|  |     </p> | ||
|  | <pre class="programlisting"><span class="keyword">double</span> <span class="identifier">cbrt</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">cbrtf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cbrtl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | </pre> | ||
|  | <p> | ||
|  |       Returns the cubed root of <span class="emphasis"><em>x</em></span>. | ||
|  |     </p> | ||
|  | <p> | ||
|  |       See also <a class="link" href="powers/cbrt.html" title="cbrt">cbrt</a> for the full | ||
|  |       template (header only) version of this function. | ||
|  |     </p> | ||
|  | <pre class="programlisting"><span class="keyword">double</span> <span class="identifier">copysign</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">copysignf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">copysignl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | </pre> | ||
|  | <p> | ||
|  |       Returns a value with the magnitude of <span class="emphasis"><em>x</em></span> and the sign of | ||
|  |       <span class="emphasis"><em>y</em></span>. | ||
|  |     </p> | ||
|  | <pre class="programlisting"><span class="keyword">double</span> <span class="identifier">erf</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">erff</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">erfl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | </pre> | ||
|  | <p> | ||
|  |       Returns the error function of <span class="emphasis"><em>x</em></span>: | ||
|  |     </p> | ||
|  | <p> | ||
|  |       <span class="inlinemediaobject"><img src="../../equations/erf1.svg"></span> | ||
|  |     </p> | ||
|  | <p> | ||
|  |       See also <a class="link" href="sf_erf/error_function.html" title="Error Functions">erf</a> for | ||
|  |       the full template (header only) version of this function. | ||
|  |     </p> | ||
|  | <pre class="programlisting"><span class="keyword">double</span> <span class="identifier">erfc</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">erfcf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">erfcl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | </pre> | ||
|  | <p> | ||
|  |       Returns the complementary error function of <span class="emphasis"><em>x</em></span> <code class="computeroutput"><span class="number">1</span><span class="special">-</span><span class="identifier">erf</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code> | ||
|  |       without the loss of precision implied by the subtraction. | ||
|  |     </p> | ||
|  | <p> | ||
|  |       See also <a class="link" href="sf_erf/error_function.html" title="Error Functions">erfc</a> for | ||
|  |       the full template (header only) version of this function. | ||
|  |     </p> | ||
|  | <pre class="programlisting"><span class="keyword">double</span> <span class="identifier">expm1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">expm1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">expm1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | </pre> | ||
|  | <p> | ||
|  |       Returns <code class="computeroutput"><span class="identifier">exp</span><span class="special">(</span><span class="identifier">x</span><span class="special">)-</span><span class="number">1</span></code> | ||
|  |       without the loss of precision implied by the subtraction. | ||
|  |     </p> | ||
|  | <p> | ||
|  |       See also <a class="link" href="powers/expm1.html" title="expm1">expm1</a> for the full | ||
|  |       template (header only) version of this function. | ||
|  |     </p> | ||
|  | <pre class="programlisting"><span class="keyword">double</span> <span class="identifier">fmax</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">fmaxf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fmaxl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | </pre> | ||
|  | <p> | ||
|  |       Returns the larger (most positive) of <span class="emphasis"><em>x</em></span> and <span class="emphasis"><em>y</em></span>. | ||
|  |     </p> | ||
|  | <pre class="programlisting"><span class="keyword">double</span> <span class="identifier">fmin</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">fminf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">fminl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | </pre> | ||
|  | <p> | ||
|  |       Returns the smaller (most negative) of <span class="emphasis"><em>x</em></span> and <span class="emphasis"><em>y</em></span>. | ||
|  |     </p> | ||
|  | <pre class="programlisting"><span class="keyword">double</span> <span class="identifier">hypot</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">hypotf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hypotl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | </pre> | ||
|  | <p> | ||
|  |       Returns <code class="computeroutput"><span class="identifier">sqrt</span><span class="special">(</span><span class="identifier">x</span><span class="special">*</span><span class="identifier">x</span> | ||
|  |       <span class="special">+</span> <span class="identifier">y</span><span class="special">*</span><span class="identifier">y</span><span class="special">)</span></code> | ||
|  |       without the danger of numeric overflow implied by that formulation. | ||
|  |     </p> | ||
|  | <p> | ||
|  |       See also <a class="link" href="powers/hypot.html" title="hypot">hypot</a> for the full | ||
|  |       template (header only) version of this function. | ||
|  |     </p> | ||
|  | <pre class="programlisting"><span class="keyword">double</span> <span class="identifier">lgamma</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">lgammaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">lgammal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | </pre> | ||
|  | <p> | ||
|  |       Returns the log of the gamma function of <span class="emphasis"><em>x</em></span>. | ||
|  |     </p> | ||
|  | <p> | ||
|  |       <span class="inlinemediaobject"><img src="../../equations/lgamm1.svg"></span> | ||
|  |     </p> | ||
|  | <p> | ||
|  |       See also <a class="link" href="sf_gamma/lgamma.html" title="Log Gamma">lgamma</a> for the | ||
|  |       full template (header only) version of this function. | ||
|  |     </p> | ||
|  | <pre class="programlisting"><span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llround</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llroundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llroundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | </pre> | ||
|  | <p> | ||
|  |       Returns the value <span class="emphasis"><em>x</em></span> rounded to the nearest integer as | ||
|  |       a <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">long</span></code>: | ||
|  |       equivalent to <code class="computeroutput"><span class="identifier">floor</span><span class="special">(</span><span class="identifier">x</span> <span class="special">+</span> <span class="number">0.5</span><span class="special">)</span></code> | ||
|  |     </p> | ||
|  | <p> | ||
|  |       See also <a class="link" href="rounding/round.html" title="Rounding Functions">round</a> for the full | ||
|  |       template (header only) version of this function. | ||
|  |     </p> | ||
|  | <pre class="programlisting"><span class="keyword">double</span> <span class="identifier">log1p</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">log1pf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">log1pl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | </pre> | ||
|  | <p> | ||
|  |       Returns the <code class="computeroutput"><span class="identifier">log</span><span class="special">(</span><span class="identifier">x</span><span class="special">+</span><span class="number">1</span><span class="special">)</span></code> without the loss of precision implied by that | ||
|  |       formulation. | ||
|  |     </p> | ||
|  | <p> | ||
|  |       See also <a class="link" href="powers/log1p.html" title="log1p">log1p</a> for the full | ||
|  |       template (header only) version of this function. | ||
|  |     </p> | ||
|  | <pre class="programlisting"><span class="keyword">long</span> <span class="identifier">lround</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="identifier">lroundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="identifier">lroundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | </pre> | ||
|  | <p> | ||
|  |       Returns the value <span class="emphasis"><em>x</em></span> rounded to the nearest integer as | ||
|  |       a <code class="computeroutput"><span class="keyword">long</span></code>: equivalent to <code class="computeroutput"><span class="identifier">floor</span><span class="special">(</span><span class="identifier">x</span> | ||
|  |       <span class="special">+</span> <span class="number">0.5</span><span class="special">)</span></code> | ||
|  |     </p> | ||
|  | <p> | ||
|  |       See also <a class="link" href="rounding/round.html" title="Rounding Functions">round</a> for the full | ||
|  |       template (header only) version of this function. | ||
|  |     </p> | ||
|  | <pre class="programlisting"><span class="keyword">double</span> <span class="identifier">nextafter</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">nextafterf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nextafterl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | </pre> | ||
|  | <p> | ||
|  |       Returns the next representable floating point number after <span class="emphasis"><em>x</em></span> | ||
|  |       in the direction of <span class="emphasis"><em>y</em></span>, or <span class="emphasis"><em>x</em></span> if <code class="computeroutput"><span class="identifier">x</span> <span class="special">==</span> <span class="identifier">y</span></code>. | ||
|  |     </p> | ||
|  | <pre class="programlisting"><span class="keyword">double</span> <span class="identifier">nexttoward</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">nexttowardf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nexttowardl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> | ||
|  | </pre> | ||
|  | <p> | ||
|  |       As <code class="computeroutput"><span class="identifier">nextafter</span></code>, but with <span class="emphasis"><em>y</em></span> | ||
|  |       always expressed as a <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>. | ||
|  |     </p> | ||
|  | <pre class="programlisting"><span class="keyword">double</span> <span class="identifier">round</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">roundf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">roundl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | </pre> | ||
|  | <p> | ||
|  |       Returns the value <span class="emphasis"><em>x</em></span> rounded to the nearest integer: equivalent | ||
|  |       to <code class="computeroutput"><span class="identifier">floor</span><span class="special">(</span><span class="identifier">x</span> <span class="special">+</span> <span class="number">0.5</span><span class="special">)</span></code> | ||
|  |     </p> | ||
|  | <p> | ||
|  |       See also <a class="link" href="rounding/round.html" title="Rounding Functions">round</a> for the full | ||
|  |       template (header only) version of this function. | ||
|  |     </p> | ||
|  | <pre class="programlisting"><span class="keyword">double</span> <span class="identifier">tgamma</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">tgammaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">tgammal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | </pre> | ||
|  | <p> | ||
|  |       Returns the gamma function of <span class="emphasis"><em>x</em></span>: | ||
|  |     </p> | ||
|  | <p> | ||
|  |       <span class="inlinemediaobject"><img src="../../equations/gamm1.svg"></span> | ||
|  |     </p> | ||
|  | <p> | ||
|  |       See also <a class="link" href="sf_gamma/tgamma.html" title="Gamma">tgamma</a> for the | ||
|  |       full template (header only) version of this function. | ||
|  |     </p> | ||
|  | <pre class="programlisting"><span class="keyword">double</span> <span class="identifier">trunc</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">float</span> <span class="identifier">truncf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">truncl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> | ||
|  | </pre> | ||
|  | <p> | ||
|  |       Returns <span class="emphasis"><em>x</em></span> truncated to the nearest integer. | ||
|  |     </p> | ||
|  | <p> | ||
|  |       See also <a class="link" href="rounding/trunc.html" title="Truncation Functions">trunc</a> for the full | ||
|  |       template (header only) version of this function. | ||
|  |     </p> | ||
|  | <p> | ||
|  |       See also <a href="http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1124.pdf" target="_top">C99 | ||
|  |       ISO Standard</a> | ||
|  |     </p> | ||
|  | </div> | ||
|  | <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> | ||
|  | <td align="left"></td> | ||
|  | <td align="right"><div class="copyright-footer">Copyright © 2006-2010, 2012-2014 Nikhar Agrawal, | ||
|  |       Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert | ||
|  |       Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Johan Råde, Gautam Sewani, | ||
|  |       Benjamin Sobotta, Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p> | ||
|  |         Distributed under the Boost Software License, Version 1.0. (See accompanying | ||
|  |         file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) | ||
|  |       </p> | ||
|  | </div></td> | ||
|  | </tr></table> | ||
|  | <hr> | ||
|  | <div class="spirit-nav"> | ||
|  | <a accesskey="p" href="main_tr1.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extern_c.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tr1_ref.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> | ||
|  | </div> | ||
|  | </body> | ||
|  | </html> |