diff options
Diffstat (limited to 'libquadmath/math/isinf_nsq.c')
-rw-r--r-- | libquadmath/math/isinf_nsq.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/libquadmath/math/isinf_nsq.c b/libquadmath/math/isinf_nsq.c new file mode 100644 index 00000000000..2f0834361c5 --- /dev/null +++ b/libquadmath/math/isinf_nsq.c @@ -0,0 +1,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)); +} + |