aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/ieee754/dbl-64
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2009-04-27 05:31:37 +0000
committerUlrich Drepper <drepper@redhat.com>2009-04-27 05:31:37 +0000
commitf0e3c47fd6879b96d9ce712284e8a349092262dd (patch)
treef26027586e7a72165b1939cb07df890892b367cd /sysdeps/ieee754/dbl-64
parent49768bb93e4960a814563ee30213eaf36e6dcb48 (diff)
downloadglibc-f0e3c47fd6879b96d9ce712284e8a349092262dd.tar
glibc-f0e3c47fd6879b96d9ce712284e8a349092262dd.tar.gz
glibc-f0e3c47fd6879b96d9ce712284e8a349092262dd.tar.bz2
glibc-f0e3c47fd6879b96d9ce712284e8a349092262dd.zip
* sysdeps/ieee754/dbl-64/s_expm1.c: Set errno for overflow.
* sysdeps/ieee754/flt-32/s_expm1f.c: Likewise. * sysdeps/x86_64/fpu/s_expm1l.S: Likewise.
Diffstat (limited to 'sysdeps/ieee754/dbl-64')
-rw-r--r--sysdeps/ieee754/dbl-64/s_expm1.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sysdeps/ieee754/dbl-64/s_expm1.c b/sysdeps/ieee754/dbl-64/s_expm1.c
index bfd15b2e31..324354336e 100644
--- a/sysdeps/ieee754/dbl-64/s_expm1.c
+++ b/sysdeps/ieee754/dbl-64/s_expm1.c
@@ -112,6 +112,7 @@ static char rcsid[] = "$NetBSD: s_expm1.c,v 1.8 1995/05/10 20:47:09 jtc Exp $";
* to produce the hexadecimal values shown.
*/
+#include <errno.h>
#include "math.h"
#include "math_private.h"
#define one Q[0]
@@ -159,7 +160,10 @@ Q[] = {1.0, -3.33333333333331316428e-02, /* BFA11111 111110F4 */
return x+x; /* NaN */
else return (xsb==0)? x:-1.0;/* exp(+-inf)={inf,-1} */
}
- if(x > o_threshold) return huge*huge; /* overflow */
+ if(x > o_threshold) {
+ __set_errno (ERANGE);
+ return huge*huge; /* overflow */
+ }
}
if(xsb!=0) { /* x < -56*ln2, return -1.0 with inexact */
if(x+tiny<0.0) /* raise inexact */