fixed more binutils issues (newer gcc/libc)
[zpugcc/jano.git] / toolchain / gcc / newlib / libm / libm.texinfo
blob82b8b8b8eeeef24b91fa8ad6e1080bd6b8b1c2fd
1 \input texinfo.tex
2 @setfilename libm.info
3 @tex
4 % NOTE LOCAL KLUGE TO AVOID TOO MUCH WHITESPACE FROM "makedoc"
5 \global\long\def\example{%
6 \begingroup
7 \let\aboveenvbreak=\par
8 \let\afterenvbreak=\par
9 \parskip=0pt
10 \lisp}
11 \global\long\def\Eexample{%
12 \Elisp
13 \endgroup
14 \vskip -\parskip% to cancel out effect of following \par
16 % END LOCAL WHITESPACE KLUGE
17 @end tex
18 @syncodeindex fn cp
20 @ifinfo
21 @format
22 START-INFO-DIR-ENTRY
23 * libm::                        An ANSI-C conforming mathematical library.
24 END-INFO-DIR-ENTRY
25 @end format
26 @end ifinfo
28 @ifinfo
29 This file documents an ANSI-C conforming mathematical subroutine library.
31 Copyright (C) 1992, 1993, 1995, 1996-2004 Red Hat, Inc. 
33 @file{libm} includes software developed at SunPro, a Sun Microsystems,
34 Inc. business.  Permission to use, copy, modify, and distribute this
35 software is freely granted, provided that this notice is preserved.
37 Permission is granted to make and distribute verbatim copies of
38 this manual provided the copyright notice and this permission notice
39 are preserved on all copies.
41 @ignore
42 Permission is granted to process this file through Tex and print the
43 results, provided the printed document carries copying permission
44 notice identical to this one except for the removal of this paragraph
45 (this paragraph not being relevant to the printed manual).
47 @end ignore
48 Permission is granted to copy and distribute modified versions of this
49 manual under the conditions for verbatim copying, subject to the terms
50 of the GNU General Public License, which includes the provision that the
51 entire resulting derived work is distributed under the terms of a
52 permission notice identical to this one.
54 Permission is granted to copy and distribute translations of this manual
55 into another language, under the above conditions for modified versions.
56 @end ifinfo
57 @iftex
58 @finalout
59 @setchapternewpage odd
60 @settitle The Red Hat newlib C Math Library
61 @titlepage
62 @title The Red Hat newlib C Math Library
63 @sp 1
64 @subtitle @code{libm} 1.12.0
65 @subtitle January 2004
66 @author {Steve Chamberlain}
67 @author {Roland Pesch}
68 @author {Red Hat Support}
69 @author {Jeff Johnston}
70 @page
72 @tex
73 {\parskip=0pt
74 \hfill Red Hat Support\par
75 \hfill sac@@cygnus.com\par
76 \hfill pesch@@cygnus.com\par
77 \hfill jjohnstn@@redhat.com\par
79 \global\parindent=0pt % Steve likes it this way
80 @end tex
82 @vskip 0pt plus 1filll
83 Copyright @copyright{} 1992, 1993, 1994-2004 Red Hat, Inc. 
85 @file{libm} includes software developed at SunPro, a Sun Microsystems,
86 Inc. business.  Permission to use, copy, modify, and distribute this
87 software is freely granted, provided that this notice is preserved.
89 Permission is granted to make and distribute verbatim copies of
90 this manual provided the copyright notice and this permission notice
91 are preserved on all copies.
93 Permission is granted to copy and distribute modified versions of this
94 manual under the conditions for verbatim copying, subject to the terms
95 of the GNU General Public License, which includes the provision that the
96 entire resulting derived work is distributed under the terms of a
97 permission notice identical to this one.
99 Permission is granted to copy and distribute translations of this manual
100 into another language, under the above conditions for modified versions.
101 @end titlepage
102 @end iftex
104 @ifinfo
105 @node Top
106 @top LIBM
107 @end ifinfo
109 @menu
110 * Math::           The mathematical functions (`math.h').
111 * Reentrancy::     The functions in libm are not reentrant by default.
112 * Index::
113 @end menu
115 @include targetdep.tex
117 @node Reentrancy
118 @chapter Reentrancy Properties of @code{libm}
120 @cindex reentrancy
121 @cindex @code{matherr} and reentrancy
122 When a libm function detects an exceptional case, @code{errno} may be
123 set, the @code{matherr} function may be called, and a error message 
124 may be written to the standard error stream.  This behavior may not
125 be reentrant.
127 @c The exact behavior depends on the currently selected error handling 
128 @c mode (IEEE, POSIX, X/Open, or SVID).
130 With reentrant C libraries like the Red Hat newlib C library, @code{errno} is
131 a macro which expands to the per-thread error value.  This makes it thread
132 safe.
134 When the user provides his own @code{matherr} function it must be
135 reentrant for the math library as a whole to be reentrant.
137 In normal debugged programs, there are usually no math subroutine
138 errors---and therefore no assignments to @code{errno} and no @code{matherr}
139 calls; in that situation, the math functions behave reentrantly.
141 @node Index
142 @unnumbered Index
143 @printindex cp
145 @tex
146 % I think something like @colophon should be in texinfo.  In the
147 % meantime:
148 \long\def\colophon{\hbox to0pt{}\vfill
149 \centerline{The body of this manual is set in}
150 \centerline{\fontname\tenrm,}
151 \centerline{with headings in {\bf\fontname\tenbf}}
152 \centerline{and examples in {\tt\fontname\tentt}.}
153 \centerline{{\it\fontname\tenit\/} and}
154 \centerline{{\sl\fontname\tensl\/}}
155 \centerline{are used for emphasis.}\vfill}
156 \page\colophon
157 % Blame: pesch@cygnus.com, 28mar91.
158 @end tex
160 @contents
161 @bye