Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */
  2. /* s_isnanf.c -- float version of s_isnan.c.
  3.  * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
  4.  */
  5.  
  6. /*
  7.  * ====================================================
  8.  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
  9.  *
  10.  * Developed at SunPro, a Sun Microsystems, Inc. business.
  11.  * Permission to use, copy, modify, and distribute this
  12.  * software is freely granted, provided that this notice
  13.  * is preserved.
  14.  * ====================================================
  15.  */
  16.  
  17. #if defined(LIBM_SCCS) && !defined(lint)
  18. static char rcsid[] = "$Id: s_isnanf.c,v 1.2 1994/08/18 23:06:56 jtc Exp $";
  19. #endif
  20.  
  21. /*
  22.  * isnanf(x) returns 1 is x is nan, else 0;
  23.  * no branching!
  24.  */
  25.  
  26. #include "math.h"
  27. #include "math_private.h"
  28.  
  29. #ifdef __STDC__
  30.         int isnanf(float x)
  31. #else
  32.         int isnanf(x)
  33.         float x;
  34. #endif
  35. {
  36.         int32_t ix;
  37.         GET_FLOAT_WORD(ix,x);
  38.         ix &= 0x7fffffff;
  39.         ix = 0x7f800000 - ix;
  40.         return (int)(((u_int32_t)(ix))>>31);
  41. }
  42.