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_isinff.c,v 1.6 2003/07/26 19:25:06 salo Exp $"); 9*2fe8fb19SBen Gras #endif 10*2fe8fb19SBen Gras 11*2fe8fb19SBen Gras /* 12*2fe8fb19SBen Gras * isinff(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 isinff(float x)20*2fe8fb19SBen Grasisinff(float x) 21*2fe8fb19SBen Gras { 22*2fe8fb19SBen Gras int32_t ix; 23*2fe8fb19SBen Gras GET_FLOAT_WORD(ix,x); 24*2fe8fb19SBen Gras ix &= 0x7fffffff; 25*2fe8fb19SBen Gras ix ^= 0x7f800000; 26*2fe8fb19SBen Gras return (ix == 0); 27*2fe8fb19SBen Gras } 28