diff options
author | das <das@FreeBSD.org> | 2008-09-03 07:23:57 +0000 |
---|---|---|
committer | das <das@FreeBSD.org> | 2008-09-03 07:23:57 +0000 |
commit | 2732388653bc1d73e3e22df8de7d745845b3f37f (patch) | |
tree | aa29ae5df5dd7a529e8fb86a22f1dd405bf30837 /contrib/gdtoa/README | |
parent | 88c5e9e192dc799e18634d995e809f49fcd1e4eb (diff) | |
download | FreeBSD-src-2732388653bc1d73e3e22df8de7d745845b3f37f.zip FreeBSD-src-2732388653bc1d73e3e22df8de7d745845b3f37f.tar.gz |
Merge gdtoa 20080831. This fixes several bugs, including an infinite
loop pointed out by cognet@ that occurs when calling strtod() with a
string representing a number between DBL_MAX and 2*DBL_MAX, when the
rounding mode is anything other than the default.
Diffstat (limited to 'contrib/gdtoa/README')
-rw-r--r-- | contrib/gdtoa/README | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/contrib/gdtoa/README b/contrib/gdtoa/README index cf1947a..95a40aa 100644 --- a/contrib/gdtoa/README +++ b/contrib/gdtoa/README @@ -332,5 +332,15 @@ Compiling g__fmt.c, strtod.c, and strtodg.c with -DUSE_LOCALE causes the decimal-point character to be taken from the current locale; otherwise it is '.'. +Source files dtoa.c and strtod.c in this directory are derived from +netlib's "dtoa.c from fp" and are meant to function equivalently. +When compiled with Honor_FLT_ROUNDS #defined (on systems that provide +FLT_ROUNDS and fegetround() as specified in the C99 standard), they +honor the current rounding mode. Because FLT_ROUNDS is buggy on some +(Linux) systems -- not reflecting calls on fesetround(), as the C99 +standard says it should -- when Honor_FLT_ROUNDS is #defined, the +current rounding mode is obtained from fegetround() rather than from +FLT_ROUNDS, unless Trust_FLT_ROUNDS is also #defined. + Please send comments to David M. Gay (dmg at acm dot org, with " at " changed at "@" and " dot " changed to "."). |