glibc/sysdeps/ieee754/flt-32/math_private.h
Richard Henderson 4851a949b4 Make inline __isnan, __isinf_ns, __finite generic.
For code generation to stay identical on x86_64, this requires that
we define the fp word manipulation macros before including the
generic header.
2012-03-19 06:47:43 -07:00

36 lines
571 B
C

#ifndef _MATH_PRIVATE_H_
#include_next <math_private.h>
#ifndef __isnanf
extern __always_inline int
__isnanf (float d)
{
u_int32_t di;
GET_FLOAT_WORD (di, d);
return (di & 0x7fffffff) > 0x7f800000;
}
#endif
#ifndef __isinf_nsf
extern __always_inline int
__isinf_nsf (float d)
{
u_int32_t di;
GET_FLOAT_WORD (di, d);
return (di & 0x7fffffff) == 0x7f800000;
}
#endif
#ifndef __finitef
extern __always_inline int
__finitef (float d)
{
u_int32_t di;
GET_FLOAT_WORD (di, d);
return (di & 0x7fffffff) < 0x7f800000;
}
#endif
#endif /* _MATH_PRIVATE_H_ */