glibc/sysdeps/ieee754/dbl-64/wordsize-64/math_private.h

37 lines
654 B
C

#ifndef _MATH_PRIVATE_H_
#include_next <math_private.h>
#include <stdint.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_ */