Errors in math function man pages

Keith Thompson <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <CAAHpriPN9HkBveXBU9hFCPooZRKbsfiu=+oPbGh+AbgHfGvSeA@mail.gmail.com>
There are two errors in the sqrt(3) man page, with similar errors in
the man pages for most or all of the other math functions specified
in <math.h>.  The math functions are implemented correctly as far as
I can tell, but the man pages are out of date, reflecting the language
as of the 1989 ANSI / 1999 ISO C standard.

C89/C90 defined math functions only for type double, but C99 and
later added corresponding functions for float and long double (with
'f' and 'l' suffixes), and also introduced a number of new functions.

Using sqrt(3) man page as an example, it mentions sqrt and sqrtf,
but does not mention sqrtl.

Second, it says:

> sqrt is ANSI C.  sqrtf is an extension.

That was true as of C89/C89, but sqrt, sqrtf, and sqrtl are all defined
by ISO C 1999 and later.  (And I suggest referring to "ISO C" rather
than the ambiguous "ANSI C".)

The same problem appears in most or all of the man pages for functions
declared in <math.h>.

Another example: the man page for asinh (inverse hyperbolic sine) says:
> Neither asinh nor asinhf are ANSI C.

As of C99 and later, asinh, asinhf, and asinhl are all ISO C.

I *think* this is the list of source files that would need to corrected
to bring the man pages up to date:

newlib/libm/math/s_asinh.c
newlib/libm/math/s_atan.c
newlib/libm/math/s_erf.c
newlib/libm/math/s_sin.c
newlib/libm/math/s_tanh.c
newlib/libm/math/w_acosh.c
newlib/libm/math/w_atan2.c
newlib/libm/math/w_atanh.c
newlib/libm/math/w_exp.c
newlib/libm/math/w_fmod.c
newlib/libm/math/w_gamma.c
newlib/libm/math/w_hypot.c
newlib/libm/math/w_log10.c
newlib/libm/math/w_pow.c
newlib/libm/math/w_sinh.c
newlib/libm/math/w_sqrt.c
newlib/libm/mathfp/e_acosh.c
newlib/libm/mathfp/e_atanh.c
newlib/libm/mathfp/e_hypot.c
newlib/libm/mathfp/er_lgamma.c
newlib/libm/mathfp/s_asinh.c
newlib/libm/mathfp/s_atan.c
newlib/libm/mathfp/s_atan2.c
newlib/libm/mathfp/s_atangent.c
newlib/libm/mathfp/s_erf.c
newlib/libm/mathfp/s_exp.c
newlib/libm/mathfp/s_fmod.c
newlib/libm/mathfp/s_log10.c
newlib/libm/mathfp/s_pow.c
newlib/libm/mathfp/s_sine.c
newlib/libm/mathfp/s_sineh.c
newlib/libm/mathfp/s_sqrt.c
newlib/libm/mathfp/s_tanh.c
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.