diff options
Diffstat (limited to 'sysdeps/generic')
-rw-r--r-- | sysdeps/generic/e_scalb.c | 4 | ||||
-rw-r--r-- | sysdeps/generic/e_scalbf.c | 4 | ||||
-rw-r--r-- | sysdeps/generic/e_scalbl.c | 4 |
3 files changed, 12 insertions, 0 deletions
diff --git a/sysdeps/generic/e_scalb.c b/sysdeps/generic/e_scalb.c index 2e40943..a7664db 100644 --- a/sysdeps/generic/e_scalb.c +++ b/sysdeps/generic/e_scalb.c @@ -50,14 +50,18 @@ static char rcsid[] = "$NetBSD: e_scalb.c,v 1.6 1995/05/10 20:46:09 jtc Exp $"; return x; else if (!__finite (x)) { +# ifdef FE_INVALID feraiseexcept (FE_INVALID); +# endif return __nan (""); } else return x/(-fn); } if (__rint(fn)!=fn) { +# ifdef FE_INVALID feraiseexcept (FE_INVALID); +# endif return __nan (""); } if ( fn > 65000.0) return __scalbn(x, 65000); diff --git a/sysdeps/generic/e_scalbf.c b/sysdeps/generic/e_scalbf.c index 9d769f4..5c6326b 100644 --- a/sysdeps/generic/e_scalbf.c +++ b/sysdeps/generic/e_scalbf.c @@ -47,14 +47,18 @@ static char rcsid[] = "$NetBSD: e_scalbf.c,v 1.3 1995/05/10 20:46:12 jtc Exp $"; return x; else if (!__finitef (x)) { +# ifdef FE_INVALID feraiseexcept (FE_INVALID); +# endif return __nanf (""); } else return x/(-fn); } if (__rintf(fn)!=fn) { +# ifdef FE_INVALID feraiseexcept (FE_INVALID); +# endif return __nanf (""); } if ( fn > (float)65000.0) return __scalbnf(x, 65000); diff --git a/sysdeps/generic/e_scalbl.c b/sysdeps/generic/e_scalbl.c index fb2914d..a34369c 100644 --- a/sysdeps/generic/e_scalbl.c +++ b/sysdeps/generic/e_scalbl.c @@ -54,14 +54,18 @@ static char rcsid[] = "$NetBSD: $"; return x; else if (!__finitel (x)) { +# ifdef FE_INVALID feraiseexcept (FE_INVALID); +# endif return __nanl (""); } else return x/(-fn); } if (__rintl(fn)!=fn) { +# ifdef FE_INVALID feraiseexcept (FE_INVALID); +# endif return __nanl (""); } if ( fn > 65000.0) return __scalbnl(x, 65000); |