| \input texinfo.tex |
| @setfilename libm.info |
| @syncodeindex fn cp |
| |
| @ifinfo |
| @format |
| START-INFO-DIR-ENTRY |
| * libm:: An ANSI-C conforming mathematical library. |
| END-INFO-DIR-ENTRY |
| @end format |
| @end ifinfo |
| |
| @ifinfo |
| This file documents an ANSI-C conforming mathematical subroutine library. |
| |
| Copyright (C) 1992, 1993, 1995, 1996-2013 Red Hat, Inc. |
| |
| @file{libm} includes software developed at SunPro, a Sun Microsystems, |
| Inc. business. Permission to use, copy, modify, and distribute this |
| software is freely granted, provided that this notice is preserved. |
| |
| Permission is granted to make and distribute verbatim copies of |
| this manual provided the copyright notice and this permission notice |
| are preserved on all copies. |
| |
| @ignore |
| Permission is granted to process this file through Tex and print the |
| results, provided the printed document carries copying permission |
| notice identical to this one except for the removal of this paragraph |
| (this paragraph not being relevant to the printed manual). |
| |
| @end ignore |
| Permission is granted to copy and distribute modified versions of this |
| manual under the conditions for verbatim copying, subject to the terms |
| of the GNU General Public License, which includes the provision that the |
| entire resulting derived work is distributed under the terms of a |
| permission notice identical to this one. |
| |
| Permission is granted to copy and distribute translations of this manual |
| into another language, under the above conditions for modified versions. |
| @end ifinfo |
| @iftex |
| @finalout |
| @setchapternewpage odd |
| @settitle The Red Hat newlib C Math Library |
| @titlepage |
| @title The Red Hat newlib C Math Library |
| @sp 1 |
| @subtitle @code{libm} 2.1.0 |
| @subtitle December 2013 |
| @author {Steve Chamberlain} |
| @author {Roland Pesch} |
| @author {Red Hat Support} |
| @author {Jeff Johnston} |
| @page |
| |
| @tex |
| {\parskip=0pt |
| \hfill Red Hat Support\par |
| \hfill sac@@cygnus.com\par |
| \hfill pesch@@cygnus.com\par |
| \hfill jjohnstn@@redhat.com\par |
| } |
| \global\parindent=0pt % Steve likes it this way |
| @end tex |
| |
| @vskip 0pt plus 1filll |
| Copyright @copyright{} 1992, 1993, 1994-2004 Red Hat, Inc. |
| |
| @file{libm} includes software developed at SunPro, a Sun Microsystems, |
| Inc. business. Permission to use, copy, modify, and distribute this |
| software is freely granted, provided that this notice is preserved. |
| |
| Permission is granted to make and distribute verbatim copies of |
| this manual provided the copyright notice and this permission notice |
| are preserved on all copies. |
| |
| Permission is granted to copy and distribute modified versions of this |
| manual under the conditions for verbatim copying, subject to the terms |
| of the GNU General Public License, which includes the provision that the |
| entire resulting derived work is distributed under the terms of a |
| permission notice identical to this one. |
| |
| Permission is granted to copy and distribute translations of this manual |
| into another language, under the above conditions for modified versions. |
| @end titlepage |
| @end iftex |
| |
| @ifnottex |
| @node Top |
| @top LIBM |
| @end ifnottex |
| |
| @menu |
| * Math:: The mathematical functions (`math.h'). |
| * Complex:: The mathematical complex functions (`complex.h'). |
| * Reentrancy:: The functions in libm are not reentrant by default. |
| * Long Double Functions:: The long double function support of libm. |
| * Document Index:: |
| @end menu |
| |
| @include targetdep.tex |
| |
| @node Reentrancy |
| @chapter Reentrancy Properties of @code{libm} |
| |
| @cindex reentrancy |
| @cindex @code{matherr} and reentrancy |
| When a libm function detects an exceptional case, @code{errno} may be |
| set, the @code{matherr} function may be called, and a error message |
| may be written to the standard error stream. This behavior may not |
| be reentrant. |
| |
| @c The exact behavior depends on the currently selected error handling |
| @c mode (IEEE, POSIX, X/Open, or SVID). |
| |
| With reentrant C libraries like the Red Hat newlib C library, @code{errno} is |
| a macro which expands to the per-thread error value. This makes it thread |
| safe. |
| |
| When the user provides his own @code{matherr} function it must be |
| reentrant for the math library as a whole to be reentrant. |
| |
| In normal debugged programs, there are usually no math subroutine |
| errors---and therefore no assignments to @code{errno} and no @code{matherr} |
| calls; in that situation, the math functions behave reentrantly. |
| |
| @node Long Double Functions |
| @chapter The long double function support of @code{libm} |
| Currently, the full set of long double math functions is only provided |
| on platforms where long double equals double. |
| For such platforms, the long double math functions are implemented as calls to the double versions. |
| @node Document Index |
| @unnumbered Document Index |
| @printindex cp |
| |
| @tex |
| % I think something like @@colophon should be in texinfo. In the |
| % meantime: |
| \long\def\colophon{\hbox to0pt{}\vfill |
| \centerline{The body of this manual is set in} |
| \centerline{\fontname\tenrm,} |
| \centerline{with headings in {\bf\fontname\tenbf}} |
| \centerline{and examples in {\tt\fontname\tentt}.} |
| \centerline{{\it\fontname\tenit\/} and} |
| \centerline{{\sl\fontname\tensl\/}} |
| \centerline{are used for emphasis.}\vfill} |
| \page\colophon |
| % Blame: pesch@@cygnus.com, 28mar91. |
| @end tex |
| |
| @contents |
| @bye |
| |
| |