Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
godotengine
GitHub Repository: godotengine/godot
Path: blob/master/thirdparty/sdl/libm/s_isnan.c
9903 views
1
#include "SDL_internal.h"
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
/*
14
* isnan(x) returns 1 is x is nan, else 0;
15
* no branching!
16
*/
17
18
#include "math.h"
19
#include "math_private.h"
20
21
int __isnan(double x)
22
{
23
int32_t hx,lx;
24
EXTRACT_WORDS(hx,lx,x);
25
hx &= 0x7fffffff;
26
hx |= (u_int32_t)(lx|(-lx))>>31;
27
hx = 0x7ff00000 - hx;
28
return (int)(((u_int32_t)hx)>>31);
29
}
30
weak_alias(__isnan, isnan)
31
libm_hidden_def(__isnan)
32
33