mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-03 21:40:52 -05: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>
							 |