diff options
Diffstat (limited to 'libquadmath/math/isinfq.c')
-rw-r--r-- | libquadmath/math/isinfq.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libquadmath/math/isinfq.c b/libquadmath/math/isinfq.c new file mode 100644 index 000000000..46996b54c --- /dev/null +++ b/libquadmath/math/isinfq.c @@ -0,0 +1,17 @@ +/* + * Written by J.T. Conklin <jtc@netbsd.org>. + * Change for long double by Jakub Jelinek <jj@ultra.linux.cz> + * Public domain. + */ + +#include "quadmath-imp.h" + +int +isinfq (__float128 x) +{ + int64_t hx,lx; + GET_FLT128_WORDS64(hx,lx,x); + lx |= (hx & 0x7fffffffffffffffLL) ^ 0x7fff000000000000LL; + lx |= -lx; + return ~(lx >> 63) & (hx >> 62); +} |