diff options
Diffstat (limited to 'sysdeps/ieee754/dbl-64/wordsize-64/math_private.h')
-rw-r--r-- | sysdeps/ieee754/dbl-64/wordsize-64/math_private.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/math_private.h b/sysdeps/ieee754/dbl-64/wordsize-64/math_private.h new file mode 100644 index 0000000000..b66085eb1b --- /dev/null +++ b/sysdeps/ieee754/dbl-64/wordsize-64/math_private.h @@ -0,0 +1,35 @@ +#ifndef _MATH_PRIVATE_H_ + +#include_next <math_private.h> + +#ifndef __isnan +extern __always_inline int +__isnan (double d) +{ + uint64_t di; + EXTRACT_WORDS64 (di, d); + return (di & 0x7fffffffffffffffull) > 0x7ff0000000000000ull; +} +#endif + +#ifndef __isinf_ns +extern __always_inline int +__isinf_ns (double d) +{ + uint64_t di; + EXTRACT_WORDS64 (di, d); + return (di & 0x7fffffffffffffffull) == 0x7ff0000000000000ull; +} +#endif + +#ifndef __finite +extern __always_inline int +__finite (double d) +{ + uint64_t di; + EXTRACT_WORDS64 (di, d); + return (di & 0x7fffffffffffffffull) < 0x7ff0000000000000ull; +} +#endif + +#endif /* _MATH_PRIVATE_H_ */ |