]> git.ipfire.org Git - thirdparty/gcc.git/blame - libquadmath/math/isinfq.c
Fix formatting in rs6000.c.
[thirdparty/gcc.git] / libquadmath / math / isinfq.c
CommitLineData
1ec601bf
FXC
1/*
2 * Written by J.T. Conklin <jtc@netbsd.org>.
3 * Change for long double by Jakub Jelinek <jj@ultra.linux.cz>
4 * Public domain.
5 */
6
4239f144
JM
7#if defined(LIBM_SCCS) && !defined(lint)
8static char rcsid[] = "$NetBSD: $";
9#endif
10
11/*
12 * isinfq(x) returns 1 if x is inf, -1 if x is -inf, else 0;
13 * no branching!
14 */
15
1ec601bf
FXC
16#include "quadmath-imp.h"
17
18int
19isinfq (__float128 x)
20{
4239f144
JM
21 int64_t hx,lx;
22 GET_FLT128_WORDS64(hx,lx,x);
23 lx |= (hx & 0x7fffffffffffffffLL) ^ 0x7fff000000000000LL;
24 lx |= -lx;
25 return ~(lx >> 63) & (hx >> 62);
1ec601bf 26}