xref: /netbsd/lib/libm/src/s_isinff.c (revision 99410184)
1d797a5d5Sjtc /*
2*99410184Ssalo  * Written by J.T. Conklin <jtc@NetBSD.org>.
39ae90685Sjtc  * Public domain.
4d797a5d5Sjtc  */
5d797a5d5Sjtc 
661187201Slukem #include <sys/cdefs.h>
7d797a5d5Sjtc #if defined(LIBM_SCCS) && !defined(lint)
8*99410184Ssalo __RCSID("$NetBSD: s_isinff.c,v 1.6 2003/07/26 19:25:06 salo Exp $");
9d797a5d5Sjtc #endif
10d797a5d5Sjtc 
11d797a5d5Sjtc /*
12d797a5d5Sjtc  * isinff(x) returns 1 is x is inf, else 0;
13d797a5d5Sjtc  * no branching!
14d797a5d5Sjtc  */
15d797a5d5Sjtc 
16d797a5d5Sjtc #include "math.h"
17d797a5d5Sjtc #include "math_private.h"
18d797a5d5Sjtc 
19aa30599eSwiz int
isinff(float x)20aa30599eSwiz isinff(float x)
21d797a5d5Sjtc {
22d797a5d5Sjtc 	int32_t ix;
23d797a5d5Sjtc 	GET_FLOAT_WORD(ix,x);
24d797a5d5Sjtc 	ix &= 0x7fffffff;
25d797a5d5Sjtc 	ix ^= 0x7f800000;
26d797a5d5Sjtc 	return (ix == 0);
27d797a5d5Sjtc }
28