Cygwin: //: fetch only one item per loop
[newlib-cygwin.git] / newlib / libm / libm.texi
blobd322422c2cde484bfa9ba61bc462cf8a43f988c8
1 \input texinfo.tex
2 @setfilename libm.info
4 @ifinfo
5 @format
6 @dircategory Newlib
7 @direntry
8 * libm: (libm).                 An ANSI-C conforming mathematical library.
9 @end direntry
10 @end format
11 @end ifinfo
13 @ifinfo
14 This file documents an ANSI-C conforming mathematical subroutine library.
16 Copyright (C) 1992, 1993, 1995, 1996-2014 Red Hat, Inc. 
18 @file{libm} includes software developed at SunPro, a Sun Microsystems,
19 Inc. business.  Permission to use, copy, modify, and distribute this
20 software is freely granted, provided that this notice is preserved.
22 Permission is granted to make and distribute verbatim copies of
23 this manual provided the copyright notice and this permission notice
24 are preserved on all copies.
26 @ignore
27 Permission is granted to process this file through Tex and print the
28 results, provided the printed document carries copying permission
29 notice identical to this one except for the removal of this paragraph
30 (this paragraph not being relevant to the printed manual).
32 @end ignore
33 Permission is granted to copy and distribute modified versions of this
34 manual under the conditions for verbatim copying, subject to the terms
35 of the GNU General Public License, which includes the provision that the
36 entire resulting derived work is distributed under the terms of a
37 permission notice identical to this one.
39 Permission is granted to copy and distribute translations of this manual
40 into another language, under the above conditions for modified versions.
41 @end ifinfo
42 @iftex
43 @finalout
44 @setchapternewpage odd
45 @settitle The Red Hat newlib C Math Library
46 @titlepage
47 @title The Red Hat newlib C Math Library
48 @sp 1
49 @subtitle @code{libm} 4.4.0
50 @subtitle December 2023
51 @author Steve Chamberlain
52 @author Roland Pesch
53 @author Red Hat Support
54 @author Jeff Johnston
55 @page
57 @tex
58 {\parskip=0pt
59 \hfill Red Hat Support\par
60 \hfill sac@@cygnus.com\par
61 \hfill pesch@@cygnus.com\par
62 \hfill jjohnstn@@redhat.com\par
64 \global\parindent=0pt % Steve likes it this way
65 @end tex
67 @vskip 0pt plus 1filll
68 Copyright @copyright{} 1992, 1993, 1994-2004 Red Hat, Inc. 
70 @file{libm} includes software developed at SunPro, a Sun Microsystems,
71 Inc. business.  Permission to use, copy, modify, and distribute this
72 software is freely granted, provided that this notice is preserved.
74 Permission is granted to make and distribute verbatim copies of
75 this manual provided the copyright notice and this permission notice
76 are preserved on all copies.
78 Permission is granted to copy and distribute modified versions of this
79 manual under the conditions for verbatim copying, subject to the terms
80 of the GNU General Public License, which includes the provision that the
81 entire resulting derived work is distributed under the terms of a
82 permission notice identical to this one.
84 Permission is granted to copy and distribute translations of this manual
85 into another language, under the above conditions for modified versions.
86 @end titlepage
87 @end iftex
89 @ifnottex
90 @node Top
91 @top LIBM
92 @end ifnottex
94 @menu
95 * Math::           The mathematical functions (`math.h').
96 * Complex::        The mathematical complex functions (`complex.h').
97 * Fenv::           The floating point environment functions ('fenv.h').
98 * Reentrancy::     The functions in libm are not reentrant by default.
99 * Long Double Functions:: The long double function support of libm.
100 * Document Index::
101 * Function Index::
102 @end menu
104 @include targetdep.tex
106 @node Reentrancy
107 @chapter Reentrancy Properties of @code{libm}
109 @cindex reentrancy
110 @cindex @code{matherr} and reentrancy
111 When a libm function detects an exceptional case, @code{errno} may be
112 set.
114 @c The exact behavior depends on the currently selected error handling 
115 @c mode (IEEE or POSIX).
117 @code{errno} is a macro which expands to the per-thread error value.
118 This makes it thread safe, and therefore reentrant.
120 @node Long Double Functions
121 @chapter The long double function support of @code{libm}
122 Currently, the full set of long double math functions is only provided
123 on platforms where long double equals double.
124 For such platforms, the long double math functions are implemented as calls to the double versions.
126 @node Document Index
127 @unnumbered Document Index
128 @printindex cp
130 @node Function Index
131 @unnumbered Function Index
132 @printindex fn
134 @tex
135 % I think something like @@colophon should be in texinfo.  In the
136 % meantime:
137 \long\def\colophon{\hbox to0pt{}\vfill
138 \centerline{The body of this manual is set in}
139 \centerline{\fontname\tenrm,}
140 \centerline{with headings in {\bf\fontname\tenbf}}
141 \centerline{and examples in {\tt\fontname\tentt}.}
142 \centerline{{\it\fontname\tenit\/} and}
143 \centerline{{\sl\fontname\tensl\/}}
144 \centerline{are used for emphasis.}\vfill}
145 \page\colophon
146 % Blame: pesch@@cygnus.com, 28mar91.
147 @end tex
149 @contents
150 @bye