Update copyright notices with scripts/update-copyrights.
[glibc.git] / sysdeps / ieee754 / dbl-64 / wordsize-64 / s_isnan.c
blob70a620cf648ff41f568a0063b61d07c3d063efc2
1 /* @(#)s_isnan.c 5.1 93/09/24 */
2 /*
3 * ====================================================
4 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
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 * ====================================================
14 * isnan(x) returns 1 is x is nan, else 0;
15 * no branching!
18 #include <math.h>
19 #include <math_private.h>
21 #undef __isnan
22 int __isnan(double x)
24 int64_t hx;
25 EXTRACT_WORDS64(hx,x);
26 hx &= UINT64_C(0x7fffffffffffffff);
27 hx = UINT64_C(0x7ff0000000000000) - hx;
28 return (int)(((uint64_t)hx)>>63);
30 hidden_def (__isnan)
31 weak_alias (__isnan, isnan)
32 #ifdef NO_LONG_DOUBLE
33 strong_alias (__isnan, __isnanl)
34 weak_alias (__isnan, isnanl)
35 #endif