Mercurial > gnulib
view doc/posix-functions/strtod.texi @ 40169:ecb43221748b
strtod, strtold: Work around HP-UX 11.31/ia64 bug.
* lib/strtod.c (STRTOD): When there is an extra character after the
exponent marker 'p', reparse the number.
* doc/posix-functions/strtod.texi: Document the HP-UX 11.31 bug.
* doc/posix-functions/strtold.texi: Likewise.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Fri, 01 Feb 2019 00:18:57 +0100 |
parents | 73d60b1f9c96 |
children |
line wrap: on
line source
@node strtod @section @code{strtod} @findex strtod POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/strtod.html} Gnulib module: strtod or strtod-obsolete Portability problems fixed by either Gnulib module @code{strtod} or @code{strtod-obsolete}: @itemize @item This function mis-parses strings with leading @samp{+} on some old platforms: Old versions of Linux. @item This function returns a wrong end pointer on some old platforms. @item This function consumes whitespace even when there is nothing that should be parsed on some platforms: IRIX 6.5, OSF/1 5.1. @item This function allows whitespace between @samp{e} and the exponent on some platforms: HP-UX 11.11, IRIX 6.5, OSF/1 4.0. @item This function returns the wrong end pointer for @samp{-0x} on some platforms: glibc 2.4, Mac OS X 10.5, FreeBSD 6.2, AIX 7.1, Cygwin < 1.5.25-11. @item This function returns +0.0 (not @minus{}0.0) for @samp{-0} on some platforms: IRIX 6.5, OSF/1 4.0. @item This function fails to parse Infinities and plain NaNs on some platforms: OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 9, mingw, MSVC 14. @item This function fails to parse @samp{NaN()} on some platforms: glibc-2.3.6, Mac OS X 10.5, FreeBSD 6.2, OpenBSD 4.0, AIX 7.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Cygwin < 1.5.25-11, mingw, MSVC 14. @item This function fails to parse @samp{NaN(@var{n-char-sequence})} on some platforms: OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw, MSVC 14. @item This function parses @samp{NaN(@var{n-char-sequence})}, but returns the wrong end pointer on some platforms: glibc-2.4, AIX 7.1. @item This function fails to parse C99 hexadecimal floating point on some platforms: NetBSD 5.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 11.4, mingw, MSVC 14. @item In hexadecimal floats, this function allows whitespace between @samp{p} and the exponent on some platforms: HP-UX 11.31/ia64. @item This function returns the wrong end pointer for @samp{0x1p} on some platforms: AIX 7.1. @end itemize Portability problems fixed by Gnulib module @code{strtod-obsolete}: @itemize @item This function is missing on some old platforms. @end itemize Portability problems not fixed by Gnulib: @itemize @item This function returns +0.0 (not @minus{}0.0) for negative underflow on some platforms: glibc 2.7, Cygwin 1.5.x, mingw, MSVC 14. @item This function cannot distinguish between ``nan'' and ``-nan'' on some platforms: glibc 2.7, IRIX 6.5, OSF/1 5.1, mingw, MSVC 14. @item This function fails to correctly parse very long strings on some platforms: Mac OS X 10.5, FreeBSD 6.2, NetBSD 5.0, OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, Cygwin, mingw, MSVC 14. @item The replacement function does not always return correctly rounded results. @end itemize