home *** CD-ROM | disk | FTP | other *** search
/ Game Zone - 1,000+ Games / GAMEZONE.BIN / Programs / PALM / Oh-One / src / s_finite.c < prev    next >
C/C++ Source or Header  |  1996-10-05  |  1KB  |  41 lines

  1. /* @(#)s_finite.c 5.1 93/09/24 */
  2. /*
  3.  * ====================================================
  4.  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
  5.  *
  6.  * Developed at SunPro, a Sun Microsystems, Inc. business.
  7.  * Permission to use, copy, modify, and distribute this
  8.  * software is freely granted, provided that this notice
  9.  * is preserved.
  10.  * ====================================================
  11.  */
  12.  
  13. #if defined(LIBM_SCCS) && !defined(lint)
  14. static char rcsid[] = "$NetBSD: s_finite.c,v 1.8 1995/05/10 20:47:17 jtc Exp $";
  15. #endif
  16.  
  17. /*
  18.  * finite(x) returns 1 is x is finite, else 0;
  19.  * no branching!
  20.  */
  21.  
  22. #include "math.h"
  23. #include "math_private.h"
  24.  
  25. #ifdef __STDC__
  26.     int __finite(double x)
  27. #else
  28.     int __finite(x)
  29.     double x;
  30. #endif
  31. {
  32.     int32_t hx;
  33.     GET_HIGH_WORD(hx,x);
  34.     return (int)((u_int32_t)((hx&0x7fffffff)-0x7ff00000)>>31);
  35. }
  36. weak_alias (__finite, finite)
  37. #ifdef NO_LONG_DOUBLE
  38. strong_alias (__finite, __finitel)
  39. weak_alias (__finite, finitel)
  40. #endif
  41.