glibc/sysdeps/ieee754/dbl-64/s_isinf_ns.c

21 lines
320 B
C
Raw Normal View History

2011-10-08 22:18:26 +08:00
/*
* Written by Ulrich Drepper <drepper@gmail.com>.
*/
/*
* __isinf_ns(x) returns != 0 if x is ±inf, else 0;
* no branching!
*/
#include <math.h>
#include <math_private.h>
2011-10-08 22:18:26 +08:00
#undef __isinf_ns
int
__isinf_ns (double x)
{
int32_t hx,lx;
EXTRACT_WORDS(hx,lx,x);
return !(lx | ((hx & 0x7fffffff) ^ 0x7ff00000));
}