4 % NOTE LOCAL KLUGE TO AVOID TOO MUCH WHITESPACE FROM "makedoc"
5 \global\long\def\example{%
7 \let\aboveenvbreak=\par
8 \let\afterenvbreak=\par
11 \global\long\def\Eexample{%
14 \vskip -\parskip% to cancel out effect of following \par
16 % END LOCAL WHITESPACE KLUGE
23 * libm:: An ANSI-C conforming mathematical library.
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.
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).
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.
59 @setchapternewpage odd
60 @settitle The Red Hat newlib C Math Library
62 @title The Red Hat newlib C Math Library
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}
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
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.
110 * Math:: The mathematical functions (`math.h').
111 * Reentrancy:: The functions in libm are not reentrant by default.
115 @include targetdep.tex
118 @chapter Reentrancy Properties of @code{libm}
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
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
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.
146 % I think something like @colophon should be in texinfo. In the
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}
157 % Blame: pesch@cygnus.com, 28mar91.