Subversion Repositories shark

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 pj 1
/* @(#)s_isnan.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
#if 0
13
#ifndef lint
14
static char rcsid[] = "$\Id: s_isnan.c,v 1.2 1995/05/30 05:49:47 rgrimes Exp $";
15
#endif
16
 
17
/*
18
 * isnan(x) returns 1 is x is nan, else 0;
19
 * no branching!
20
 */
21
 
22
#include "math.h"
23
#include "math_private.h"
24
 
25
#ifdef __STDC__
26
        int isnan(double x)
27
#else
28
        int isnan(x)
29
        double x;
30
#endif
31
{
32
        int32_t hx,lx;
33
        EXTRACT_WORDS(hx,lx,x);
34
        hx &= 0x7fffffff;
35
        hx |= (u_int32_t)(lx|(-lx))>>31;
36
        hx = 0x7ff00000 - hx;
37
        return (int)((u_int32_t)(hx))>>31;
38
}
39
#endif