aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2016-12-16 23:41:00 +0000
committerJoseph Myers <joseph@codesourcery.com>2016-12-16 23:41:00 +0000
commit3fdf17926c09fd403dd499005650e148774f1018 (patch)
tree35d77595a6a88399449d60caa766d9b06de4beab
parentea1bd74defcf9d5291d14972e63105168ca9eb4f (diff)
downloadglibc-3fdf17926c09fd403dd499005650e148774f1018.zip
glibc-3fdf17926c09fd403dd499005650e148774f1018.tar.gz
glibc-3fdf17926c09fd403dd499005650e148774f1018.tar.bz2
Document sNaN argument error handling.
TS 18661-1 says that "Whether a signaling NaN input causes a domain error is implementation-defined.". Considering it a domain error would (given glibc's math_errhandling definition) mean setting errno to EDOM. glibc consistently does not set errno for sNaN inputs (unless it does so for qNaN as well, i.e. iseqsig), so this patch adds documentation of the implementation-defined choice not to treat this case as a domain error. * manual/arith.texi (Math Error Reporting): Document that sNaN arguments are not considered domain errors.
-rw-r--r--ChangeLog5
-rw-r--r--manual/arith.texi5
2 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 1d93077..5186792 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2016-12-16 Joseph Myers <joseph@codesourcery.com>
+
+ * manual/arith.texi (Math Error Reporting): Document that sNaN
+ arguments are not considered domain errors.
+
2016-12-16 Zack Weinberg <zackw@panix.com>
Florian Weimer <fweimer@redhat.com>
Nick Mathewson <nickm@torproject.org>
diff --git a/manual/arith.texi b/manual/arith.texi
index 41ab577..a20a4de 100644
--- a/manual/arith.texi
+++ b/manual/arith.texi
@@ -939,6 +939,11 @@ guaranteed; it is intended that @theglibc{} should set it when the
underflow is to an appropriately signed zero, but not necessarily for
other underflows.
+When a math function has an argument that is a signaling NaN,
+@theglibc{} does not consider this a domain error, so @code{errno} is
+unchanged, but the invalid exception is still raised (except for a few
+functions that are specified to handle signaling NaNs differently).
+
Some of the math functions are defined mathematically to result in a
complex value over parts of their domains. The most familiar example of
this is taking the square root of a negative number. The complex math