1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
|
<h1 id="firstHeading" class="firstHeading">Common mathematical functions</h1> <h3 id="Functions"> Functions</h3> <table class="t-dsc-begin"> <tr class="t-dsc-header"> <th colspan="2"> Defined in header <code><stdlib.h></code> </th>
</tr> <tr class="t-dsc"> <td> <div><a href="math/abs" title="c/numeric/math/abs"> <span class="t-lines"><span>abs</span><span>labs</span><span>llabs</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes absolute value of an integral value (\(\small{|x|}\)|x|) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/div" title="c/numeric/math/div"> <span class="t-lines"><span>div</span><span>ldiv</span><span>lldiv</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes quotient and remainder of integer division <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc-header"> <th colspan="2"> Defined in header <code><inttypes.h></code> </th>
</tr> <tr class="t-dsc"> <td> <div><a href="math/abs" title="c/numeric/math/abs"> <span class="t-lines"><span>imaxabs</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes absolute value of an integral value (\(\small{|x|}\)|x|) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/div" title="c/numeric/math/div"> <span class="t-lines"><span>imaxdiv</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes quotient and remainder of integer division <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc-header"> <th colspan="2"> Defined in header <code><math.h></code> </th>
</tr> <tr> <td colspan="2"> <h5 id="Basic_operations"> Basic operations </h5> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/fabs" title="c/numeric/math/fabs"> <span class="t-lines"><span>fabs</span><span>fabsf</span><span>fabsl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes absolute value of a floating-point value (\(\small{|x|}\)|x|) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/fmod" title="c/numeric/math/fmod"> <span class="t-lines"><span>fmod</span><span>fmodf</span><span>fmodl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes remainder of the floating-point division operation <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/remainder" title="c/numeric/math/remainder"> <span class="t-lines"><span>remainder</span><span>remainderf</span><span>remainderl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes signed remainder of the floating-point division operation <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/remquo" title="c/numeric/math/remquo"> <span class="t-lines"><span>remquo</span><span>remquof</span><span>remquol</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes signed remainder as well as the three last bits of the division operation <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/fma" title="c/numeric/math/fma"> <span class="t-lines"><span>fma</span><span>fmaf</span><span>fmal</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes fused multiply-add operation <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/fmax" title="c/numeric/math/fmax"> <span class="t-lines"><span>fmax</span><span>fmaxf</span><span>fmaxl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> determines larger of two floating-point values <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/fmin" title="c/numeric/math/fmin"> <span class="t-lines"><span>fmin</span><span>fminf</span><span>fminl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> determines smaller of two floating-point values <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/fdim" title="c/numeric/math/fdim"> <span class="t-lines"><span>fdim</span><span>fdimf</span><span>fdiml</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> determines positive difference of two floating-point values (\({\small\max{(0, x-y)} }\)max(0, x-y)) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/nan" title="c/numeric/math/nan"> <span class="t-lines"><span>nan</span><span>nanf</span><span>nanl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> returns a NaN (not-a-number) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr> <td colspan="2"> <h5 id="Exponential_functions"> Exponential functions </h5> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/exp" title="c/numeric/math/exp"> <span class="t-lines"><span>exp</span><span>expf</span><span>expl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes <i>e</i> raised to the given power (\({\small e^x}\)e<sup>x</sup>) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/exp2" title="c/numeric/math/exp2"> <span class="t-lines"><span>exp2</span><span>exp2f</span><span>exp2l</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes <i>2</i> raised to the given power (\({\small 2^x}\)2<sup>x</sup>) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/expm1" title="c/numeric/math/expm1"> <span class="t-lines"><span>expm1</span><span>expm1f</span><span>expm1l</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes <i>e</i> raised to the given power, minus one (\({\small e^x-1}\)e<sup>x</sup>-1) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/log" title="c/numeric/math/log"> <span class="t-lines"><span>log</span><span>logf</span><span>logl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes natural (base-<i>e</i>) logarithm (\({\small \ln{x} }\)ln(x)) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/log10" title="c/numeric/math/log10"> <span class="t-lines"><span>log10</span><span>log10f</span><span>log10l</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes common (base-<i>10</i>) logarithm (\({\small \log_{10}{x} }\)log<sub>10</sub>(x)) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/log2" title="c/numeric/math/log2"> <span class="t-lines"><span>log2</span><span>log2f</span><span>log2l</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes base-2 logarithm (\({\small \log_{2}{x} }\)log<sub>2</sub>(x)) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/log1p" title="c/numeric/math/log1p"> <span class="t-lines"><span>log1p</span><span>log1pf</span><span>log1pl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes natural (base-<i>e</i>) logarithm of 1 plus the given number (\({\small \ln{(1+x)} }\)ln(1+x)) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr> <td colspan="2"> <h5 id="Power_functions"> Power functions </h5> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/pow" title="c/numeric/math/pow"> <span class="t-lines"><span>pow</span><span>powf</span><span>powl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes a number raised to the given power (\(\small{x^y}\)x<sup>y</sup>) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/sqrt" title="c/numeric/math/sqrt"> <span class="t-lines"><span>sqrt</span><span>sqrtf</span><span>sqrtl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes square root (\(\small{\sqrt{x} }\)<span class="t-mrad"><span>√</span><span>x</span></span>) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/cbrt" title="c/numeric/math/cbrt"> <span class="t-lines"><span>cbrt</span><span>cbrtf</span><span>cbrtl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes cube root (\(\small{\sqrt[3]{x} }\)<span class="t-mrad"><span>3</span><span>√</span><span>x</span></span>) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/hypot" title="c/numeric/math/hypot"> <span class="t-lines"><span>hypot</span><span>hypotf</span><span>hypotl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes square root of the sum of the squares of two given numbers (\(\scriptsize{\sqrt{x^2+y^2} }\)<span class="t-mrad"><span>√</span><span>x<sup class="t-su">2</sup>+y<sup class="t-su">2</sup></span></span>) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr> <td colspan="2"> <h5 id="Trigonometric_functions"> Trigonometric functions </h5> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/sin" title="c/numeric/math/sin"> <span class="t-lines"><span>sin</span><span>sinf</span><span>sinl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes sine (\({\small\sin{x} }\)sin(x)) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/cos" title="c/numeric/math/cos"> <span class="t-lines"><span>cos</span><span>cosf</span><span>cosl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes cosine (\({\small\cos{x} }\)cos(x)) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/tan" title="c/numeric/math/tan"> <span class="t-lines"><span>tan</span><span>tanf</span><span>tanl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes tangent (\({\small\tan{x} }\)tan(x)) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/asin" title="c/numeric/math/asin"> <span class="t-lines"><span>asin</span><span>asinf</span><span>asinl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes arc sine (\({\small\arcsin{x} }\)arcsin(x)) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/acos" title="c/numeric/math/acos"> <span class="t-lines"><span>acos</span><span>acosf</span><span>acosl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes arc cosine (\({\small\arccos{x} }\)arccos(x)) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/atan" title="c/numeric/math/atan"> <span class="t-lines"><span>atan</span><span>atanf</span><span>atanl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes arc tangent (\({\small\arctan{x} }\)arctan(x)) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/atan2" title="c/numeric/math/atan2"> <span class="t-lines"><span>atan2</span><span>atan2f</span><span>atan2l</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes arc tangent, using signs to determine quadrants <br> <span class="t-mark">(function)</span> </td>
</tr> <tr> <td colspan="2"> <h5 id="Hyperbolic_functions"> Hyperbolic functions </h5> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/sinh" title="c/numeric/math/sinh"> <span class="t-lines"><span>sinh</span><span>sinhf</span><span>sinhl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes hyperbolic sine (\({\small\sinh{x} }\)sinh(x)) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/cosh" title="c/numeric/math/cosh"> <span class="t-lines"><span>cosh</span><span>coshf</span><span>coshl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes hyperbolic cosine (\({\small\cosh{x} }\)cosh(x)) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/tanh" title="c/numeric/math/tanh"> <span class="t-lines"><span>tanh</span><span>tanhf</span><span>tanhl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes hyperbolic tangent (\({\small\tanh{x} }\)tanh(x)) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/asinh" title="c/numeric/math/asinh"> <span class="t-lines"><span>asinh</span><span>asinhf</span><span>asinhl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes inverse hyperbolic sine (\({\small\operatorname{arsinh}{x} }\)arsinh(x)) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/acosh" title="c/numeric/math/acosh"> <span class="t-lines"><span>acosh</span><span>acoshf</span><span>acoshl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes inverse hyperbolic cosine (\({\small\operatorname{arcosh}{x} }\)arcosh(x)) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/atanh" title="c/numeric/math/atanh"> <span class="t-lines"><span>atanh</span><span>atanhf</span><span>atanhl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes inverse hyperbolic tangent (\({\small\operatorname{artanh}{x} }\)artanh(x)) <br> <span class="t-mark">(function)</span> </td>
</tr> <tr> <td colspan="2"> <h5 id="Error_and_gamma_functions"> Error and gamma functions </h5> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/erf" title="c/numeric/math/erf"> <span class="t-lines"><span>erf</span><span>erff</span><span>erfl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes error function <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/erfc" title="c/numeric/math/erfc"> <span class="t-lines"><span>erfc</span><span>erfcf</span><span>erfcl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes complementary error function <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/tgamma" title="c/numeric/math/tgamma"> <span class="t-lines"><span>tgamma</span><span>tgammaf</span><span>tgammal</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes gamma function <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/lgamma" title="c/numeric/math/lgamma"> <span class="t-lines"><span>lgamma</span><span>lgammaf</span><span>lgammal</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes natural (base-<i>e</i>) logarithm of the gamma function <br> <span class="t-mark">(function)</span> </td>
</tr> <tr> <td colspan="2"> <h5 id="Nearest_integer_floating-point_operations"> Nearest integer floating-point operations </h5> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/ceil" title="c/numeric/math/ceil"> <span class="t-lines"><span>ceil</span><span>ceilf</span><span>ceill</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes smallest integer not less than the given value <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/floor" title="c/numeric/math/floor"> <span class="t-lines"><span>floor</span><span>floorf</span><span>floorl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes largest integer not greater than the given value <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/trunc" title="c/numeric/math/trunc"> <span class="t-lines"><span>trunc</span><span>truncf</span><span>truncl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> rounds to nearest integer not greater in magnitude than the given value <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/round" title="c/numeric/math/round"> <span class="t-lines"><span>round</span><span>roundf</span><span>roundl</span><span>lround</span><span>lroundf</span><span>lroundl</span><span>llround</span><span>llroundf</span><span>llroundl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> rounds to nearest integer, rounding away from zero in halfway cases <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/nearbyint" title="c/numeric/math/nearbyint"> <span class="t-lines"><span>nearbyint</span><span>nearbyintf</span><span>nearbyintl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> rounds to an integer using current rounding mode <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/rint" title="c/numeric/math/rint"> <span class="t-lines"><span>rint</span><span>rintf</span><span>rintl</span><span>lrint</span><span>lrintf</span><span>lrintl</span><span>llrint</span><span>llrintf</span><span>llrintl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> rounds to an integer using current rounding mode with <br> exception if the result differs <br> <span class="t-mark">(function)</span> </td>
</tr> <tr> <td colspan="2"> <h5 id="Floating-point_manipulation_functions"> Floating-point manipulation functions </h5> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/frexp" title="c/numeric/math/frexp"> <span class="t-lines"><span>frexp</span><span>frexpf</span><span>frexpl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> breaks a number into significand and a power of <code>2</code> <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/ldexp" title="c/numeric/math/ldexp"> <span class="t-lines"><span>ldexp</span><span>ldexpf</span><span>ldexpl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> multiplies a number by <code>2</code> raised to a power <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/modf" title="c/numeric/math/modf"> <span class="t-lines"><span>modf</span><span>modff</span><span>modfl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> breaks a number into integer and fractional parts <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/scalbn" title="c/numeric/math/scalbn"> <span class="t-lines"><span>scalbn</span><span>scalbnf</span><span>scalbnl</span><span>scalbln</span><span>scalblnf</span><span>scalblnl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> computes efficiently a number times <code><a href="../types/limits" title="c/types/limits">FLT_RADIX</a></code> raised to a power <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/ilogb" title="c/numeric/math/ilogb"> <span class="t-lines"><span>ilogb</span><span>ilogbf</span><span>ilogbl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> extracts exponent of the given number <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/logb" title="c/numeric/math/logb"> <span class="t-lines"><span>logb</span><span>logbf</span><span>logbl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> extracts exponent of the given number <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/nextafter" title="c/numeric/math/nextafter"> <span class="t-lines"><span>nextafter</span><span>nextafterf</span><span>nextafterl</span><span>nexttoward</span><span>nexttowardf</span><span>nexttowardl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> determines next representable floating-point value towards the given value <br> <span class="t-mark">(function)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/copysign" title="c/numeric/math/copysign"> <span class="t-lines"><span>copysign</span><span>copysignf</span><span>copysignl</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> produces a value with the magnitude of a given value and the sign of another given value <br> <span class="t-mark">(function)</span> </td>
</tr> <tr> <td colspan="2"> <h5 id="Classification_and_comparison"> Classification and comparison </h5> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/fpclassify" title="c/numeric/math/fpclassify"> <span class="t-lines"><span>fpclassify</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> classifies the given floating-point value <br> <span class="t-mark">(function macro)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/isfinite" title="c/numeric/math/isfinite"> <span class="t-lines"><span>isfinite</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> checks if the given number has finite value <br> <span class="t-mark">(function macro)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/isinf" title="c/numeric/math/isinf"> <span class="t-lines"><span>isinf</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> checks if the given number is infinite <br> <span class="t-mark">(function macro)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/isnan" title="c/numeric/math/isnan"> <span class="t-lines"><span>isnan</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> checks if the given number is NaN <br> <span class="t-mark">(function macro)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/isnormal" title="c/numeric/math/isnormal"> <span class="t-lines"><span>isnormal</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> checks if the given number is normal <br> <span class="t-mark">(function macro)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/signbit" title="c/numeric/math/signbit"> <span class="t-lines"><span>signbit</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> checks if the given number is negative <br> <span class="t-mark">(function macro)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/isgreater" title="c/numeric/math/isgreater"> <span class="t-lines"><span>isgreater</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> checks if the first floating-point argument is greater than the second <br> <span class="t-mark">(function macro)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/isgreaterequal" title="c/numeric/math/isgreaterequal"> <span class="t-lines"><span>isgreaterequal</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> checks if the first floating-point argument is greater or equal than the second <br> <span class="t-mark">(function macro)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/isless" title="c/numeric/math/isless"> <span class="t-lines"><span>isless</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> checks if the first floating-point argument is less than the second <br> <span class="t-mark">(function macro)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/islessequal" title="c/numeric/math/islessequal"> <span class="t-lines"><span>islessequal</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> checks if the first floating-point argument is less or equal than the second <br> <span class="t-mark">(function macro)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/islessgreater" title="c/numeric/math/islessgreater"> <span class="t-lines"><span>islessgreater</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> checks if the first floating-point argument is less or greater than the second <br> <span class="t-mark">(function macro)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/isunordered" title="c/numeric/math/isunordered"> <span class="t-lines"><span>isunordered</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> checks if two floating-point values are unordered <br> <span class="t-mark">(function macro)</span> </td>
</tr> </table> <h3 id="Types"> Types</h3> <table class="t-dsc-begin"> <tr class="t-dsc-header"> <th colspan="2"> Defined in header <code><stdlib.h></code> </th>
</tr> <tr class="t-dsc"> <td> <div><a href="math/div" title="c/numeric/math/div"> <span class="t-lines"><span>div_t</span></span></a></div> </td> <td> structure type, return of the <code><a href="http://en.cppreference.com/w/c/numeric/math/div"><span class="kw645">div</span></a></code> function <br> <span class="t-mark">(typedef)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/div" title="c/numeric/math/div"> <span class="t-lines"><span>ldiv_t</span></span></a></div> </td> <td> structure type, return of the <code><a href="http://en.cppreference.com/w/c/numeric/math/div"><span class="kw646">ldiv</span></a></code> function <br> <span class="t-mark">(typedef)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/div" title="c/numeric/math/div"> <span class="t-lines"><span>lldiv_t</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> structure type, return of the <code>lldiv</code> function <br> <span class="t-mark">(typedef)</span> </td>
</tr> <tr class="t-dsc-header"> <th colspan="2"> Defined in header <code><inttypes.h></code> </th>
</tr> <tr class="t-dsc"> <td> <div><a href="math/div" title="c/numeric/math/div"> <span class="t-lines"><span>imaxdiv_t</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> structure type, return of the <code>imaxdiv</code> function <br> <span class="t-mark">(typedef)</span> </td>
</tr> <tr class="t-dsc-header"> <th colspan="2"> Defined in header <code><math.h></code> </th>
</tr> <tr class="t-dsc"> <td> <div><a href="math/float_t" title="c/numeric/math/float t"> <span class="t-lines"><span>float_t</span><span>double_t</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> most efficient floating-point type at least as wide as <code>float</code> or <code>double</code> <br> <span class="t-mark">(typedef)</span> </td>
</tr> </table> <h3 id="Macro_constants"> Macro constants</h3> <table class="t-dsc-begin"> <tr class="t-dsc-header"> <th colspan="2"> Defined in header <code><math.h></code> </th>
</tr> <tr class="t-dsc"> <td> <div><a href="math/huge_val" title="c/numeric/math/HUGE VAL"> <span class="t-lines"><span>HUGE_VALF</span><span>HUGE_VAL</span><span>HUGE_VALL</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> indicates value too big to be representable (infinity) by <code>float</code>, <code>double</code> and <code>long double</code> respectively <br> <span class="t-mark">(macro constant)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/infinity" title="c/numeric/math/INFINITY"> <span class="t-lines"><span>INFINITY</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> evaluates to positive infinity or the value guaranteed to overflow a <code>float</code> <br> <span class="t-mark">(macro constant)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/nan" title="c/numeric/math/NAN"> <span class="t-lines"><span>NAN</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> evaluates to a quiet NaN of type <code>float</code> <br> <span class="t-mark">(macro constant)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/fma" title="c/numeric/math/fma"> <span class="t-lines"><span>FP_FAST_FMAF</span><span>FP_FAST_FMA</span><span>FP_FAST_FMAL</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> indicates that the fma function generally executes about as fast as, or faster than, a multiply and an add of double operands <br> <span class="t-mark">(macro constant)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/ilogb" title="c/numeric/math/ilogb"> <span class="t-lines"><span>FP_ILOGB0</span><span>FP_ILOGBNAN</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> evaluates to ilogb(x) if x is zero or NaN, respectively <br> <span class="t-mark">(macro constant)</span> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/math_errhandling" title="c/numeric/math/math errhandling"> <span class="t-lines"><span>math_errhandling</span><span>MATH_ERRNO</span><span>MATH_ERREXCEPT</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> defines the error handling mechanism used by the common mathematical functions <br> <span class="t-mark">(macro constant)</span> </td>
</tr> <tr> <td colspan="2"> <h5 id="Classification"> Classification </h5> </td>
</tr> <tr class="t-dsc"> <td> <div><a href="math/fp_categories" title="c/numeric/math/FP categories"> <span class="t-lines"><span>FP_NORMAL</span><span>FP_SUBNORMAL</span><span>FP_ZERO</span><span>FP_INFINITE</span><span>FP_NAN</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span><span><span class="t-mark-rev t-since-c99">(C99)</span></span></span></div> </td> <td> indicates a floating-point category <br> <span class="t-mark">(macro constant)</span> </td>
</tr> </table> <h3 id="References"> References</h3> <ul>
<li> C17 standard (ISO/IEC 9899:2018): </li>
<ul>
<li> 7.8 Format conversion of integer types <inttypes.h> (p: 158-160) </li>
<li> 7.12 Mathematics <math.h> (p: 169-190) </li>
<li> 7.22 General utilities <stdlib.h> (p: 248-262) </li>
<li> 7.31.5 Format conversion of integer types <inttypes.h> (p: 332) </li>
<li> 7.31.12 General utilities <stdlib.h> (p: 333) </li>
</ul>
<li> C11 standard (ISO/IEC 9899:2011): </li>
<ul>
<li> 7.8 Format conversion of integer types <inttypes.h> (p: 217-220) </li>
<li> 7.12 Mathematics <math.h> (p: 231-261) </li>
<li> 7.22 General utilities <stdlib.h> (p: 340-360) </li>
<li> 7.31.5 Format conversion of integer types <inttypes.h> (p: 455) </li>
<li> 7.31.12 General utilities <stdlib.h> (p: 456) </li>
</ul>
<li> C99 standard (ISO/IEC 9899:1999): </li>
<ul>
<li> 7.8 Format conversion of integer types <inttypes.h> (p: 198-201) </li>
<li> 7.12 Mathematics <math.h> (p: 212-242) </li>
<li> 7.20 General utilities <stdlib.h> (p: 306-324) </li>
<li> 7.26.4 Format conversion of integer types <inttypes.h> (p: 401) </li>
<li> 7.26.10 General utilities <stdlib.h> (p: 402) </li>
</ul>
<li> C89/C90 standard (ISO/IEC 9899:1990): </li>
<ul>
<li> 4.5 MATHEMATICS <math.h> </li>
<li> 4.10 GENERAL UTILITIES <stdlib.h> </li>
<li> 4.13.4 Mathematics <math.h> </li>
<li> 7.13.7 General utilities <stdlib.h> </li>
</ul>
</ul> <h3 id="See_also"> See also</h3> <table class="t-dsc-begin"> <tr class="t-dsc"> <td colspan="2"> <span><a href="https://en.cppreference.com/w/cpp/numeric/math" title="cpp/numeric/math">C++ documentation</a></span> for <span class=""><span>Common mathematical functions</span></span> </td>
</tr> </table> <div class="_attribution">
<p class="_attribution-p">
© cppreference.com<br>Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.<br>
<a href="https://en.cppreference.com/w/c/numeric/math" class="_attribution-link">https://en.cppreference.com/w/c/numeric/math</a>
</p>
</div>
|