Commit Diff


commit - 9d53e3b430e56c740924f02fbb2695ea3597e13e
commit + fdfecd686054be1aac715fb3b99669873df002bb
blob - 6e355a20faf7e896e9e863b2a2338ec6bcbf9159
blob + 8fad49ebd2513c76f354e7cd205f7074b90e156c
--- src/lib9/fmt/nan64.c
+++ src/lib9/fmt/nan64.c
@@ -9,10 +9,6 @@
 #include "fmt.h"
 #include "fmtdef.h"
 
-#if defined (__APPLE__) || (__powerpc__)
-#define _NEEDLL
-#endif
-
 static uvlong uvnan    = ((uvlong)0x7FF00000<<32)|0x00000001;
 static uvlong uvinf    = ((uvlong)0x7FF00000<<32)|0x00000000;
 static uvlong uvneginf = ((uvlong)0xFFF00000<<32)|0x00000000;
@@ -35,7 +31,7 @@ __isNaN(double d)
 
 	p = &d;
 	x = *(uvlong*)p;
-	return (ulong)(x>>32)==0x7FF00000 && !__isInf(d, 0);
+	return (ulong)((x>>52)&0x7FF)==0x7FF && !__isInf(d, 0);
 }
 
 double