--- 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 $'
! !