summaryrefslogtreecommitdiffstats
path: root/contrib/gdtoa/README
diff options
context:
space:
mode:
authordas <das@FreeBSD.org>2008-09-03 07:23:57 +0000
committerdas <das@FreeBSD.org>2008-09-03 07:23:57 +0000
commit2732388653bc1d73e3e22df8de7d745845b3f37f (patch)
treeaa29ae5df5dd7a529e8fb86a22f1dd405bf30837 /contrib/gdtoa/README
parent88c5e9e192dc799e18634d995e809f49fcd1e4eb (diff)
downloadFreeBSD-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/README10
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 ".").
OpenPOWER on IntegriCloud