This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug math/6783] New: remainder() inconsistently sets errno on domain error
- From: "mtk dot manpages at gmail dot com" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sources dot redhat dot com
- Date: 30 Jul 2008 12:22:50 -0000
- Subject: [Bug math/6783] New: remainder() inconsistently sets errno on domain error
- Reply-to: sourceware-bugzilla at sourceware dot org
The calls remainder(x, 0) and remainder(inf, y) should both result in a domain
error.
For both of these calls, an invalid exception is correctly raised.
However, errno is not set consistently. remainder(x, 0) does (correctly) set
errno to EDOM. However, remainder(inf, y) does not set errno; it should do so.
Background:
On error, many glibc math functions both set errno and raise an exception
(fetestexcept(3)). For example, the following function all do this: acos(),
asin(), cosh(), sinh(), acosh(), asinh(), exp(), exp2(), ldexp(), log(),
log10(), log2(). However, there is much inconsistency. Some functions raise an
exception, but don't set errno. Some functions set errno for some errors, but
not others. A few set errno, but don't raise an exception. This series of bug
reports documents deviations from what I consider the ideal: all functions
should BOTH set errno AND raise an exception for all errors.
All of these reports relate to tests on glibc 2.8 (as provided by SUSE 11.0).
--
Summary: remainder() inconsistently sets errno on domain error
Product: glibc
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: math
AssignedTo: aj at suse dot de
ReportedBy: mtk dot manpages at gmail dot com
CC: glibc-bugs at sources dot redhat dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=6783
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.