about summary refs log tree commit diff
path: root/sysdeps/ieee754/dbl-64/s_isinf_ns.c
blob: d8142bcf6ebf0346fcbbfdec1cb613dfd073882a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/*
 * 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>

#undef __isinf_ns
int
__isinf_ns (double x)
{
  int32_t hx, lx;
  EXTRACT_WORDS (hx, lx, x);
  return !(lx | ((hx & 0x7fffffff) ^ 0x7ff00000));
}