xref: /freebsd/lib/msun/src/s_finitef.c (revision 0dd5a5603e7a33d976f8e6015620bbc79839c609)
1  /* s_finitef.c -- float version of s_finite.c.
2   * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
3   */
4  
5  /*
6   * ====================================================
7   * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
8   *
9   * Developed at SunPro, a Sun Microsystems, Inc. business.
10   * Permission to use, copy, modify, and distribute this
11   * software is freely granted, provided that this notice
12   * is preserved.
13   * ====================================================
14   */
15  
16  /*
17   * finitef(x) returns 1 is x is finite, else 0;
18   * no branching!
19   */
20  
21  #include "math.h"
22  #include "math_private.h"
23  
finitef(float x)24  	int finitef(float x)
25  {
26  	int32_t ix;
27  	GET_FLOAT_WORD(ix,x);
28  	return (int)((u_int32_t)((ix&0x7fffffff)-0x7f800000)>>31);
29  }
30