OSDN Git Service

- fix fpclassify, signbit, isfinite, isnan, isinf macros for long double math support
[uclinux-h8/uClibc.git] / libm / s_isinff.c
1 /*
2  * Written by J.T. Conklin <jtc@netbsd.org>.
3  * Public domain.
4  */
5
6 /*
7  * isinff(x) returns 1 if x is inf, -1 if x is -inf, else 0;
8  * no branching!
9  */
10
11 #include "math.h"
12 #include "math_private.h"
13
14 int
15 __isinff (float x)
16 {
17         int32_t ix,t;
18         GET_FLOAT_WORD(ix,x);
19         t = ix & 0x7fffffff;
20         t ^= 0x7f800000;
21         t |= -t;
22         return ~(t >> 31) & (ix >> 30);
23 }
24 libm_hidden_def(__isinff)