2 * 64-bit IEEE not-a-number routines.
3 * This is big/little-endian portable assuming that
4 * the 64-bit doubles and 64-bit integers have the
14 typedef unsigned long long uvlong;
15 typedef unsigned long ulong;
18 static uvlong uvnan = 0x7FF0000000000001LL;
19 static uvlong uvinf = 0x7FF0000000000000LL;
20 static uvlong uvneginf = 0xFFF0000000000000LL;
22 static uvlong uvnan = 0x7FF0000000000001;
23 static uvlong uvinf = 0x7FF0000000000000;
24 static uvlong uvneginf = 0xFFF0000000000000;
32 /* gcc complains about "return *(double*)&uvnan;" */
45 return (ulong)(x>>32)==0x7FF00000 && !__isInf(d, 0);
61 __isInf(double d, int sign)
69 return x==uvinf || x==uvneginf;