Subversion Repositories Kolibri OS

Rev

Rev 4872 | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1.  
  2. /* @(#)s_finite.c 5.1 93/09/24 */
  3. /*
  4.  * ====================================================
  5.  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
  6.  *
  7.  * Developed at SunPro, a Sun Microsystems, Inc. business.
  8.  * Permission to use, copy, modify, and distribute this
  9.  * software is freely granted, provided that this notice
  10.  * is preserved.
  11.  * ====================================================
  12.  */
  13.  
  14. /*
  15.  * finite(x) returns 1 is x is finite, else 0;
  16.  * no branching!
  17.  */
  18.  
  19. #include "fdlibm.h"
  20.  
  21. #ifndef _DOUBLE_IS_32BITS
  22.  
  23. #ifdef __STDC__
  24.         int finite(double x)
  25. #else
  26.         int finite(x)
  27.         double x;
  28. #endif
  29. {
  30.         __int32_t hx;
  31.         GET_HIGH_WORD(hx,x);
  32.         return  (int)((__uint32_t)((hx&0x7fffffff)-0x7ff00000)>>31);
  33. }
  34.  
  35. #endif /* _DOUBLE_IS_32BITS */
  36.