POK
isinf.c
1 /*
2  * POK header
3  *
4  * The following file is a part of the POK project. Any modification should
5  * made according to the POK licence. You CANNOT use this file or a part of
6  * this file is this part of a file for your own project
7  *
8  * For more information on the POK licence, please see our LICENCE FILE
9  *
10  * Please follow the coding guidelines described in doc/CODING_GUIDELINES
11  *
12  * Copyright (c) 2007-2009 POK team
13  *
14  * Created by julien on Fri Jan 30 14:41:34 2009
15  */
16 
17 /*
18  * Written by J.T. Conklin <jtc@NetBSD.org>.
19  * Public domain.
20  */
21 
22 #ifdef POK_NEEDS_LIBMATH
23 
24 /*
25  * isinf(x) returns 1 is x is inf, else 0;
26  * no branching!
27  */
28 
29 #include <libm.h>
30 #include "math_private.h"
31 
32 int
33 isinf(double x)
34 {
35  int32_t hx,lx;
36  EXTRACT_WORDS(hx,lx,x);
37  hx &= 0x7fffffff;
38  hx ^= 0x7ff00000;
39  hx |= lx;
40  return (hx == 0);
41 }
42 
43 #endif
44