summaryrefslogtreecommitdiff
path: root/libquadmath/math/isinf_nsq.c
blob: 2f0834361c5f9d4bb5ba92c229bf2fd8e1e95576 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/*
 * Written by Ulrich Drepper <drepper@gmail.com>
 */

/*
 * __quadmath_isinf_nsq (x) returns != 0 if x is ±inf, else 0;
 * no branching!
 */

#include "quadmath-imp.h"

int
__quadmath_isinf_nsq (__float128 x)
{
        int64_t hx,lx;
        GET_FLT128_WORDS64(hx,lx,x);
        return !(lx | ((hx & 0x7fffffffffffffffLL) ^ 0x7fff000000000000LL));
}