summaryrefslogtreecommitdiffstats
path: root/libm.html
diff options
authorJeff Johnston <jjohnstn@redhat.com>2010-12-16 22:49:51 +0000
committerJeff Johnston <jjohnstn@redhat.com>2010-12-16 22:49:51 +0000
commitb2b6e9a79c557025a7ec240a360e044f2b3a8dcc (patch)
treed94eacec27a3d6f1c5def86c0a9f22b794654a0e /libm.html
parenttemporary file (diff)
2010-12-16 Jeff Johnston <jjohnstn@redhat.com>
* COPYING.NEWLIB: Updated with 1.19 version. * COPYING.LIBGLOSS: Ditto. * README: Ditto. * news.html: Ditto.
Diffstat (limited to 'libm.html')
-rw-r--r--libm.html1049
1 files changed, 967 insertions, 82 deletions
diff --git a/libm.html b/libm.html
index acc0f81..b47dd7b 100644
--- a/libm.html
+++ b/libm.html
@@ -1,6 +1,6 @@
1<div class="node"> 1<div class="node">
2<p><hr>
3<a name="Top"></a> 2<a name="Top"></a>
3<p><hr>
4Up:&nbsp;<a rel="up" accesskey="u" href="#dir">(dir)</a> 4Up:&nbsp;<a rel="up" accesskey="u" href="#dir">(dir)</a>
5 5
6</div> 6</div>
@@ -12,7 +12,7 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#dir">(dir)</a>
12<title>Untitled</title> 12<title>Untitled</title>
13<meta http-equiv="Content-Type" content="text/html"> 13<meta http-equiv="Content-Type" content="text/html">
14<meta name="description" content="Untitled"> 14<meta name="description" content="Untitled">
15<meta name="generator" content="makeinfo 4.12"> 15<meta name="generator" content="makeinfo 4.13">
16<link title="Top" rel="top" href="#Top"> 16<link title="Top" rel="top" href="#Top">
17<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> 17<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
18<meta http-equiv="Content-Style-Type" content="text/css"> 18<meta http-equiv="Content-Style-Type" content="text/css">
@@ -31,15 +31,16 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#dir">(dir)</a>
31<body> 31<body>
32<ul class="menu"> 32<ul class="menu">
33<li><a accesskey="1" href="#Math">Math</a>: The mathematical functions (`math.h'). 33<li><a accesskey="1" href="#Math">Math</a>: The mathematical functions (`math.h').
34<li><a accesskey="2" href="#Reentrancy">Reentrancy</a>: The functions in libm are not reentrant by default. 34<li><a accesskey="2" href="#Complex">Complex</a>: The mathematical complex functions (`complex.h').
35<li><a accesskey="3" href="#Long-Double-Functions">Long Double Functions</a>: The long double function support of libm. 35<li><a accesskey="3" href="#Reentrancy">Reentrancy</a>: The functions in libm are not reentrant by default.
36<li><a accesskey="4" href="#Index">Index</a> 36<li><a accesskey="4" href="#Long-Double-Functions">Long Double Functions</a>: The long double function support of libm.
37<li><a accesskey="5" href="#Index">Index</a>
37</ul> 38</ul>
38 39
39<div class="node"> 40<div class="node">
40<p><hr>
41<a name="Math"></a> 41<a name="Math"></a>
42Next:&nbsp;<a rel="next" accesskey="n" href="#Reentrancy">Reentrancy</a>, 42<p><hr>
43Next:&nbsp;<a rel="next" accesskey="n" href="#Complex">Complex</a>,
43Previous:&nbsp;<a rel="previous" accesskey="p" href="#Top">Top</a>, 44Previous:&nbsp;<a rel="previous" accesskey="p" href="#Top">Top</a>,
44Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a> 45Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
45 46
@@ -136,8 +137,8 @@ machines&mdash;are available when you include <samp><span class="file">fastmath.
136</ul> 137</ul>
137 138
138<div class="node"> 139<div class="node">
139<p><hr>
140<a name="version"></a> 140<a name="version"></a>
141<p><hr>
141Next:&nbsp;<a rel="next" accesskey="n" href="#acos">acos</a>, 142Next:&nbsp;<a rel="next" accesskey="n" href="#acos">acos</a>,
142Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 143Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
143 144
@@ -207,8 +208,8 @@ registered trademark of The IEEE.
207<!-- to reflect function name of Bessel (as opposed to j; e.g. after atanh, --> 208<!-- to reflect function name of Bessel (as opposed to j; e.g. after atanh, -->
208<!-- before cbrt). --> 209<!-- before cbrt). -->
209<div class="node"> 210<div class="node">
210<p><hr>
211<a name="acos"></a> 211<a name="acos"></a>
212<p><hr>
212Next:&nbsp;<a rel="next" accesskey="n" href="#acosh">acosh</a>, 213Next:&nbsp;<a rel="next" accesskey="n" href="#acosh">acosh</a>,
213Previous:&nbsp;<a rel="previous" accesskey="p" href="#version">version</a>, 214Previous:&nbsp;<a rel="previous" accesskey="p" href="#version">version</a>,
214Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 215Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -244,8 +245,8 @@ its calculations on <code>floats</code>.
244 <p><br> 245 <p><br>
245 246
246<div class="node"> 247<div class="node">
247<p><hr>
248<a name="acosh"></a> 248<a name="acosh"></a>
249<p><hr>
249Next:&nbsp;<a rel="next" accesskey="n" href="#asin">asin</a>, 250Next:&nbsp;<a rel="next" accesskey="n" href="#asin">asin</a>,
250Previous:&nbsp;<a rel="previous" accesskey="p" href="#acos">acos</a>, 251Previous:&nbsp;<a rel="previous" accesskey="p" href="#acos">acos</a>,
251Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 252Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -285,8 +286,8 @@ for portable programs.
285 <p><br> 286 <p><br>
286 287
287<div class="node"> 288<div class="node">
288<p><hr>
289<a name="asin"></a> 289<a name="asin"></a>
290<p><hr>
290Next:&nbsp;<a rel="next" accesskey="n" href="#asinh">asinh</a>, 291Next:&nbsp;<a rel="next" accesskey="n" href="#asinh">asinh</a>,
291Previous:&nbsp;<a rel="previous" accesskey="p" href="#acosh">acosh</a>, 292Previous:&nbsp;<a rel="previous" accesskey="p" href="#acosh">acosh</a>,
292Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 293Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -324,8 +325,8 @@ return NaN (not a number), set the global variable <code>errno</code> to
324 <p><br> 325 <p><br>
325 326
326<div class="node"> 327<div class="node">
327<p><hr>
328<a name="asinh"></a> 328<a name="asinh"></a>
329<p><hr>
329Next:&nbsp;<a rel="next" accesskey="n" href="#atan">atan</a>, 330Next:&nbsp;<a rel="next" accesskey="n" href="#atan">atan</a>,
330Previous:&nbsp;<a rel="previous" accesskey="p" href="#asin">asin</a>, 331Previous:&nbsp;<a rel="previous" accesskey="p" href="#asin">asin</a>,
331Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 332Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -358,8 +359,8 @@ Neither <code>asinh</code> nor <code>asinhf</code> are ANSI C.
358 <p><br> 359 <p><br>
359 360
360<div class="node"> 361<div class="node">
361<p><hr>
362<a name="atan"></a> 362<a name="atan"></a>
363<p><hr>
363Next:&nbsp;<a rel="next" accesskey="n" href="#atan2">atan2</a>, 364Next:&nbsp;<a rel="next" accesskey="n" href="#atan2">atan2</a>,
364Previous:&nbsp;<a rel="previous" accesskey="p" href="#asinh">asinh</a>, 365Previous:&nbsp;<a rel="previous" accesskey="p" href="#asinh">asinh</a>,
365Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 366Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -391,8 +392,8 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
391 <p><br> 392 <p><br>
392 393
393<div class="node"> 394<div class="node">
394<p><hr>
395<a name="atan2"></a> 395<a name="atan2"></a>
396<p><hr>
396Next:&nbsp;<a rel="next" accesskey="n" href="#atanh">atanh</a>, 397Next:&nbsp;<a rel="next" accesskey="n" href="#atanh">atanh</a>,
397Previous:&nbsp;<a rel="previous" accesskey="p" href="#atan">atan</a>, 398Previous:&nbsp;<a rel="previous" accesskey="p" href="#atan">atan</a>,
398Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 399Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -431,8 +432,8 @@ pi/2 or -pi/2
431 <p><br> 432 <p><br>
432 433
433<div class="node"> 434<div class="node">
434<p><hr>
435<a name="atanh"></a> 435<a name="atanh"></a>
436<p><hr>
436Next:&nbsp;<a rel="next" accesskey="n" href="#jN">jN</a>, 437Next:&nbsp;<a rel="next" accesskey="n" href="#jN">jN</a>,
437Previous:&nbsp;<a rel="previous" accesskey="p" href="#atan2">atan2</a>, 438Previous:&nbsp;<a rel="previous" accesskey="p" href="#atan2">atan2</a>,
438Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 439Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -479,8 +480,8 @@ Neither <code>atanh</code> nor <code>atanhf</code> are ANSI C.
479 <p><br> 480 <p><br>
480 481
481<div class="node"> 482<div class="node">
482<p><hr>
483<a name="jN"></a> 483<a name="jN"></a>
484<p><hr>
484Next:&nbsp;<a rel="next" accesskey="n" href="#cbrt">cbrt</a>, 485Next:&nbsp;<a rel="next" accesskey="n" href="#cbrt">cbrt</a>,
485Previous:&nbsp;<a rel="previous" accesskey="p" href="#atanh">atanh</a>, 486Previous:&nbsp;<a rel="previous" accesskey="p" href="#atanh">atanh</a>,
486Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 487Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -535,8 +536,8 @@ None of the Bessel functions are in ANSI C.
535 <p><br> 536 <p><br>
536 537
537<div class="node"> 538<div class="node">
538<p><hr>
539<a name="cbrt"></a> 539<a name="cbrt"></a>
540<p><hr>
540Next:&nbsp;<a rel="next" accesskey="n" href="#copysign">copysign</a>, 541Next:&nbsp;<a rel="next" accesskey="n" href="#copysign">copysign</a>,
541Previous:&nbsp;<a rel="previous" accesskey="p" href="#jN">jN</a>, 542Previous:&nbsp;<a rel="previous" accesskey="p" href="#jN">jN</a>,
542Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 543Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -565,8 +566,8 @@ The cube root is returned.
565 <p><br> 566 <p><br>
566 567
567<div class="node"> 568<div class="node">
568<p><hr>
569<a name="copysign"></a> 569<a name="copysign"></a>
570<p><hr>
570Next:&nbsp;<a rel="next" accesskey="n" href="#cosh">cosh</a>, 571Next:&nbsp;<a rel="next" accesskey="n" href="#cosh">cosh</a>,
571Previous:&nbsp;<a rel="previous" accesskey="p" href="#cbrt">cbrt</a>, 572Previous:&nbsp;<a rel="previous" accesskey="p" href="#cbrt">cbrt</a>,
572Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 573Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -604,8 +605,8 @@ Definition (Issue 2).
604 <p><br> 605 <p><br>
605 606
606<div class="node"> 607<div class="node">
607<p><hr>
608<a name="cosh"></a> 608<a name="cosh"></a>
609<p><hr>
609Next:&nbsp;<a rel="next" accesskey="n" href="#erf">erf</a>, 610Next:&nbsp;<a rel="next" accesskey="n" href="#erf">erf</a>,
610Previous:&nbsp;<a rel="previous" accesskey="p" href="#copysign">copysign</a>, 611Previous:&nbsp;<a rel="previous" accesskey="p" href="#copysign">copysign</a>,
611Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 612Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -646,8 +647,8 @@ function <code>matherr</code>.
646 <p><br> 647 <p><br>
647 648
648<div class="node"> 649<div class="node">
649<p><hr>
650<a name="erf"></a> 650<a name="erf"></a>
651<p><hr>
651Next:&nbsp;<a rel="next" accesskey="n" href="#exp">exp</a>, 652Next:&nbsp;<a rel="next" accesskey="n" href="#exp">exp</a>,
652Previous:&nbsp;<a rel="previous" accesskey="p" href="#cosh">cosh</a>, 653Previous:&nbsp;<a rel="previous" accesskey="p" href="#cosh">cosh</a>,
653Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 654Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -689,8 +690,8 @@ None of the variants of <code>erf</code> are ANSI C.
689 <p><br> 690 <p><br>
690 691
691<div class="node"> 692<div class="node">
692<p><hr>
693<a name="exp"></a> 693<a name="exp"></a>
694<p><hr>
694Next:&nbsp;<a rel="next" accesskey="n" href="#exp2">exp2</a>, 695Next:&nbsp;<a rel="next" accesskey="n" href="#exp2">exp2</a>,
695Previous:&nbsp;<a rel="previous" accesskey="p" href="#erf">erf</a>, 696Previous:&nbsp;<a rel="previous" accesskey="p" href="#erf">erf</a>,
696Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 697Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -727,8 +728,8 @@ either case, <code>errno</code> is set to <code>ERANGE</code>.
727 <p><br> 728 <p><br>
728 729
729<div class="node"> 730<div class="node">
730<p><hr>
731<a name="exp2"></a> 731<a name="exp2"></a>
732<p><hr>
732Next:&nbsp;<a rel="next" accesskey="n" href="#expm1">expm1</a>, 733Next:&nbsp;<a rel="next" accesskey="n" href="#expm1">expm1</a>,
733Previous:&nbsp;<a rel="previous" accesskey="p" href="#exp">exp</a>, 734Previous:&nbsp;<a rel="previous" accesskey="p" href="#exp">exp</a>,
734Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 735Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -764,8 +765,8 @@ ANSI C, POSIX.
764 <p><br> 765 <p><br>
765 766
766<div class="node"> 767<div class="node">
767<p><hr>
768<a name="expm1"></a> 768<a name="expm1"></a>
769<p><hr>
769Next:&nbsp;<a rel="next" accesskey="n" href="#fabs">fabs</a>, 770Next:&nbsp;<a rel="next" accesskey="n" href="#fabs">fabs</a>,
770Previous:&nbsp;<a rel="previous" accesskey="p" href="#exp2">exp2</a>, 771Previous:&nbsp;<a rel="previous" accesskey="p" href="#exp2">exp2</a>,
771Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 772Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -801,8 +802,8 @@ the System V Interface Definition (Issue 2).
801 <p><br> 802 <p><br>
802 803
803<div class="node"> 804<div class="node">
804<p><hr>
805<a name="fabs"></a> 805<a name="fabs"></a>
806<p><hr>
806Next:&nbsp;<a rel="next" accesskey="n" href="#fdim">fdim</a>, 807Next:&nbsp;<a rel="next" accesskey="n" href="#fdim">fdim</a>,
807Previous:&nbsp;<a rel="previous" accesskey="p" href="#expm1">expm1</a>, 808Previous:&nbsp;<a rel="previous" accesskey="p" href="#expm1">expm1</a>,
808Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 809Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -834,8 +835,8 @@ The calculated value is returned. No errors are detected.
834 <p><br> 835 <p><br>
835 836
836<div class="node"> 837<div class="node">
837<p><hr>
838<a name="fdim"></a> 838<a name="fdim"></a>
839<p><hr>
839Next:&nbsp;<a rel="next" accesskey="n" href="#floor">floor</a>, 840Next:&nbsp;<a rel="next" accesskey="n" href="#floor">floor</a>,
840Previous:&nbsp;<a rel="previous" accesskey="p" href="#fabs">fabs</a>, 841Previous:&nbsp;<a rel="previous" accesskey="p" href="#fabs">fabs</a>,
841Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 842Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -872,8 +873,8 @@ ANSI C, POSIX.
872 <p><br> 873 <p><br>
873 874
874<div class="node"> 875<div class="node">
875<p><hr>
876<a name="floor"></a> 876<a name="floor"></a>
877<p><hr>
877Next:&nbsp;<a rel="next" accesskey="n" href="#fma">fma</a>, 878Next:&nbsp;<a rel="next" accesskey="n" href="#fma">fma</a>,
878Previous:&nbsp;<a rel="previous" accesskey="p" href="#fdim">fdim</a>, 879Previous:&nbsp;<a rel="previous" accesskey="p" href="#fdim">fdim</a>,
879Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 880Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -909,8 +910,8 @@ the nearest integer greater than or equal to <var>x</var>.
909 <p><br> 910 <p><br>
910 911
911<div class="node"> 912<div class="node">
912<p><hr>
913<a name="fma"></a> 913<a name="fma"></a>
914<p><hr>
914Next:&nbsp;<a rel="next" accesskey="n" href="#fmax">fmax</a>, 915Next:&nbsp;<a rel="next" accesskey="n" href="#fmax">fmax</a>,
915Previous:&nbsp;<a rel="previous" accesskey="p" href="#floor">floor</a>, 916Previous:&nbsp;<a rel="previous" accesskey="p" href="#floor">floor</a>,
916Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 917Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -954,8 +955,8 @@ ANSI C, POSIX.
954 <p><br> 955 <p><br>
955 956
956<div class="node"> 957<div class="node">
957<p><hr>
958<a name="fmax"></a> 958<a name="fmax"></a>
959<p><hr>
959Next:&nbsp;<a rel="next" accesskey="n" href="#fmin">fmin</a>, 960Next:&nbsp;<a rel="next" accesskey="n" href="#fmin">fmin</a>,
960Previous:&nbsp;<a rel="previous" accesskey="p" href="#fma">fma</a>, 961Previous:&nbsp;<a rel="previous" accesskey="p" href="#fma">fma</a>,
961Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 962Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -986,8 +987,8 @@ ANSI C, POSIX.
986 <p><br> 987 <p><br>
987 988
988<div class="node"> 989<div class="node">
989<p><hr>
990<a name="fmin"></a> 990<a name="fmin"></a>
991<p><hr>
991Next:&nbsp;<a rel="next" accesskey="n" href="#fmod">fmod</a>, 992Next:&nbsp;<a rel="next" accesskey="n" href="#fmod">fmod</a>,
992Previous:&nbsp;<a rel="previous" accesskey="p" href="#fmax">fmax</a>, 993Previous:&nbsp;<a rel="previous" accesskey="p" href="#fmax">fmax</a>,
993Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 994Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -1018,8 +1019,8 @@ ANSI C, POSIX.
1018 <p><br> 1019 <p><br>
1019 1020
1020<div class="node"> 1021<div class="node">
1021<p><hr>
1022<a name="fmod"></a> 1022<a name="fmod"></a>
1023<p><hr>
1023Next:&nbsp;<a rel="next" accesskey="n" href="#fpclassify">fpclassify</a>, 1024Next:&nbsp;<a rel="next" accesskey="n" href="#fpclassify">fpclassify</a>,
1024Previous:&nbsp;<a rel="previous" accesskey="p" href="#fmin">fmin</a>, 1025Previous:&nbsp;<a rel="previous" accesskey="p" href="#fmin">fmin</a>,
1025Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 1026Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -1057,8 +1058,8 @@ magnitude of <var>y</var>.
1057 <p><br> 1058 <p><br>
1058 1059
1059<div class="node"> 1060<div class="node">
1060<p><hr>
1061<a name="frexp"></a> 1061<a name="frexp"></a>
1062<p><hr>
1062Next:&nbsp;<a rel="next" accesskey="n" href="#gamma">gamma</a>, 1063Next:&nbsp;<a rel="next" accesskey="n" href="#gamma">gamma</a>,
1063Previous:&nbsp;<a rel="previous" accesskey="p" href="#fpclassify">fpclassify</a>, 1064Previous:&nbsp;<a rel="previous" accesskey="p" href="#fpclassify">fpclassify</a>,
1064Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 1065Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -1100,8 +1101,8 @@ or Nan, <code>frexp</code> will set <code>*</code><var>exp</var> to <code>0</cod
1100 <p><br> 1101 <p><br>
1101 1102
1102<div class="node"> 1103<div class="node">
1103<p><hr>
1104<a name="gamma"></a> 1104<a name="gamma"></a>
1105<p><hr>
1105Next:&nbsp;<a rel="next" accesskey="n" href="#hypot">hypot</a>, 1106Next:&nbsp;<a rel="next" accesskey="n" href="#hypot">hypot</a>,
1106Previous:&nbsp;<a rel="previous" accesskey="p" href="#frexp">frexp</a>, 1107Previous:&nbsp;<a rel="previous" accesskey="p" href="#frexp">frexp</a>,
1107Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 1108Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -1183,8 +1184,8 @@ is not standard, nor is the <var>signgam</var> global for <code>lgamma</code>.
1183 <p><br> 1184 <p><br>
1184 1185
1185<div class="node"> 1186<div class="node">
1186<p><hr>
1187<a name="hypot"></a> 1187<a name="hypot"></a>
1188<p><hr>
1188Next:&nbsp;<a rel="next" accesskey="n" href="#ilogb">ilogb</a>, 1189Next:&nbsp;<a rel="next" accesskey="n" href="#ilogb">ilogb</a>,
1189Previous:&nbsp;<a rel="previous" accesskey="p" href="#gamma">gamma</a>, 1190Previous:&nbsp;<a rel="previous" accesskey="p" href="#gamma">gamma</a>,
1190Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 1191Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -1220,8 +1221,8 @@ Normally, the distance value is returned. On overflow,
1220<br> 1221<br>
1221 1222
1222<div class="node"> 1223<div class="node">
1223<p><hr>
1224<a name="ilogb"></a> 1224<a name="ilogb"></a>
1225<p><hr>
1225Next:&nbsp;<a rel="next" accesskey="n" href="#infinity">infinity</a>, 1226Next:&nbsp;<a rel="next" accesskey="n" href="#infinity">infinity</a>,
1226Previous:&nbsp;<a rel="previous" accesskey="p" href="#hypot">hypot</a>, 1227Previous:&nbsp;<a rel="previous" accesskey="p" href="#hypot">hypot</a>,
1227Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 1228Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -1248,19 +1249,29 @@ return <var>m</var>.
1248<strong>Returns</strong><br> 1249<strong>Returns</strong><br>
1249 1250
1250 <p><code>ilogb</code> and <code>ilogbf</code> return the power of two used to form the 1251 <p><code>ilogb</code> and <code>ilogbf</code> return the power of two used to form the
1251floating-point argument. If <var>val</var> is <code>0</code>, they return <code>- 1252floating-point argument.
1252INT_MAX</code> (<code>INT_MAX</code> is defined in limits.h). If <var>val</var> is 1253If <var>val</var> is <code>0</code>, they return <code>FP_ILOGB0</code>.
1253infinite, or NaN, they return <code>INT_MAX</code>. 1254If <var>val</var> is infinite, they return <code>INT_MAX</code>.
1254 1255If <var>val</var> is NaN, they return <code>FP_ILOGBNAN</code>.
1256(<code>FP_ILOGB0</code> and <code>FP_ILOGBNAN</code> are defined in math.h, but in turn are
1257defined as INT_MIN or INT_MAX from limits.h. The value of FP_ILOGB0 may be
1258either INT_MIN or -INT_MAX. The value of FP_ILOGBNAN may be either INT_MAX or
1259INT_MIN.)
1260
1261<!-- The bugs might not be worth noting, given the mass non-C99/POSIX -->
1262<!-- behavior of much of the Newlib math library. -->
1263<!-- BUGS -->
1264<!-- On errors, errno is not set per C99 and POSIX requirements even if -->
1265<!-- (math_errhandling & MATH_ERRNO) is non-zero. -->
1255 <p><br> 1266 <p><br>
1256<strong>Portability</strong><br> 1267<strong>Portability</strong><br>
1257Neither <code>ilogb</code> nor <code>ilogbf</code> is required by ANSI C or by 1268C99, POSIX
1258the System V Interface Definition (Issue 2). 1269
1259<br> 1270 <p><br>
1260 1271
1261<div class="node"> 1272<div class="node">
1262<p><hr>
1263<a name="infinity"></a> 1273<a name="infinity"></a>
1274<p><hr>
1264Next:&nbsp;<a rel="next" accesskey="n" href="#isgreater">isgreater</a>, 1275Next:&nbsp;<a rel="next" accesskey="n" href="#isgreater">isgreater</a>,
1265Previous:&nbsp;<a rel="previous" accesskey="p" href="#ilogb">ilogb</a>, 1276Previous:&nbsp;<a rel="previous" accesskey="p" href="#ilogb">ilogb</a>,
1266Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 1277Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -1291,8 +1302,8 @@ infinities.
1291 <p><br> 1302 <p><br>
1292 1303
1293<div class="node"> 1304<div class="node">
1294<p><hr>
1295<a name="isgreater"></a> 1305<a name="isgreater"></a>
1306<p><hr>
1296Next:&nbsp;<a rel="next" accesskey="n" href="#ldexp">ldexp</a>, 1307Next:&nbsp;<a rel="next" accesskey="n" href="#ldexp">ldexp</a>,
1297Previous:&nbsp;<a rel="previous" accesskey="p" href="#infinity">infinity</a>, 1308Previous:&nbsp;<a rel="previous" accesskey="p" href="#infinity">infinity</a>,
1298Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 1309Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -1359,8 +1370,8 @@ C99, POSIX.
1359 <p><br> 1370 <p><br>
1360 1371
1361<div class="node"> 1372<div class="node">
1362<p><hr>
1363<a name="fpclassify"></a> 1373<a name="fpclassify"></a>
1374<p><hr>
1364Next:&nbsp;<a rel="next" accesskey="n" href="#frexp">frexp</a>, 1375Next:&nbsp;<a rel="next" accesskey="n" href="#frexp">frexp</a>,
1365Previous:&nbsp;<a rel="previous" accesskey="p" href="#fmod">fmod</a>, 1376Previous:&nbsp;<a rel="previous" accesskey="p" href="#fmod">fmod</a>,
1366Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 1377Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -1475,8 +1486,8 @@ math.h macros are C99, POSIX.
1475 <p><br> 1486 <p><br>
1476 1487
1477<div class="node"> 1488<div class="node">
1478<p><hr>
1479<a name="ldexp"></a> 1489<a name="ldexp"></a>
1490<p><hr>
1480Next:&nbsp;<a rel="next" accesskey="n" href="#log">log</a>, 1491Next:&nbsp;<a rel="next" accesskey="n" href="#log">log</a>,
1481Previous:&nbsp;<a rel="previous" accesskey="p" href="#isgreater">isgreater</a>, 1492Previous:&nbsp;<a rel="previous" accesskey="p" href="#isgreater">isgreater</a>,
1482Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 1493Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -1512,8 +1523,8 @@ On overflow, <code>ldexp</code> returns plus or minus <code>HUGE_VAL</code>.
1512 <p><br> 1523 <p><br>
1513 1524
1514<div class="node"> 1525<div class="node">
1515<p><hr>
1516<a name="log"></a> 1526<a name="log"></a>
1527<p><hr>
1517Next:&nbsp;<a rel="next" accesskey="n" href="#log10">log10</a>, 1528Next:&nbsp;<a rel="next" accesskey="n" href="#log10">log10</a>,
1518Previous:&nbsp;<a rel="previous" accesskey="p" href="#ldexp">ldexp</a>, 1529Previous:&nbsp;<a rel="previous" accesskey="p" href="#ldexp">ldexp</a>,
1519Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 1530Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -1551,8 +1562,8 @@ When <var>x</var> is negative, the returned value is NaN (not a number) and
1551 <p><br> 1562 <p><br>
1552 1563
1553<div class="node"> 1564<div class="node">
1554<p><hr>
1555<a name="log10"></a> 1565<a name="log10"></a>
1566<p><hr>
1556Next:&nbsp;<a rel="next" accesskey="n" href="#log1p">log1p</a>, 1567Next:&nbsp;<a rel="next" accesskey="n" href="#log1p">log1p</a>,
1557Previous:&nbsp;<a rel="previous" accesskey="p" href="#log">log</a>, 1568Previous:&nbsp;<a rel="previous" accesskey="p" href="#log">log</a>,
1558Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 1569Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -1586,8 +1597,8 @@ It is implemented as <code>log(</code><var>x</var><code>) / log(10)</code>.
1586 <p><br> 1597 <p><br>
1587 1598
1588<div class="node"> 1599<div class="node">
1589<p><hr>
1590<a name="log1p"></a> 1600<a name="log1p"></a>
1601<p><hr>
1591Next:&nbsp;<a rel="next" accesskey="n" href="#log2">log2</a>, 1602Next:&nbsp;<a rel="next" accesskey="n" href="#log2">log2</a>,
1592Previous:&nbsp;<a rel="previous" accesskey="p" href="#log10">log10</a>, 1603Previous:&nbsp;<a rel="previous" accesskey="p" href="#log10">log10</a>,
1593Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 1604Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -1624,8 +1635,8 @@ Interface Definition (Issue 2).
1624 <p><br> 1635 <p><br>
1625 1636
1626<div class="node"> 1637<div class="node">
1627<p><hr>
1628<a name="log2"></a> 1638<a name="log2"></a>
1639<p><hr>
1629Next:&nbsp;<a rel="next" accesskey="n" href="#logb">logb</a>, 1640Next:&nbsp;<a rel="next" accesskey="n" href="#logb">logb</a>,
1630Previous:&nbsp;<a rel="previous" accesskey="p" href="#log1p">log1p</a>, 1641Previous:&nbsp;<a rel="previous" accesskey="p" href="#log1p">log1p</a>,
1631Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 1642Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -1649,8 +1660,8 @@ argument is zero.
1649rather are derivatives based on <code>log</code>. (Accuracy might be slightly off from 1660rather are derivatives based on <code>log</code>. (Accuracy might be slightly off from
1650a direct calculation.) In addition to functions, they are also implemented as 1661a direct calculation.) In addition to functions, they are also implemented as
1651macros defined in math.h: 1662macros defined in math.h:
1652<pre class="smallexample"> #define log2(x) (log (x) / _M_LOG2_E) 1663<pre class="smallexample"> #define log2(x) (log (x) / _M_LN2)
1653 #define log2f(x) (logf (x) / (float) _M_LOG2_E) 1664 #define log2f(x) (logf (x) / (float) _M_LN2)
1654</pre> 1665</pre>
1655 <p>To use the functions instead, just undefine the macros first. 1666 <p>To use the functions instead, just undefine the macros first.
1656 1667
@@ -1676,8 +1687,8 @@ C99, POSIX, System V Interface Definition (Issue 6).
1676 <p><br> 1687 <p><br>
1677 1688
1678<div class="node"> 1689<div class="node">
1679<p><hr>
1680<a name="logb"></a> 1690<a name="logb"></a>
1691<p><hr>
1681Next:&nbsp;<a rel="next" accesskey="n" href="#lrint">lrint</a>, 1692Next:&nbsp;<a rel="next" accesskey="n" href="#lrint">lrint</a>,
1682Previous:&nbsp;<a rel="previous" accesskey="p" href="#log2">log2</a>, 1693Previous:&nbsp;<a rel="previous" accesskey="p" href="#log2">log2</a>,
1683Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 1694Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -1727,8 +1738,8 @@ frexp, ilogb
1727 <p><br> 1738 <p><br>
1728 1739
1729<div class="node"> 1740<div class="node">
1730<p><hr>
1731<a name="lrint"></a> 1741<a name="lrint"></a>
1742<p><hr>
1732Next:&nbsp;<a rel="next" accesskey="n" href="#lround">lround</a>, 1743Next:&nbsp;<a rel="next" accesskey="n" href="#lround">lround</a>,
1733Previous:&nbsp;<a rel="previous" accesskey="p" href="#logb">logb</a>, 1744Previous:&nbsp;<a rel="previous" accesskey="p" href="#logb">logb</a>,
1734Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 1745Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -1769,8 +1780,8 @@ ANSI C, POSIX
1769 <p><br> 1780 <p><br>
1770 1781
1771<div class="node"> 1782<div class="node">
1772<p><hr>
1773<a name="lround"></a> 1783<a name="lround"></a>
1784<p><hr>
1774Next:&nbsp;<a rel="next" accesskey="n" href="#matherr">matherr</a>, 1785Next:&nbsp;<a rel="next" accesskey="n" href="#matherr">matherr</a>,
1775Previous:&nbsp;<a rel="previous" accesskey="p" href="#lrint">lrint</a>, 1786Previous:&nbsp;<a rel="previous" accesskey="p" href="#lrint">lrint</a>,
1776Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 1787Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -1811,8 +1822,8 @@ ANSI C, POSIX
1811 <p><br> 1822 <p><br>
1812 1823
1813<div class="node"> 1824<div class="node">
1814<p><hr>
1815<a name="matherr"></a> 1825<a name="matherr"></a>
1826<p><hr>
1816Next:&nbsp;<a rel="next" accesskey="n" href="#modf">modf</a>, 1827Next:&nbsp;<a rel="next" accesskey="n" href="#modf">modf</a>,
1817Previous:&nbsp;<a rel="previous" accesskey="p" href="#lround">lround</a>, 1828Previous:&nbsp;<a rel="previous" accesskey="p" href="#lround">lround</a>,
1818Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 1829Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -1898,8 +1909,8 @@ an error message.
1898 <p><br> 1909 <p><br>
1899 1910
1900<div class="node"> 1911<div class="node">
1901<p><hr>
1902<a name="modf"></a> 1912<a name="modf"></a>
1913<p><hr>
1903Next:&nbsp;<a rel="next" accesskey="n" href="#nan">nan</a>, 1914Next:&nbsp;<a rel="next" accesskey="n" href="#nan">nan</a>,
1904Previous:&nbsp;<a rel="previous" accesskey="p" href="#matherr">matherr</a>, 1915Previous:&nbsp;<a rel="previous" accesskey="p" href="#matherr">matherr</a>,
1905Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 1916Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -1937,8 +1948,8 @@ sign as the supplied argument <var>val</var>.
1937 <p><br> 1948 <p><br>
1938 1949
1939<div class="node"> 1950<div class="node">
1940<p><hr>
1941<a name="nan"></a> 1951<a name="nan"></a>
1952<p><hr>
1942Next:&nbsp;<a rel="next" accesskey="n" href="#nearbyint">nearbyint</a>, 1953Next:&nbsp;<a rel="next" accesskey="n" href="#nearbyint">nearbyint</a>,
1943Previous:&nbsp;<a rel="previous" accesskey="p" href="#modf">modf</a>, 1954Previous:&nbsp;<a rel="previous" accesskey="p" href="#modf">modf</a>,
1944Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 1955Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -1961,8 +1972,8 @@ argument is currently disregarded.
1961 <p><br> 1972 <p><br>
1962 1973
1963<div class="node"> 1974<div class="node">
1964<p><hr>
1965<a name="nearbyint"></a> 1975<a name="nearbyint"></a>
1976<p><hr>
1966Next:&nbsp;<a rel="next" accesskey="n" href="#nextafter">nextafter</a>, 1977Next:&nbsp;<a rel="next" accesskey="n" href="#nextafter">nextafter</a>,
1967Previous:&nbsp;<a rel="previous" accesskey="p" href="#nan">nan</a>, 1978Previous:&nbsp;<a rel="previous" accesskey="p" href="#nan">nan</a>,
1968Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 1979Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -2008,8 +2019,8 @@ ANSI C, POSIX
2008 <p><br> 2019 <p><br>
2009 2020
2010<div class="node"> 2021<div class="node">
2011<p><hr>
2012<a name="nextafter"></a> 2022<a name="nextafter"></a>
2023<p><hr>
2013Next:&nbsp;<a rel="next" accesskey="n" href="#pow">pow</a>, 2024Next:&nbsp;<a rel="next" accesskey="n" href="#pow">pow</a>,
2014Previous:&nbsp;<a rel="previous" accesskey="p" href="#nearbyint">nearbyint</a>, 2025Previous:&nbsp;<a rel="previous" accesskey="p" href="#nearbyint">nearbyint</a>,
2015Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 2026Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -2044,8 +2055,8 @@ or by the System V Interface Definition (Issue 2).
2044 <p><br> 2055 <p><br>
2045 2056
2046<div class="node"> 2057<div class="node">
2047<p><hr>
2048<a name="pow"></a> 2058<a name="pow"></a>
2059<p><hr>
2049Next:&nbsp;<a rel="next" accesskey="n" href="#remainder">remainder</a>, 2060Next:&nbsp;<a rel="next" accesskey="n" href="#remainder">remainder</a>,
2050Previous:&nbsp;<a rel="previous" accesskey="p" href="#nextafter">nextafter</a>, 2061Previous:&nbsp;<a rel="previous" accesskey="p" href="#nextafter">nextafter</a>,
2051Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 2062Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -2082,8 +2093,8 @@ is set to <code>EDOM</code>. If <var>x</var> and <var>y</var> are both 0, then
2082<br> 2093<br>
2083 2094
2084<div class="node"> 2095<div class="node">
2085<p><hr>
2086<a name="remainder"></a> 2096<a name="remainder"></a>
2097<p><hr>
2087Next:&nbsp;<a rel="next" accesskey="n" href="#remquo">remquo</a>, 2098Next:&nbsp;<a rel="next" accesskey="n" href="#remquo">remquo</a>,
2088Previous:&nbsp;<a rel="previous" accesskey="p" href="#pow">pow</a>, 2099Previous:&nbsp;<a rel="previous" accesskey="p" href="#pow">pow</a>,
2089Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 2100Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -2114,8 +2125,8 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
2114 <p><br> 2125 <p><br>
2115 2126
2116<div class="node"> 2127<div class="node">
2117<p><hr>
2118<a name="remquo"></a> 2128<a name="remquo"></a>
2129<p><hr>
2119Next:&nbsp;<a rel="next" accesskey="n" href="#rint">rint</a>, 2130Next:&nbsp;<a rel="next" accesskey="n" href="#rint">rint</a>,
2120Previous:&nbsp;<a rel="previous" accesskey="p" href="#remainder">remainder</a>, 2131Previous:&nbsp;<a rel="previous" accesskey="p" href="#remainder">remainder</a>,
2121Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 2132Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -2169,8 +2180,8 @@ C99, POSIX.
2169 <p><br> 2180 <p><br>
2170 2181
2171<div class="node"> 2182<div class="node">
2172<p><hr>
2173<a name="rint"></a> 2183<a name="rint"></a>
2184<p><hr>
2174Next:&nbsp;<a rel="next" accesskey="n" href="#round">round</a>, 2185Next:&nbsp;<a rel="next" accesskey="n" href="#round">round</a>,
2175Previous:&nbsp;<a rel="previous" accesskey="p" href="#remquo">remquo</a>, 2186Previous:&nbsp;<a rel="previous" accesskey="p" href="#remquo">remquo</a>,
2176Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 2187Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -2211,8 +2222,8 @@ ANSI C, POSIX
2211 <p><br> 2222 <p><br>
2212 2223
2213<div class="node"> 2224<div class="node">
2214<p><hr>
2215<a name="round"></a> 2225<a name="round"></a>
2226<p><hr>
2216Next:&nbsp;<a rel="next" accesskey="n" href="#scalbn">scalbn</a>, 2227Next:&nbsp;<a rel="next" accesskey="n" href="#scalbn">scalbn</a>,
2217Previous:&nbsp;<a rel="previous" accesskey="p" href="#rint">rint</a>, 2228Previous:&nbsp;<a rel="previous" accesskey="p" href="#rint">rint</a>,
2218Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 2229Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -2251,8 +2262,8 @@ ANSI C, POSIX
2251 <p><br> 2262 <p><br>
2252 2263
2253<div class="node"> 2264<div class="node">
2254<p><hr>
2255<a name="scalbn"></a> 2265<a name="scalbn"></a>
2266<p><hr>
2256Next:&nbsp;<a rel="next" accesskey="n" href="#signbit">signbit</a>, 2267Next:&nbsp;<a rel="next" accesskey="n" href="#signbit">signbit</a>,
2257Previous:&nbsp;<a rel="previous" accesskey="p" href="#round">round</a>, 2268Previous:&nbsp;<a rel="previous" accesskey="p" href="#round">round</a>,
2258Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 2269Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -2292,8 +2303,8 @@ ANSI C, POSIX
2292 <p><br> 2303 <p><br>
2293 2304
2294<div class="node"> 2305<div class="node">
2295<p><hr>
2296<a name="signbit"></a> 2306<a name="signbit"></a>
2307<p><hr>
2297Next:&nbsp;<a rel="next" accesskey="n" href="#sin">sin</a>, 2308Next:&nbsp;<a rel="next" accesskey="n" href="#sin">sin</a>,
2298Previous:&nbsp;<a rel="previous" accesskey="p" href="#scalbn">scalbn</a>, 2309Previous:&nbsp;<a rel="previous" accesskey="p" href="#scalbn">scalbn</a>,
2299Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 2310Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -2329,8 +2340,8 @@ C99, POSIX.
2329 <p><br> 2340 <p><br>
2330 2341
2331<div class="node"> 2342<div class="node">
2332<p><hr>
2333<a name="sin"></a> 2343<a name="sin"></a>
2344<p><hr>
2334Next:&nbsp;<a rel="next" accesskey="n" href="#sinh">sinh</a>, 2345Next:&nbsp;<a rel="next" accesskey="n" href="#sinh">sinh</a>,
2335Previous:&nbsp;<a rel="previous" accesskey="p" href="#signbit">signbit</a>, 2346Previous:&nbsp;<a rel="previous" accesskey="p" href="#signbit">signbit</a>,
2336Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 2347Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -2366,8 +2377,8 @@ The sine or cosine of <var>x</var> is returned.
2366 <p><br> 2377 <p><br>
2367 2378
2368<div class="node"> 2379<div class="node">
2369<p><hr>
2370<a name="sinh"></a> 2380<a name="sinh"></a>
2381<p><hr>
2371Next:&nbsp;<a rel="next" accesskey="n" href="#sqrt">sqrt</a>, 2382Next:&nbsp;<a rel="next" accesskey="n" href="#sqrt">sqrt</a>,
2372Previous:&nbsp;<a rel="previous" accesskey="p" href="#sin">sin</a>, 2383Previous:&nbsp;<a rel="previous" accesskey="p" href="#sin">sin</a>,
2373Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 2384Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -2408,8 +2419,8 @@ appropriate sign, and sets the global value <code>errno</code> to
2408 <p><br> 2419 <p><br>
2409 2420
2410<div class="node"> 2421<div class="node">
2411<p><hr>
2412<a name="sqrt"></a> 2422<a name="sqrt"></a>
2423<p><hr>
2413Next:&nbsp;<a rel="next" accesskey="n" href="#tan">tan</a>, 2424Next:&nbsp;<a rel="next" accesskey="n" href="#tan">tan</a>,
2414Previous:&nbsp;<a rel="previous" accesskey="p" href="#sinh">sinh</a>, 2425Previous:&nbsp;<a rel="previous" accesskey="p" href="#sinh">sinh</a>,
2415Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 2426Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -2442,8 +2453,8 @@ negative, the global value <code>errno</code> is set to <code>EDOM</code> (domai
2442 <p><br> 2453 <p><br>
2443 2454
2444<div class="node"> 2455<div class="node">
2445<p><hr>
2446<a name="tan"></a> 2456<a name="tan"></a>
2457<p><hr>
2447Next:&nbsp;<a rel="next" accesskey="n" href="#tanh">tanh</a>, 2458Next:&nbsp;<a rel="next" accesskey="n" href="#tanh">tanh</a>,
2448Previous:&nbsp;<a rel="previous" accesskey="p" href="#sqrt">sqrt</a>, 2459Previous:&nbsp;<a rel="previous" accesskey="p" href="#sqrt">sqrt</a>,
2449Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 2460Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -2475,8 +2486,8 @@ The tangent of <var>x</var> is returned.
2475 <p><br> 2486 <p><br>
2476 2487
2477<div class="node"> 2488<div class="node">
2478<p><hr>
2479<a name="tanh"></a> 2489<a name="tanh"></a>
2490<p><hr>
2480Next:&nbsp;<a rel="next" accesskey="n" href="#trunc">trunc</a>, 2491Next:&nbsp;<a rel="next" accesskey="n" href="#trunc">trunc</a>,
2481Previous:&nbsp;<a rel="previous" accesskey="p" href="#tan">tan</a>, 2492Previous:&nbsp;<a rel="previous" accesskey="p" href="#tan">tan</a>,
2482Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 2493Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
@@ -2512,8 +2523,8 @@ The hyperbolic tangent of <var>x</var> is returned.
2512 <p><br> 2523 <p><br>
2513 2524
2514<div class="node"> 2525<div class="node">
2515<p><hr>
2516<a name="trunc"></a> 2526<a name="trunc"></a>
2527<p><hr>
2517Previous:&nbsp;<a rel="previous" accesskey="p" href="#tanh">tanh</a>, 2528Previous:&nbsp;<a rel="previous" accesskey="p" href="#tanh">tanh</a>,
2518Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a> 2529Up:&nbsp;<a rel="up" accesskey="u" href="#Math">Math</a>
2519 2530
@@ -2545,19 +2556,824 @@ recommended by IEEE 754 for its related functions.)
2545ANSI C, POSIX 2556ANSI C, POSIX
2546 2557
2547 <p><br> 2558 <p><br>
2559<div class="node">
2560<a name="Complex"></a>
2561<p><hr>
2562Next:&nbsp;<a rel="next" accesskey="n" href="#Reentrancy">Reentrancy</a>,
2563Previous:&nbsp;<a rel="previous" accesskey="p" href="#Math">Math</a>,
2564Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
2565
2566</div>
2567
2568<h2 class="chapter">2 Mathematical Complex Functions (<samp><span class="file">complex.h</span></samp>)</h2>
2569
2570<p>This chapter groups the complex mathematical functions. The
2571corresponding definitions and declarations are in <samp><span class="file">complex.h</span></samp>.
2572Functions and documentations are taken from NetBSD.
2573
2574<ul class="menu">
2575<li><a accesskey="1" href="#cabs">cabs</a>: Complex absolute value
2576<li><a accesskey="2" href="#cacos">cacos</a>: Complex arc cosine
2577<li><a accesskey="3" href="#cacosh">cacosh</a>: Complex arc hyperbolic cosine
2578<li><a accesskey="4" href="#carg">carg</a>: Argument (also called phase angle)
2579<li><a accesskey="5" href="#casin">casin</a>: Complex arc sine
2580<li><a accesskey="6" href="#casinh">casinh</a>: Complex arc hyperbolic sine
2581<li><a accesskey="7" href="#catan">catan</a>: Complex arc tangent
2582<li><a accesskey="8" href="#catanh">catanh</a>: Complex arc hyperbolic tangent
2583<li><a accesskey="9" href="#ccos">ccos</a>: Complex cosine
2584<li><a href="#ccosh">ccosh</a>: Complex hyperbolic cosine
2585<li><a href="#cexp">cexp</a>: Complex exponent
2586<li><a href="#cimag">cimag</a>: Imaginary part
2587<li><a href="#clog">clog</a>: Complex natural (base e) logarithm
2588<li><a href="#conj">conj</a>: Complex conjugate
2589<li><a href="#cpow">cpow</a>: Complex power function
2590<li><a href="#cproj">cproj</a>: Compute a projection on the Riemann sphere
2591<li><a href="#creal">creal</a>: Real part
2592<li><a href="#csin">csin</a>: Complex sine
2593<li><a href="#csinh">csinh</a>: Complex hyperbolic sine
2594<li><a href="#csqrt">csqrt</a>: Complex square root
2595<li><a href="#ctan">ctan</a>: Complex tangent
2596<li><a href="#ctanh">ctanh</a>: Complex hyperbolic tangent
2597</ul>
2598
2599<div class="node">
2600<a name="cabs"></a>
2601<p><hr>
2602Next:&nbsp;<a rel="next" accesskey="n" href="#cacos">cacos</a>,
2603Up:&nbsp;<a rel="up" accesskey="u" href="#Complex">Complex</a>
2604
2605</div>
2606
2607<h3 class="section">2.1 <code>cabs</code>, <code>cabsf</code>&mdash;complex absolute-value</h3>
2608
2609<p><a name="index-cabs-154"></a><a name="index-cabsf-155"></a><strong>Synopsis</strong>
2610<pre class="example"> #include &lt;complex.h&gt;
2611 double cabs(double complex <var>z</var>);
2612 float cabsf(float complex <var>z</var>);
2613
2614</pre>
2615 <p><strong>Description</strong><br>
2616These functions compute compute the complex absolute value
2617(also called norm, modulus, or magnitude) of <var>z</var>.
2618
2619 <p><code>cabsf</code> is identical to <code>cabs</code>, except that it performs
2620its calculations on <code>floats complex</code>.
2621
2622 <p><br>
2623<strong>Returns</strong><br>
2624The cabs functions return the complex absolute value.
2625
2626 <p><br>
2627<strong>Portability</strong><br>
2628<code>cabs</code> and <code>cabsf</code> are ISO C99
2629
2630 <p><br>
2631
2632<div class="node">
2633<a name="cacos"></a>
2634<p><hr>
2635Next:&nbsp;<a rel="next" accesskey="n" href="#cacosh">cacosh</a>,
2636Previous:&nbsp;<a rel="previous" accesskey="p" href="#cabs">cabs</a>,
2637Up:&nbsp;<a rel="up" accesskey="u" href="#Complex">Complex</a>
2638
2639</div>
2640
2641<h3 class="section">2.2 <code>cacos</code>, <code>cacosf</code>&mdash;complex arc cosine</h3>
2642
2643<p><a name="index-cacos-156"></a><a name="index-cacosf-157"></a><strong>Synopsis</strong>
2644<pre class="example"> #include &lt;complex.h&gt;
2645 double complex cacos(double complex <var>z</var>);
2646 float complex cacosf(float complex <var>z</var>);
2647
2648</pre>
2649 <p><strong>Description</strong><br>
2650These functions compute the complex arc cosine of <var>z</var>,
2651with branch cuts outside the interval [-1, +1] along the real axis.
2652
2653 <p><code>cacosf</code> is identical to <code>cacos</code>, except that it performs
2654its calculations on <code>floats complex</code>.
2655
2656 <p><br>
2657<strong>Returns</strong><br>
2658These functions return the complex arc cosine value, in the range
2659of a strip mathematically unbounded along the imaginary axis
2660and in the interval [0, pi] along the real axis.
2661
2662 <p><br>
2663<strong>Portability</strong><br>
2664<code>cacos</code> and <code>cacosf</code> are ISO C99
2665
2666 <p><br>
2667
2668<div class="node">
2669<a name="cacosh"></a>
2670<p><hr>
2671Next:&nbsp;<a rel="next" accesskey="n" href="#carg">carg</a>,
2672Previous:&nbsp;<a rel="previous" accesskey="p" href="#cacos">cacos</a>,
2673Up:&nbsp;<a rel="up" accesskey="u" href="#Complex">Complex</a>
2674
2675</div>
2676
2677<h3 class="section">2.3 <code>cacosh</code>, <code>cacoshf</code>&mdash;complex arc hyperbolic cosine</h3>
2678
2679<p><a name="index-cacosh-158"></a><a name="index-cacoshf-159"></a><strong>Synopsis</strong>
2680<pre class="example"> #include &lt;complex.h&gt;
2681 double complex cacosh(double complex <var>z</var>);
2682 float complex cacoshf(float complex <var>z</var>);
2683
2684</pre>
2685 <p><strong>Description</strong><br>
2686These functions compute the complex arc hyperbolic cosine of <var>z</var>,
2687with a branch cut at values less than 1 along the real axis.
2688
2689 <p><code>cacoshf</code> is identical to <code>cacosh</code>, except that it performs
2690its calculations on <code>floats complex</code>.
2691
2692 <p><br>
2693<strong>Returns</strong><br>
2694These functions return the complex arc hyperbolic cosine value,
2695in the range of a half-strip of non-negative values along the
2696real axis and in the interval [-i * pi, +i * pi] along the
2697imaginary axis.
2698
2699 <p><br>
2700<strong>Portability</strong><br>
2701<code>cacosh</code> and <code>cacoshf</code> are ISO C99
2702
2703 <p><br>
2704
2705<div class="node">
2706<a name="carg"></a>
2707<p><hr>
2708Next:&nbsp;<a rel="next" accesskey="n" href="#casin">casin</a>,
2709Previous:&nbsp;<a rel="previous" accesskey="p" href="#cacosh">cacosh</a>,
2710Up:&nbsp;<a rel="up" accesskey="u" href="#Complex">Complex</a>
2711
2712</div>
2713
2714<h3 class="section">2.4 <code>carg</code>, <code>cargf</code>&mdash;argument (phase angle)</h3>
2715
2716<p><a name="index-carg-160"></a><a name="index-cargf-161"></a><strong>Synopsis</strong>
2717<pre class="example"> #include &lt;complex.h&gt;
2718 double carg(double complex <var>z</var>);
2719 float cargf(float complex <var>z</var>);
2720
2721</pre>
2722 <p><strong>Description</strong><br>
2723These functions compute the argument (also called phase angle)
2724of <var>z</var>, with a branch cut along the negative real axis.
2725
2726 <p><code>cargf</code> is identical to <code>carg</code>, except that it performs
2727its calculations on <code>floats complex</code>.
2728
2729 <p><br>
2730<strong>Returns</strong><br>
2731The carg functions return the value of the argument in the
2732interval [-pi, +pi]
2733
2734 <p><br>
2735<strong>Portability</strong><br>
2736<code>carg</code> and <code>cargf</code> are ISO C99
2737
2738 <p><br>
2739
2740<div class="node">
2741<a name="casin"></a>
2742<p><hr>
2743Next:&nbsp;<a rel="next" accesskey="n" href="#casinh">casinh</a>,
2744Previous:&nbsp;<a rel="previous" accesskey="p" href="#carg">carg</a>,
2745Up:&nbsp;<a rel="up" accesskey="u" href="#Complex">Complex</a>
2746
2747</div>
2748
2749<h3 class="section">2.5 <code>casin</code>, <code>casinf</code>&mdash;complex arc sine</h3>
2750
2751<p><a name="index-casin-162"></a><a name="index-casinf-163"></a><strong>Synopsis</strong>
2752<pre class="example"> #include &lt;complex.h&gt;
2753 double complex casin(double complex <var>z</var>);
2754 float complex casinf(float complex <var>z</var>);
2755
2756</pre>
2757 <p><strong>Description</strong><br>
2758These functions compute the complex arc sine of <var>z</var>,
2759with branch cuts outside the interval [-1, +1] along the real axis.
2760
2761 <p><code>casinf</code> is identical to <code>casin</code>, except that it performs
2762its calculations on <code>floats complex</code>.
2763
2764 <p><br>
2765<strong>Returns</strong><br>
2766These functions return the complex arc sine value, in the range
2767of a strip mathematically unbounded along the imaginary axis
2768and in the interval [-pi/2, +pi/2] along the real axis.
2769
2770 <p><br>
2771<strong>Portability</strong><br>
2772<code>casin</code> and <code>casinf</code> are ISO C99
2773
2774 <p><br>
2775
2776<div class="node">
2777<a name="casinh"></a>
2778<p><hr>
2779Next:&nbsp;<a rel="next" accesskey="n" href="#catan">catan</a>,
2780Previous:&nbsp;<a rel="previous" accesskey="p" href="#casin">casin</a>,
2781Up:&nbsp;<a rel="up" accesskey="u" href="#Complex">Complex</a>
2782
2783</div>
2784
2785<h3 class="section">2.6 <code>casinh</code>, <code>casinhf</code>&mdash;complex arc hyperbolic sine</h3>
2786
2787<p><a name="index-casinh-164"></a><a name="index-casinhf-165"></a><strong>Synopsis</strong>
2788<pre class="example"> #include &lt;complex.h&gt;
2789 double complex casinh(double complex <var>z</var>);
2790 float complex casinhf(float complex <var>z</var>);
2791
2792</pre>
2793 <p><strong>Description</strong><br>
2794These functions compute the complex arc hyperbolic sine of <var>z</var>,
2795with branch cuts outside the interval [-i, +i] along the
2796imaginary axis.
2797
2798 <p><code>casinhf</code> is identical to <code>casinh</code>, except that it performs
2799its calculations on <code>floats complex</code>.
2800
2801 <p><br>
2802<strong>Returns</strong><br>
2803These functions return the complex arc hyperbolic sine value,
2804in the range of a strip mathematically unbounded along the
2805real axis and in the interval [-i*p/2, +i*p/2] along the
2806imaginary axis.
2807
2808 <p><br>
2809<strong>Portability</strong><br>
2810<code>casinh</code> and <code>casinhf</code> are ISO C99
2811
2812 <p><br>
2548 2813
2549<div class="node"> 2814<div class="node">
2815<a name="catan"></a>
2550<p><hr> 2816<p><hr>
2817Next:&nbsp;<a rel="next" accesskey="n" href="#catanh">catanh</a>,
2818Previous:&nbsp;<a rel="previous" accesskey="p" href="#casinh">casinh</a>,
2819Up:&nbsp;<a rel="up" accesskey="u" href="#Complex">Complex</a>
2820
2821</div>
2822
2823<h3 class="section">2.7 <code>catan</code>, <code>catanf</code>&mdash;complex arc tangent</h3>
2824
2825<p><a name="index-catan-166"></a><a name="index-catanf-167"></a><strong>Synopsis</strong>
2826<pre class="example"> #include &lt;complex.h&gt;
2827 double complex catan(double complex <var>z</var>);
2828 float complex catanf(float complex <var>z</var>);
2829
2830</pre>
2831 <p><strong>Description</strong><br>
2832These functions compute the complex arc tangent of <var>z</var>,
2833with branch cuts outside the interval [-i, +i] along the
2834imaginary axis.
2835
2836 <p><code>catanf</code> is identical to <code>catan</code>, except that it performs
2837its calculations on <code>floats complex</code>.
2838
2839 <p><br>
2840<strong>Returns</strong><br>
2841These functions return the complex arc tangent value, in the range
2842of a strip mathematically unbounded along the imaginary axis
2843and in the interval [-pi/2, +pi/2] along the real axis.
2844
2845 <p><br>
2846<strong>Portability</strong><br>
2847<code>catan</code> and <code>catanf</code> are ISO C99
2848
2849 <p><br>
2850
2851<div class="node">
2852<a name="catanh"></a>
2853<p><hr>
2854Next:&nbsp;<a rel="next" accesskey="n" href="#ccos">ccos</a>,
2855Previous:&nbsp;<a rel="previous" accesskey="p" href="#catan">catan</a>,
2856Up:&nbsp;<a rel="up" accesskey="u" href="#Complex">Complex</a>
2857
2858</div>
2859
2860<h3 class="section">2.8 <code>catanh</code>, <code>catanhf</code>&mdash;complex arc hyperbolic tangent</h3>
2861
2862<p><a name="index-catanh-168"></a><a name="index-catanhf-169"></a><strong>Synopsis</strong>
2863<pre class="example"> #include &lt;complex.h&gt;
2864 double complex catanh(double complex <var>z</var>);
2865 float complex catanhf(float complex <var>z</var>);
2866
2867</pre>
2868 <p><strong>Description</strong><br>
2869These functions compute the complex arc hyperbolic tan of <var>z</var>,
2870with branch cuts outside the interval [-1, +1] along the
2871real axis.
2872
2873 <p><code>catanhf</code> is identical to <code>catanh</code>, except that it performs
2874its calculations on <code>floats complex</code>.
2875
2876 <p><br>
2877<strong>Returns</strong><br>
2878These functions return the complex arc hyperbolic tangent value,
2879in the range of a strip mathematically unbounded along the
2880real axis and in the interval [-i*p/2, +i*p/2] along the
2881imaginary axis.
2882
2883 <p><br>
2884<strong>Portability</strong><br>
2885<code>catanh</code> and <code>catanhf</code> are ISO C99
2886
2887 <p><br>
2888
2889<div class="node">
2890<a name="ccos"></a>
2891<p><hr>
2892Next:&nbsp;<a rel="next" accesskey="n" href="#ccosh">ccosh</a>,
2893Previous:&nbsp;<a rel="previous" accesskey="p" href="#catanh">catanh</a>,
2894Up:&nbsp;<a rel="up" accesskey="u" href="#Complex">Complex</a>
2895
2896</div>
2897
2898<h3 class="section">2.9 <code>ccos</code>, <code>ccosf</code>&mdash;complex cosine</h3>
2899
2900<p><a name="index-ccos-170"></a><a name="index-ccosf-171"></a><strong>Synopsis</strong>
2901<pre class="example"> #include &lt;complex.h&gt;
2902 double complex ccos(double complex <var>z</var>);
2903 float complex ccosf(float complex <var>z</var>);
2904
2905</pre>
2906 <p><strong>Description</strong><br>
2907These functions compute the complex cosine of <var>z</var>.
2908
2909 <p><code>ccosf</code> is identical to <code>ccos</code>, except that it performs
2910its calculations on <code>floats complex</code>.
2911
2912 <p><br>
2913<strong>Returns</strong><br>
2914These functions return the complex cosine value.
2915
2916 <p><br>
2917<strong>Portability</strong><br>
2918<code>ccos</code> and <code>ccosf</code> are ISO C99
2919
2920 <p><br>
2921
2922<div class="node">
2923<a name="ccosh"></a>
2924<p><hr>
2925Next:&nbsp;<a rel="next" accesskey="n" href="#cexp">cexp</a>,
2926Previous:&nbsp;<a rel="previous" accesskey="p" href="#ccos">ccos</a>,
2927Up:&nbsp;<a rel="up" accesskey="u" href="#Complex">Complex</a>
2928
2929</div>
2930
2931<h3 class="section">2.10 <code>ccosh</code>, <code>ccoshf</code>&mdash;complex hyperbolic cosine</h3>
2932
2933<p><a name="index-ccosh-172"></a><a name="index-ccoshf-173"></a><strong>Synopsis</strong>
2934<pre class="example"> #include &lt;complex.h&gt;
2935 double complex ccosh(double complex <var>z</var>);
2936 float complex ccoshf(float complex <var>z</var>);
2937
2938</pre>
2939 <p><strong>Description</strong><br>
2940These functions compute the complex hyperbolic cosine of <var>z</var>.
2941
2942 <p><code>ccoshf</code> is identical to <code>ccosh</code>, except that it performs
2943its calculations on <code>floats complex</code>.
2944
2945 <p><br>
2946<strong>Returns</strong><br>
2947These functions return the complex hyperbolic cosine value.
2948
2949 <p><br>
2950<strong>Portability</strong><br>
2951<code>ccosh</code> and <code>ccoshf</code> are ISO C99
2952
2953 <p><br>
2954
2955<div class="node">
2956<a name="cexp"></a>
2957<p><hr>
2958Next:&nbsp;<a rel="next" accesskey="n" href="#cimag">cimag</a>,
2959Previous:&nbsp;<a rel="previous" accesskey="p" href="#ccosh">ccosh</a>,
2960Up:&nbsp;<a rel="up" accesskey="u" href="#Complex">Complex</a>
2961
2962</div>
2963
2964<h3 class="section">2.11 <code>cexp</code>, <code>cexpf</code>&mdash;complex base-e exponential</h3>
2965
2966<p><a name="index-cexp-174"></a><a name="index-cexpf-175"></a><strong>Synopsis</strong>
2967<pre class="example"> #include &lt;complex.h&gt;
2968 double complex cexp(double complex <var>z</var>);
2969 float complex cexpf(float complex <var>z</var>);
2970
2971</pre>
2972 <p><strong>Description</strong><br>
2973These functions compute the complex base-<var>e</var> exponential of <var>z</var>.
2974
2975 <p><code>cexpf</code> is identical to <code>cexp</code>, except that it performs
2976its calculations on <code>floats complex</code>.
2977
2978 <p><br>
2979<strong>Returns</strong><br>
2980The cexp functions return the complex base-<var>e</var> exponential value.
2981
2982 <p><br>
2983<strong>Portability</strong><br>
2984<code>cexp</code> and <code>cexpf</code> are ISO C99
2985
2986 <p><br>
2987
2988<div class="node">
2989<a name="cimag"></a>
2990<p><hr>
2991Next:&nbsp;<a rel="next" accesskey="n" href="#clog">clog</a>,
2992Previous:&nbsp;<a rel="previous" accesskey="p" href="#cexp">cexp</a>,
2993Up:&nbsp;<a rel="up" accesskey="u" href="#Complex">Complex</a>
2994
2995</div>
2996
2997<h3 class="section">2.12 <code>cimag</code>, <code>cimagf</code>&mdash;imaginary part</h3>
2998
2999<p><a name="index-cimag-176"></a><a name="index-cimagf-177"></a><strong>Synopsis</strong>
3000<pre class="example"> #include &lt;complex.h&gt;
3001 double cimag(double complex <var>z</var>);
3002 float cimagf(float complex <var>z</var>);
3003
3004</pre>
3005 <p><strong>Description</strong><br>
3006These functions compute the imaginary part of <var>z</var>.
3007
3008 <p><code>cimagf</code> is identical to <code>cimag</code>, except that it performs
3009its calculations on <code>floats complex</code>.
3010
3011 <p><br>
3012<strong>Returns</strong><br>
3013The cimag functions return the imaginary part value (as a real).
3014
3015 <p><br>
3016<strong>Portability</strong><br>
3017<code>cimag</code> and <code>cimagf</code> are ISO C99
3018
3019 <p><br>
3020
3021<div class="node">
3022<a name="clog"></a>
3023<p><hr>
3024Next:&nbsp;<a rel="next" accesskey="n" href="#conj">conj</a>,
3025Previous:&nbsp;<a rel="previous" accesskey="p" href="#cimag">cimag</a>,
3026Up:&nbsp;<a rel="up" accesskey="u" href="#Complex">Complex</a>
3027
3028</div>
3029
3030<h3 class="section">2.13 <code>clog</code>, <code>clogf</code>&mdash;complex base-e logarithm</h3>
3031
3032<p><a name="index-clog-178"></a><a name="index-clogf-179"></a><strong>Synopsis</strong>
3033<pre class="example"> #include &lt;complex.h&gt;
3034 double complex clog(double complex <var>z</var>);
3035 float complex clogf(float complex <var>z</var>);
3036
3037</pre>
3038 <p><strong>Description</strong><br>
3039These functions compute the complex natural (base-<var>e</var>) logarithm
3040of <var>z</var>, with a branch cut along the negative real axis.
3041
3042 <p><code>clogf</code> is identical to <code>clog</code>, except that it performs
3043its calculations on <code>floats complex</code>.
3044
3045 <p><br>
3046<strong>Returns</strong><br>
3047The clog functions return the complex natural logarithm value, in
3048the range of a strip mathematically unbounded along the real axis
3049and in the interval [-i*pi , +i*pi] along the imaginary axis.
3050
3051 <p><br>
3052<strong>Portability</strong><br>
3053<code>clog</code> and <code>clogf</code> are ISO C99
3054
3055 <p><br>
3056
3057<div class="node">
3058<a name="conj"></a>
3059<p><hr>
3060Next:&nbsp;<a rel="next" accesskey="n" href="#cpow">cpow</a>,
3061Previous:&nbsp;<a rel="previous" accesskey="p" href="#clog">clog</a>,
3062Up:&nbsp;<a rel="up" accesskey="u" href="#Complex">Complex</a>
3063
3064</div>
3065
3066<h3 class="section">2.14 <code>conj</code>, <code>conjf</code>&mdash;complex conjugate</h3>
3067
3068<p><a name="index-conj-180"></a><a name="index-conjf-181"></a><strong>Synopsis</strong>
3069<pre class="example"> #include &lt;complex.h&gt;
3070 double complex conj(double complex <var>z</var>);
3071 float complex conjf(float complex <var>z</var>);
3072
3073</pre>
3074 <p><strong>Description</strong><br>
3075These functions compute the complex conjugate of <var>z</var>,
3076by reversing the sign of its imaginary part.
3077
3078 <p><code>conjf</code> is identical to <code>conj</code>, except that it performs
3079its calculations on <code>floats complex</code>.
3080
3081 <p><br>
3082<strong>Returns</strong><br>
3083The conj functions return the complex conjugate value.
3084
3085 <p><br>
3086<strong>Portability</strong><br>
3087<code>conj</code> and <code>conjf</code> are ISO C99
3088
3089 <p><br>
3090
3091<div class="node">
3092<a name="cpow"></a>
3093<p><hr>
3094Next:&nbsp;<a rel="next" accesskey="n" href="#cproj">cproj</a>,
3095Previous:&nbsp;<a rel="previous" accesskey="p" href="#conj">conj</a>,
3096Up:&nbsp;<a rel="up" accesskey="u" href="#Complex">Complex</a>
3097
3098</div>
3099
3100<h3 class="section">2.15 <code>cpow</code>, <code>cpowf</code>&mdash;complex power</h3>
3101
3102<p><a name="index-cpow-182"></a><a name="index-cpowf-183"></a><strong>Synopsis</strong>
3103<pre class="example"> #include &lt;complex.h&gt;
3104 double complex cpow(double complex <var>x</var>, double complex <var>y</var>);
3105 float complex cpowf(float complex <var>x</var>, float complex <var>y</var>);
3106
3107</pre>
3108 <p><strong>Description</strong><br>
3109The cpow functions compute the complex power function x^y
3110power, with a branch cut for the first parameter along the
3111negative real axis.
3112
3113 <p><code>cpowf</code> is identical to <code>cpow</code>, except that it performs
3114its calculations on <code>floats complex</code>.
3115
3116 <p><br>
3117<strong>Returns</strong><br>
3118The cpow functions return the complex power function value.
3119
3120 <p><br>
3121<strong>Portability</strong><br>
3122<code>cpow</code> and <code>cpowf</code> are ISO C99
3123
3124 <p><br>
3125
3126<div class="node">
3127<a name="cproj"></a>
3128<p><hr>
3129Next:&nbsp;<a rel="next" accesskey="n" href="#creal">creal</a>,
3130Previous:&nbsp;<a rel="previous" accesskey="p" href="#cpow">cpow</a>,
3131Up:&nbsp;<a rel="up" accesskey="u" href="#Complex">Complex</a>
3132
3133</div>
3134
3135<h3 class="section">2.16 <code>cproj</code>, <code>cprojf</code>&mdash; Riemann sphere projection</h3>
3136
3137<p><a name="index-cproj-184"></a><a name="index-cprojf-185"></a><strong>Synopsis</strong>
3138<pre class="example"> #include &lt;complex.h&gt;
3139 double complex cproj(double complex <var>z</var>);
3140 float complex cprojf(float complex <var>z</var>);
3141
3142</pre>
3143 <p><strong>Description</strong><br>
3144These functions compute a projection of <var>z</var> onto the Riemann
3145sphere: <var>z</var> projects to <var>z</var> except that all complex infinities
3146(even those with one infinite part and one NaN part) project
3147to positive infinity on the real axis. If <var>z</var> has an infinite part,
3148then <code>cproj</code>(<var>z</var>) is equivalent to
3149
3150 <p>INFINITY + I * copysign(0.0, cimag(z))
3151
3152 <p><code>cprojf</code> is identical to <code>cproj</code>, except that it performs
3153its calculations on <code>floats complex</code>.
3154
3155 <p><br>
3156<strong>Returns</strong><br>
3157The cproj functions return the value of the projection onto
3158the Riemann sphere.
3159
3160 <p><br>
3161<strong>Portability</strong><br>
3162<code>cproj</code> and <code>cprojf</code> are ISO C99
3163
3164 <p><br>
3165
3166<div class="node">
3167<a name="creal"></a>
3168<p><hr>
3169Next:&nbsp;<a rel="next" accesskey="n" href="#csin">csin</a>,
3170Previous:&nbsp;<a rel="previous" accesskey="p" href="#cproj">cproj</a>,
3171Up:&nbsp;<a rel="up" accesskey="u" href="#Complex">Complex</a>
3172
3173</div>
3174
3175<h3 class="section">2.17 <code>creal</code>, <code>crealf</code>&mdash;real part</h3>
3176
3177<p><a name="index-creal-186"></a><a name="index-crealf-187"></a><strong>Synopsis</strong>
3178<pre class="example"> #include &lt;complex.h&gt;
3179 double creal(double complex <var>z</var>);
3180 float crealf(float complex <var>z</var>);
3181
3182</pre>
3183 <p><strong>Description</strong><br>
3184These functions compute the real part of <var>z</var>.
3185
3186 <p><code>crealf</code> is identical to <code>creal</code>, except that it performs
3187its calculations on <code>floats complex</code>.
3188
3189 <p><br>
3190<strong>Returns</strong><br>
3191The creal functions return the real part value.
3192
3193 <p><br>
3194<strong>Portability</strong><br>
3195<code>creal</code> and <code>crealf</code> are ISO C99
3196
3197 <p><br>
3198
3199<div class="node">
3200<a name="csin"></a>
3201<p><hr>
3202Next:&nbsp;<a rel="next" accesskey="n" href="#csinh">csinh</a>,
3203Previous:&nbsp;<a rel="previous" accesskey="p" href="#creal">creal</a>,
3204Up:&nbsp;<a rel="up" accesskey="u" href="#Complex">Complex</a>
3205
3206</div>
3207
3208<h3 class="section">2.18 <code>csin</code>, <code>csinf</code>&mdash;complex sine</h3>
3209
3210<p><a name="index-csin-188"></a><a name="index-csinf-189"></a><strong>Synopsis</strong>
3211<pre class="example"> #include &lt;complex.h&gt;
3212 double complex csin(double complex <var>z</var>);
3213 float complex csinf(float complex <var>z</var>);
3214
3215</pre>
3216 <p><strong>Description</strong><br>
3217These functions compute the complex sine of <var>z</var>.
3218
3219 <p><code>csinf</code> is identical to <code>csin</code>, except that it performs
3220its calculations on <code>floats complex</code>.
3221
3222 <p><br>
3223<strong>Returns</strong><br>
3224These functions return the complex sine value.
3225
3226 <p><br>
3227<strong>Portability</strong><br>
3228<code>csin</code> and <code>csinf</code> are ISO C99
3229
3230 <p><br>
3231
3232<div class="node">
3233<a name="csinh"></a>
3234<p><hr>
3235Next:&nbsp;<a rel="next" accesskey="n" href="#csqrt">csqrt</a>,
3236Previous:&nbsp;<a rel="previous" accesskey="p" href="#csin">csin</a>,
3237Up:&nbsp;<a rel="up" accesskey="u" href="#Complex">Complex</a>
3238
3239</div>
3240
3241<h3 class="section">2.19 <code>csinh</code>, <code>csinhf</code>&mdash;complex hyperbolic sine</h3>
3242
3243<p><a name="index-csinh-190"></a><a name="index-csinhf-191"></a><strong>Synopsis</strong>
3244<pre class="example"> #include &lt;complex.h&gt;
3245 double complex csinh(double complex <var>z</var>);
3246 float complex csinhf(float complex <var>z</var>);
3247
3248</pre>
3249 <p><strong>Description</strong><br>
3250These functions compute the complex hyperbolic sine of <var>z</var>.
3251
3252 <p><code>ccoshf</code> is identical to <code>ccosh</code>, except that it performs
3253its calculations on <code>floats complex</code>.
3254
3255 <p><br>
3256<strong>Returns</strong><br>
3257These functions return the complex hyperbolic sine value.
3258
3259 <p><br>
3260<strong>Portability</strong><br>
3261<code>csinh</code> and <code>csinhf</code> are ISO C99
3262
3263 <p><br>
3264
3265<div class="node">
3266<a name="csqrt"></a>
3267<p><hr>
3268Next:&nbsp;<a rel="next" accesskey="n" href="#ctan">ctan</a>,
3269Previous:&nbsp;<a rel="previous" accesskey="p" href="#csinh">csinh</a>,
3270Up:&nbsp;<a rel="up" accesskey="u" href="#Complex">Complex</a>
3271
3272</div>
3273
3274<h3 class="section">2.20 <code>csqrt</code>, <code>csqrtf</code>&mdash;complex square root</h3>
3275
3276<p><a name="index-csqrt-192"></a><a name="index-csqrtf-193"></a><strong>Synopsis</strong>
3277<pre class="example"> #include &lt;complex.h&gt;
3278 double complex csqrt(double complex <var>z</var>);
3279 float complex csqrtf(float complex <var>z</var>);
3280
3281</pre>
3282 <p><strong>Description</strong><br>
3283These functions compute the complex square root of <var>z</var>, with
3284a branch cut along the negative real axis.
3285
3286 <p><code>csqrtf</code> is identical to <code>csqrt</code>, except that it performs
3287its calculations on <code>floats complex</code>.
3288
3289 <p><br>
3290<strong>Returns</strong><br>
3291The csqrt functions return the complex square root value, in
3292the range of the right halfplane (including the imaginary axis).
3293
3294 <p><br>
3295<strong>Portability</strong><br>
3296<code>csqrt</code> and <code>csqrtf</code> are ISO C99
3297
3298 <p><br>
3299
3300<div class="node">
3301<a name="ctan"></a>
3302<p><hr>
3303Next:&nbsp;<a rel="next" accesskey="n" href="#ctanh">ctanh</a>,
3304Previous:&nbsp;<a rel="previous" accesskey="p" href="#csqrt">csqrt</a>,
3305Up:&nbsp;<a rel="up" accesskey="u" href="#Complex">Complex</a>
3306
3307</div>
3308
3309<h3 class="section">2.21 <code>ctan</code>, <code>ctanf</code>&mdash;complex tangent</h3>
3310
3311<p><a name="index-ctan-194"></a><a name="index-ctanf-195"></a><strong>Synopsis</strong>
3312<pre class="example"> #include &lt;complex.h&gt;
3313 double complex ctan(double complex <var>z</var>);
3314 float complex ctanf(float complex <var>z</var>);
3315
3316</pre>
3317 <p><strong>Description</strong><br>
3318These functions compute the complex tangent of <var>z</var>.
3319
3320 <p><code>ctanf</code> is identical to <code>ctan</code>, except that it performs
3321its calculations on <code>floats complex</code>.
3322
3323 <p><br>
3324<strong>Returns</strong><br>
3325These functions return the complex tangent value.
3326
3327 <p><br>
3328<strong>Portability</strong><br>
3329<code>ctan</code> and <code>ctanf</code> are ISO C99
3330
3331 <p><br>
3332
3333<div class="node">
3334<a name="ctanh"></a>
3335<p><hr>
3336Previous:&nbsp;<a rel="previous" accesskey="p" href="#ctan">ctan</a>,
3337Up:&nbsp;<a rel="up" accesskey="u" href="#Complex">Complex</a>
3338
3339</div>
3340
3341<h3 class="section">2.22 <code>ctanh</code>, <code>ctanf</code>&mdash;complex hyperbolic tangent</h3>
3342
3343<p><a name="index-ctanh-196"></a><a name="index-ctanhf-197"></a><strong>Synopsis</strong>
3344<pre class="example"> #include &lt;complex.h&gt;
3345 double complex ctanh(double complex <var>z</var>);
3346 float complex ctanhf(float complex <var>z</var>);
3347
3348</pre>
3349 <p><strong>Description</strong><br>
3350These functions compute the complex hyperbolic tangent of <var>z</var>.
3351
3352 <p><code>ctanhf</code> is identical to <code>ctanh</code>, except that it performs
3353its calculations on <code>floats complex</code>.
3354
3355 <p><br>
3356<strong>Returns</strong><br>
3357These functions return the complex hyperbolic tangent value.
3358
3359 <p><br>
3360<strong>Portability</strong><br>
3361<code>ctanh</code> and <code>ctanhf</code> are ISO C99
3362
3363 <p><br>
3364
3365<div class="node">
2551<a name="Reentrancy"></a> 3366<a name="Reentrancy"></a>
3367<p><hr>
2552Next:&nbsp;<a rel="next" accesskey="n" href="#Long-Double-Functions">Long Double Functions</a>, 3368Next:&nbsp;<a rel="next" accesskey="n" href="#Long-Double-Functions">Long Double Functions</a>,
2553Previous:&nbsp;<a rel="previous" accesskey="p" href="#Math">Math</a>, 3369Previous:&nbsp;<a rel="previous" accesskey="p" href="#Complex">Complex</a>,
2554Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a> 3370Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
2555 3371
2556</div> 3372</div>
2557 3373
2558<h2 class="chapter">2 Reentrancy Properties of <code>libm</code></h2> 3374<h2 class="chapter">3 Reentrancy Properties of <code>libm</code></h2>
2559 3375
2560<p><a name="index-reentrancy-154"></a><a name="index-g_t_0040code_007bmatherr_007d-and-reentrancy-155"></a>When a libm function detects an exceptional case, <code>errno</code> may be 3376<p><a name="index-reentrancy-198"></a><a name="index-g_t_0040code_007bmatherr_007d-and-reentrancy-199"></a>When a libm function detects an exceptional case, <code>errno</code> may be
2561set, the <code>matherr</code> function may be called, and a error message 3377set, the <code>matherr</code> function may be called, and a error message
2562may be written to the standard error stream. This behavior may not 3378may be written to the standard error stream. This behavior may not
2563be reentrant. 3379be reentrant.
@@ -2576,22 +3392,22 @@ errors&mdash;and therefore no assignments to <code>errno</code> and no <code>mat
2576calls; in that situation, the math functions behave reentrantly. 3392calls; in that situation, the math functions behave reentrantly.
2577 3393
2578<div class="node"> 3394<div class="node">
2579<p><hr>
2580<a name="Long-Double-Functions"></a> 3395<a name="Long-Double-Functions"></a>
3396<p><hr>
2581Next:&nbsp;<a rel="next" accesskey="n" href="#Index">Index</a>, 3397Next:&nbsp;<a rel="next" accesskey="n" href="#Index">Index</a>,
2582Previous:&nbsp;<a rel="previous" accesskey="p" href="#Reentrancy">Reentrancy</a>, 3398Previous:&nbsp;<a rel="previous" accesskey="p" href="#Reentrancy">Reentrancy</a>,
2583Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a> 3399Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
2584 3400
2585</div> 3401</div>
2586 3402
2587<h2 class="chapter">3 The long double function support of <code>libm</code></h2> 3403<h2 class="chapter">4 The long double function support of <code>libm</code></h2>
2588 3404
2589<p>Currently, the full set of long double math functions is only provided 3405<p>Currently, the full set of long double math functions is only provided
2590on platforms where long double equals double. 3406on platforms where long double equals double.
2591For such platforms, the long double math functions are implemented as calls to the double versions. 3407For such platforms, the long double math functions are implemented as calls to the double versions.
2592<div class="node"> 3408<div class="node">
2593<p><hr>
2594<a name="Index"></a> 3409<a name="Index"></a>
3410<p><hr>
2595Previous:&nbsp;<a rel="previous" accesskey="p" href="#Long-Double-Functions">Long Double Functions</a>, 3411Previous:&nbsp;<a rel="previous" accesskey="p" href="#Long-Double-Functions">Long Double Functions</a>,
2596Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a> 3412Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
2597 3413
@@ -2614,14 +3430,58 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
2614<li><a href="#index-atanf-14"><code>atanf</code></a>: <a href="#atan">atan</a></li> 3430<li><a href="#index-atanf-14"><code>atanf</code></a>: <a href="#atan">atan</a></li>
2615<li><a href="#index-atanh-17"><code>atanh</code></a>: <a href="#atanh">atanh</a></li> 3431<li><a href="#index-atanh-17"><code>atanh</code></a>: <a href="#atanh">atanh</a></li>
2616<li><a href="#index-atanhf-18"><code>atanhf</code></a>: <a href="#atanh">atanh</a></li> 3432<li><a href="#index-atanhf-18"><code>atanhf</code></a>: <a href="#atanh">atanh</a></li>
3433<li><a href="#index-cabs-154"><code>cabs</code></a>: <a href="#cabs">cabs</a></li>
3434<li><a href="#index-cabsf-155"><code>cabsf</code></a>: <a href="#cabs">cabs</a></li>
3435<li><a href="#index-cacos-156"><code>cacos</code></a>: <a href="#cacos">cacos</a></li>
3436<li><a href="#index-cacosf-157"><code>cacosf</code></a>: <a href="#cacos">cacos</a></li>
3437<li><a href="#index-cacosh-158"><code>cacosh</code></a>: <a href="#cacosh">cacosh</a></li>
3438<li><a href="#index-cacoshf-159"><code>cacoshf</code></a>: <a href="#cacosh">cacosh</a></li>
3439<li><a href="#index-carg-160"><code>carg</code></a>: <a href="#carg">carg</a></li>
3440<li><a href="#index-cargf-161"><code>cargf</code></a>: <a href="#carg">carg</a></li>
3441<li><a href="#index-casin-162"><code>casin</code></a>: <a href="#casin">casin</a></li>
3442<li><a href="#index-casinf-163"><code>casinf</code></a>: <a href="#casin">casin</a></li>
3443<li><a href="#index-casinh-164"><code>casinh</code></a>: <a href="#casinh">casinh</a></li>
3444<li><a href="#index-casinhf-165"><code>casinhf</code></a>: <a href="#casinh">casinh</a></li>
3445<li><a href="#index-catan-166"><code>catan</code></a>: <a href="#catan">catan</a></li>
3446<li><a href="#index-catanf-167"><code>catanf</code></a>: <a href="#catan">catan</a></li>
3447<li><a href="#index-catanh-168"><code>catanh</code></a>: <a href="#catanh">catanh</a></li>
3448<li><a href="#index-catanhf-169"><code>catanhf</code></a>: <a href="#catanh">catanh</a></li>
2617<li><a href="#index-cbrt-31"><code>cbrt</code></a>: <a href="#cbrt">cbrt</a></li> 3449<li><a href="#index-cbrt-31"><code>cbrt</code></a>: <a href="#cbrt">cbrt</a></li>
2618<li><a href="#index-cbrtf-32"><code>cbrtf</code></a>: <a href="#cbrt">cbrt</a></li> 3450<li><a href="#index-cbrtf-32"><code>cbrtf</code></a>: <a href="#cbrt">cbrt</a></li>
3451<li><a href="#index-ccos-170"><code>ccos</code></a>: <a href="#ccos">ccos</a></li>
3452<li><a href="#index-ccosf-171"><code>ccosf</code></a>: <a href="#ccos">ccos</a></li>
3453<li><a href="#index-ccosh-172"><code>ccosh</code></a>: <a href="#ccosh">ccosh</a></li>
3454<li><a href="#index-ccoshf-173"><code>ccoshf</code></a>: <a href="#ccosh">ccosh</a></li>
2619<li><a href="#index-ceil-51"><code>ceil</code></a>: <a href="#floor">floor</a></li> 3455<li><a href="#index-ceil-51"><code>ceil</code></a>: <a href="#floor">floor</a></li>
2620<li><a href="#index-ceilf-52"><code>ceilf</code></a>: <a href="#floor">floor</a></li> 3456<li><a href="#index-ceilf-52"><code>ceilf</code></a>: <a href="#floor">floor</a></li>
3457<li><a href="#index-cexp-174"><code>cexp</code></a>: <a href="#cexp">cexp</a></li>
3458<li><a href="#index-cexpf-175"><code>cexpf</code></a>: <a href="#cexp">cexp</a></li>
3459<li><a href="#index-cimag-176"><code>cimag</code></a>: <a href="#cimag">cimag</a></li>
3460<li><a href="#index-cimagf-177"><code>cimagf</code></a>: <a href="#cimag">cimag</a></li>
3461<li><a href="#index-clog-178"><code>clog</code></a>: <a href="#clog">clog</a></li>
3462<li><a href="#index-clogf-179"><code>clogf</code></a>: <a href="#clog">clog</a></li>
3463<li><a href="#index-conj-180"><code>conj</code></a>: <a href="#conj">conj</a></li>
3464<li><a href="#index-conjf-181"><code>conjf</code></a>: <a href="#conj">conj</a></li>
2621<li><a href="#index-copysign-33"><code>copysign</code></a>: <a href="#copysign">copysign</a></li> 3465<li><a href="#index-copysign-33"><code>copysign</code></a>: <a href="#copysign">copysign</a></li>
2622<li><a href="#index-copysignf-34"><code>copysignf</code></a>: <a href="#copysign">copysign</a></li> 3466<li><a href="#index-copysignf-34"><code>copysignf</code></a>: <a href="#copysign">copysign</a></li>
2623<li><a href="#index-cos-142"><code>cos</code></a>: <a href="#sin">sin</a></li> 3467<li><a href="#index-cos-142"><code>cos</code></a>: <a href="#sin">sin</a></li>
2624<li><a href="#index-cosf-143"><code>cosf</code></a>: <a href="#sin">sin</a></li> 3468<li><a href="#index-cosf-143"><code>cosf</code></a>: <a href="#sin">sin</a></li>
3469<li><a href="#index-cpow-182"><code>cpow</code></a>: <a href="#cpow">cpow</a></li>
3470<li><a href="#index-cpowf-183"><code>cpowf</code></a>: <a href="#cpow">cpow</a></li>
3471<li><a href="#index-cproj-184"><code>cproj</code></a>: <a href="#cproj">cproj</a></li>
3472<li><a href="#index-cprojf-185"><code>cprojf</code></a>: <a href="#cproj">cproj</a></li>
3473<li><a href="#index-creal-186"><code>creal</code></a>: <a href="#creal">creal</a></li>
3474<li><a href="#index-crealf-187"><code>crealf</code></a>: <a href="#creal">creal</a></li>
3475<li><a href="#index-csin-188"><code>csin</code></a>: <a href="#csin">csin</a></li>
3476<li><a href="#index-csinf-189"><code>csinf</code></a>: <a href="#csin">csin</a></li>
3477<li><a href="#index-csinh-190"><code>csinh</code></a>: <a href="#csinh">csinh</a></li>
3478<li><a href="#index-csinhf-191"><code>csinhf</code></a>: <a href="#csinh">csinh</a></li>
3479<li><a href="#index-csqrt-192"><code>csqrt</code></a>: <a href="#csqrt">csqrt</a></li>
3480<li><a href="#index-csqrtf-193"><code>csqrtf</code></a>: <a href="#csqrt">csqrt</a></li>
3481<li><a href="#index-ctan-194"><code>ctan</code></a>: <a href="#ctan">ctan</a></li>
3482<li><a href="#index-ctanf-195"><code>ctanf</code></a>: <a href="#ctan">ctan</a></li>
3483<li><a href="#index-ctanh-196"><code>ctanh</code></a>: <a href="#ctanh">ctanh</a></li>
3484<li><a href="#index-ctanhf-197"><code>ctanhf</code></a>: <a href="#ctanh">ctanh</a></li>
2625<li><a href="#index-erf-35"><code>erf</code></a>: <a href="#erf">erf</a></li> 3485<li><a href="#index-erf-35"><code>erf</code></a>: <a href="#erf">erf</a></li>
2626<li><a href="#index-erfc-37"><code>erfc</code></a>: <a href="#erf">erf</a></li> 3486<li><a href="#index-erfc-37"><code>erfc</code></a>: <a href="#erf">erf</a></li>
2627<li><a href="#index-erfcf-38"><code>erfcf</code></a>: <a href="#erf">erf</a></li> 3487<li><a href="#index-erfcf-38"><code>erfcf</code></a>: <a href="#erf">erf</a></li>
@@ -2704,7 +3564,7 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
2704<li><a href="#index-lround-112"><code>lround</code></a>: <a href="#lround">lround</a></li> 3564<li><a href="#index-lround-112"><code>lround</code></a>: <a href="#lround">lround</a></li>
2705<li><a href="#index-lroundf-113"><code>lroundf</code></a>: <a href="#lround">lround</a></li> 3565<li><a href="#index-lroundf-113"><code>lroundf</code></a>: <a href="#lround">lround</a></li>
2706<li><a href="#index-matherr-116"><code>matherr</code></a>: <a href="#matherr">matherr</a></li> 3566<li><a href="#index-matherr-116"><code>matherr</code></a>: <a href="#matherr">matherr</a></li>
2707<li><a href="#index-g_t_0040code_007bmatherr_007d-and-reentrancy-155"><code>matherr</code> and reentrancy</a>: <a href="#Reentrancy">Reentrancy</a></li> 3567<li><a href="#index-g_t_0040code_007bmatherr_007d-and-reentrancy-199"><code>matherr</code> and reentrancy</a>: <a href="#Reentrancy">Reentrancy</a></li>
2708<li><a href="#index-modf-117"><code>modf</code></a>: <a href="#modf">modf</a></li> 3568<li><a href="#index-modf-117"><code>modf</code></a>: <a href="#modf">modf</a></li>
2709<li><a href="#index-modff-118"><code>modff</code></a>: <a href="#modf">modf</a></li> 3569<li><a href="#index-modff-118"><code>modff</code></a>: <a href="#modf">modf</a></li>
2710<li><a href="#index-nan-119"><code>nan</code></a>: <a href="#nan">nan</a></li> 3570<li><a href="#index-nan-119"><code>nan</code></a>: <a href="#nan">nan</a></li>
@@ -2716,7 +3576,7 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
2716<li><a href="#index-OS-stubs-4">OS stubs</a>: <a href="#Math">Math</a></li> 3576<li><a href="#index-OS-stubs-4">OS stubs</a>: <a href="#Math">Math</a></li>
2717<li><a href="#index-pow-125"><code>pow</code></a>: <a href="#pow">pow</a></li> 3577<li><a href="#index-pow-125"><code>pow</code></a>: <a href="#pow">pow</a></li>
2718<li><a href="#index-powf-126"><code>powf</code></a>: <a href="#pow">pow</a></li> 3578<li><a href="#index-powf-126"><code>powf</code></a>: <a href="#pow">pow</a></li>
2719<li><a href="#index-reentrancy-154">reentrancy</a>: <a href="#Reentrancy">Reentrancy</a></li> 3579<li><a href="#index-reentrancy-198">reentrancy</a>: <a href="#Reentrancy">Reentrancy</a></li>
2720<li><a href="#index-remainder-127"><code>remainder</code></a>: <a href="#remainder">remainder</a></li> 3580<li><a href="#index-remainder-127"><code>remainder</code></a>: <a href="#remainder">remainder</a></li>
2721<li><a href="#index-remainderf-128"><code>remainderf</code></a>: <a href="#remainder">remainder</a></li> 3581<li><a href="#index-remainderf-128"><code>remainderf</code></a>: <a href="#remainder">remainder</a></li>
2722<li><a href="#index-remquo-129"><code>remquo</code></a>: <a href="#remquo">remquo</a></li> 3582<li><a href="#index-remquo-129"><code>remquo</code></a>: <a href="#remquo">remquo</a></li>
@@ -2818,8 +3678,33 @@ Up:&nbsp;<a rel="up" accesskey="u" href="#Top">Top</a>
2818<li><a href="#tanh">1.56 <code>tanh</code>, <code>tanhf</code>&mdash;hyperbolic tangent</a> 3678<li><a href="#tanh">1.56 <code>tanh</code>, <code>tanhf</code>&mdash;hyperbolic tangent</a>
2819<li><a href="#trunc">1.57 <code>trunc</code>, <code>truncf</code>&ndash;round to integer, towards zero</a> 3679<li><a href="#trunc">1.57 <code>trunc</code>, <code>truncf</code>&ndash;round to integer, towards zero</a>
2820</li></ul> 3680</li></ul>
2821<li><a name="toc_Reentrancy" href="#Reentrancy">2 Reentrancy Properties of <code>libm</code></a> 3681<li><a name="toc_Complex" href="#Complex">2 Mathematical Complex Functions (<samp><span class="file">complex.h</span></samp>)</a>
2822<li><a name="toc_Long-Double-Functions" href="#Long-Double-Functions">3 The long double function support of <code>libm</code></a> 3682<ul>
3683<li><a href="#cabs">2.1 <code>cabs</code>, <code>cabsf</code>&mdash;complex absolute-value</a>
3684<li><a href="#cacos">2.2 <code>cacos</code>, <code>cacosf</code>&mdash;complex arc cosine</a>
3685<li><a href="#cacosh">2.3 <code>cacosh</code>, <code>cacoshf</code>&mdash;complex arc hyperbolic cosine</a>
3686<li><a href="#carg">2.4 <code>carg</code>, <code>cargf</code>&mdash;argument (phase angle)</a>
3687<li><a href="#casin">2.5 <code>casin</code>, <code>casinf</code>&mdash;complex arc sine</a>
3688<li><a href="#casinh">2.6 <code>casinh</code>, <code>casinhf</code>&mdash;complex arc hyperbolic sine</a>
3689<li><a href="#catan">2.7 <code>catan</code>, <code>catanf</code>&mdash;complex arc tangent</a>
3690<li><a href="#catanh">2.8 <code>catanh</code>, <code>catanhf</code>&mdash;complex arc hyperbolic tangent</a>
3691<li><a href="#ccos">2.9 <code>ccos</code>, <code>ccosf</code>&mdash;complex cosine</a>
3692<li><a href="#ccosh">2.10 <code>ccosh</code>, <code>ccoshf</code>&mdash;complex hyperbolic cosine</a>
3693<li><a href="#cexp">2.11 <code>cexp</code>, <code>cexpf</code>&mdash;complex base-e exponential</a>
3694<li><a href="#cimag">2.12 <code>cimag</code>, <code>cimagf</code>&mdash;imaginary part</a>
3695<li><a href="#clog">2.13 <code>clog</code>, <code>clogf</code>&mdash;complex base-e logarithm</a>
3696<li><a href="#conj">2.14 <code>conj</code>, <code>conjf</code>&mdash;complex conjugate</a>
3697<li><a href="#cpow">2.15 <code>cpow</code>, <code>cpowf</code>&mdash;complex power</a>
3698<li><a href="#cproj">2.16 <code>cproj</code>, <code>cprojf</code>&mdash; Riemann sphere projection</a>
3699<li><a href="#creal">2.17 <code>creal</code>, <code>crealf</code>&mdash;real part</a>
3700<li><a href="#csin">2.18 <code>csin</code>, <code>csinf</code>&mdash;complex sine</a>
3701<li><a href="#csinh">2.19 <code>csinh</code>, <code>csinhf</code>&mdash;complex hyperbolic sine</a>
3702<li><a href="#csqrt">2.20 <code>csqrt</code>, <code>csqrtf</code>&mdash;complex square root</a>
3703<li><a href="#ctan">2.21 <code>ctan</code>, <code>ctanf</code>&mdash;complex tangent</a>
3704<li><a href="#ctanh">2.22 <code>ctanh</code>, <code>ctanf</code>&mdash;complex hyperbolic tangent</a>
3705</li></ul>
3706<li><a name="toc_Reentrancy" href="#Reentrancy">3 Reentrancy Properties of <code>libm</code></a>
3707<li><a name="toc_Long-Double-Functions" href="#Long-Double-Functions">4 The long double function support of <code>libm</code></a>
2823<li><a name="toc_Index" href="#Index">Index</a> 3708<li><a name="toc_Index" href="#Index">Index</a>
2824</li></ul> 3709</li></ul>
2825</div> 3710</div>