13a8617a8SJordan K. Hubbard /* 23a8617a8SJordan K. Hubbard * ==================================================== 33a8617a8SJordan K. Hubbard * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 43a8617a8SJordan K. Hubbard * 53a8617a8SJordan K. Hubbard * Developed at SunPro, a Sun Microsystems, Inc. business. 63a8617a8SJordan K. Hubbard * Permission to use, copy, modify, and distribute this 73a8617a8SJordan K. Hubbard * software is freely granted, provided that this notice 83a8617a8SJordan K. Hubbard * is preserved. 93a8617a8SJordan K. Hubbard * ==================================================== 103a8617a8SJordan K. Hubbard */ 113a8617a8SJordan K. Hubbard 123a8617a8SJordan K. Hubbard /* 133a8617a8SJordan K. Hubbard * finite(x) returns 1 is x is finite, else 0; 143a8617a8SJordan K. Hubbard * no branching! 153a8617a8SJordan K. Hubbard */ 163a8617a8SJordan K. Hubbard 173a8617a8SJordan K. Hubbard #include "math.h" 183a8617a8SJordan K. Hubbard #include "math_private.h" 193a8617a8SJordan K. Hubbard finite(double x)203819e840SPeter Wemm int finite(double x) 213a8617a8SJordan K. Hubbard { 223a8617a8SJordan K. Hubbard int32_t hx; 233a8617a8SJordan K. Hubbard GET_HIGH_WORD(hx,x); 243a8617a8SJordan K. Hubbard return (int)((u_int32_t)((hx&0x7fffffff)-0x7ff00000)>>31); 253a8617a8SJordan K. Hubbard } 26