1*2fe8fb19SBen Gras /* 2*2fe8fb19SBen Gras * Written by J.T. Conklin <jtc@NetBSD.org>. 3*2fe8fb19SBen Gras * Public domain. 4*2fe8fb19SBen Gras */ 5*2fe8fb19SBen Gras 6*2fe8fb19SBen Gras #include <sys/cdefs.h> 7*2fe8fb19SBen Gras #if defined(LIBM_SCCS) && !defined(lint) 8*2fe8fb19SBen Gras __RCSID("$NetBSD: s_isinf.c,v 1.6 2003/07/26 19:25:05 salo Exp $"); 9*2fe8fb19SBen Gras #endif 10*2fe8fb19SBen Gras 11*2fe8fb19SBen Gras /* 12*2fe8fb19SBen Gras * isinf(x) returns 1 is x is inf, else 0; 13*2fe8fb19SBen Gras * no branching! 14*2fe8fb19SBen Gras */ 15*2fe8fb19SBen Gras 16*2fe8fb19SBen Gras #include "math.h" 17*2fe8fb19SBen Gras #include "math_private.h" 18*2fe8fb19SBen Gras 19*2fe8fb19SBen Gras int isinf(double x)20*2fe8fb19SBen Grasisinf(double x) 21*2fe8fb19SBen Gras { 22*2fe8fb19SBen Gras int32_t hx,lx; 23*2fe8fb19SBen Gras EXTRACT_WORDS(hx,lx,x); 24*2fe8fb19SBen Gras hx &= 0x7fffffff; 25*2fe8fb19SBen Gras hx ^= 0x7ff00000; 26*2fe8fb19SBen Gras hx |= lx; 27*2fe8fb19SBen Gras return (hx == 0); 28*2fe8fb19SBen Gras } 29