diff options
Diffstat (limited to 'sysdeps/alpha/fpu')
-rw-r--r-- | sysdeps/alpha/fpu/bits/mathinline.h | 23 | ||||
-rw-r--r-- | sysdeps/alpha/fpu/s_isnan.c | 4 |
2 files changed, 3 insertions, 24 deletions
diff --git a/sysdeps/alpha/fpu/bits/mathinline.h b/sysdeps/alpha/fpu/bits/mathinline.h index 3d64b56107..83f3b4ad0a 100644 --- a/sysdeps/alpha/fpu/bits/mathinline.h +++ b/sysdeps/alpha/fpu/bits/mathinline.h @@ -120,29 +120,6 @@ __NTH (__signbitl (long double __x)) return __builtin_signbitl (__x); #endif } - -/* Test for NaN. Used in the isnan() macro. */ - -__MATH_INLINE int -__NTH (__isnanf (float __x)) -{ - return isunordered (__x, __x); -} - -__MATH_INLINE int -__NTH (__isnan (double __x)) -{ - return isunordered (__x, __x); -} - -#ifndef __NO_LONG_DOUBLE_MATH -__MATH_INLINE int -__NTH (__isnanl (long double __x)) -{ - return isunordered (__x, __x); -} -#endif - #endif /* C99 */ #endif /* __NO_MATH_INLINES */ diff --git a/sysdeps/alpha/fpu/s_isnan.c b/sysdeps/alpha/fpu/s_isnan.c index adfb4ccf36..d664f0cb10 100644 --- a/sysdeps/alpha/fpu/s_isnan.c +++ b/sysdeps/alpha/fpu/s_isnan.c @@ -31,7 +31,9 @@ int __isnan (double x) { - return isunordered (x, x); + uint64_t ix; + EXTRACT_WORDS64 (ix, x); + return ix * 2 > 0xffe0000000000000ul; } hidden_def (__isnan) |