Annotation of src/lib/libm/src/s_finitef.c, Revision 1.5
1.1 jtc 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:
1.5 ! lukem 16: #include <sys/cdefs.h>
1.3 jtc 17: #if defined(LIBM_SCCS) && !defined(lint)
1.5 ! lukem 18: __RCSID("$NetBSD$");
1.1 jtc 19: #endif
20:
21: /*
22: * finitef(x) returns 1 is x is finite, else 0;
23: * no branching!
24: */
25:
26: #include "math.h"
27: #include "math_private.h"
28:
29: #ifdef __STDC__
30: int finitef(float x)
31: #else
32: int finitef(x)
33: float x;
34: #endif
35: {
1.2 jtc 36: int32_t ix;
1.1 jtc 37: GET_FLOAT_WORD(ix,x);
1.2 jtc 38: return (int)((u_int32_t)((ix&0x7fffffff)-0x7f800000)>>31);
1.1 jtc 39: }
CVSweb <webmaster@jp.NetBSD.org>