ShortFloat.st
changeset 3139 a4c5540f924a
parent 3014 9934bb63d455
child 3147 60396c4b82eb
--- a/ShortFloat.st	Tue Dec 23 18:09:33 1997 +0100
+++ b/ShortFloat.st	Tue Dec 23 18:10:30 1997 +0100
@@ -565,45 +565,66 @@
 
 %{  /* NOCONTEXT */
 
+    double dV = (double)(__shortFloatVal(self));
+
     /*
      * sigh - every vendor is playing its own game here ...
      * Q: what are standards worth, anyway ?
      */
-#ifdef IS_NAN
-    if (IS_NAN(__shortFloatVal(self))) { RETURN (true); }
+#ifdef isnan
+    if (isnan(dV)) { RETURN (true); }
+    RETURN (false);
 #endif
+
+#ifdef IS_NAN
+    if (IS_NAN(dV)) { RETURN (true); }
+    RETURN (false);
+#endif
+
 #ifdef IS_QNAN
-    if (IS_QNAN(__shortFloatVal(self))) { RETURN (true); }
+    if (IS_QNAN(dV)) { RETURN (true); }
+    RETURN (false);
 #endif
 
 #ifdef FLT_SNAN
-    if (__shortFloatVal(self) == FLT_SNAN) { RETURN (true); }
+    if (dV == FLT_SNAN) { RETURN (true); }
+    RETURN (false);
 #endif
+
 #ifdef FLT_QNAN
-    if (__shortFloatVal(self) == FLT_QNAN) { RETURN (true); }
+    if (dV == FLT_QNAN) { RETURN (true); }
+    RETURN (false);
 #endif
 
 #ifdef _SNANF
-    if (__shortFloatVal(self) == _SNAN) { RETURN (true); }
+    if (dV == _SNAN) { RETURN (true); }
+    RETURN (false);
 #endif
+
 #ifdef _QNANF
-    if (__shortFloatVal(self) == _QNAN) { RETURN (true); }
+    if (dV == _QNAN) { RETURN (true); }
+    RETURN (false);
 #endif
 
 #ifdef IsPosNAN
-    if IsPosNAN(__shortFloatVal(self)) { RETURN (true); }
+    if IsPosNAN(dV) { RETURN (true); }
+    RETURN (false);
 #endif
+
 #ifdef IsNegNAN
-    if IsNegNAN(__shortFloatVal(self)) { RETURN (true); }
+    if IsNegNAN(dV) { RETURN (true); }
+    RETURN (false);
 #endif
 
 #ifdef NAN
-    if (__shortFloatVal(self) == NAN) { RETURN (true); }
-#endif
-#ifdef NaN
-    if (NaN(__shortFloatVal(self))) { RETURN (true); }
+    if (dV == NAN) { RETURN (true); }
+    RETURN (false);
 #endif
 
+#ifdef NaN
+    if (NaN(dV)) { RETURN (true); }
+    RETURN (false);
+#endif
 %}.
     ^ false
 
@@ -643,5 +664,5 @@
 !ShortFloat class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/ShortFloat.st,v 1.24 1997-10-10 13:00:18 ca Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ShortFloat.st,v 1.25 1997-12-23 17:10:30 ca Exp $'
 ! !