LongFloat.st
changeset 24704 807430cfebdb
parent 24691 df00d245c465
child 24818 fb24167bfb3d
--- a/LongFloat.st	Sat Aug 31 16:13:07 2019 +0200
+++ b/LongFloat.st	Sat Aug 31 16:13:18 2019 +0200
@@ -1,5 +1,3 @@
-"{ Encoding: utf8 }"
-
 "
  COPYRIGHT (c) 1999 by eXept Software AG
 	      All Rights Reserved
@@ -2258,8 +2256,7 @@
 !LongFloat methodsFor:'testing'!
 
 isFinite
-    "return true, if the receiver is a finite float
-     i.e. not NaN and not infinite."
+    "return true, if the receiver is a finite float (not NaN and not +/-INF)"
 
 %{  /* NOCONTEXT */
 
@@ -2267,34 +2264,33 @@
     LONGFLOAT_t lV = __longFloatVal(self);
 
     if (LONG_finite(lV)) {
-	RETURN (true);
+        RETURN (true);
     } else {
-	RETURN (false);
+        RETURN (false);
     }
 #else
     double dV = (double) __longFloatVal(self);
 
     if (isfinite(dV)) {
-	RETURN (true);
+        RETURN (true);
     } else {
-	RETURN (false);
+        RETURN (false);
     }
 #endif
 %}
 
     "
-	1.0 asLongFloat isFinite
-	(0.0 asLongFloat uncheckedDivide: 0.0) isFinite
-	(1.0 asLongFloat uncheckedDivide: 0.0) isFinite
-	(-1.0 asLongFloat uncheckedDivide: 0.0) isFinite
+        1.0 asLongFloat isFinite
+        (0.0 asLongFloat uncheckedDivide: 0.0) isFinite
+        (1.0 asLongFloat uncheckedDivide: 0.0) isFinite
+        (-1.0 asLongFloat uncheckedDivide: 0.0) isFinite
     "
 !
 
 isInfinite
-    "return true, if the receiver is an infinite float (Inf).
+    "return true, if the receiver is an infinite float (+Inf or -Inf).
      These are not created by ST/X float operations (they raise an exception);
-     however, inline C-code could produce them ...
-     Redefined here for speed"
+     however, inline C-code could produce them."
 
 %{  /* NOCONTEXT */
 
@@ -2315,20 +2311,20 @@
     ^ self isFinite not and:[self isNaN not]
 
     "
-	1.0 asLongFloat isFinite -> true
-	1.0 asLongFloat isInfinite -> false
-
-	(0.0 asLongFloat uncheckedDivide: 0.0) isFinite -> false
-	(0.0 asLongFloat uncheckedDivide: 0.0) isInfinite -> false
-	(0.0 asLongFloat uncheckedDivide: 0.0) isNaN -> true
-
-	(1.0 asLongFloat uncheckedDivide: 0.0) isFinite -> false
-	(1.0 asLongFloat uncheckedDivide: 0.0) isInfinite -> true
-	(1.0 asLongFloat uncheckedDivide: 0.0) isNaN -> false
-
-	(-1.0 asLongFloat uncheckedDivide: 0.0) isFinite -> false
-	(-1.0 asLongFloat uncheckedDivide: 0.0) isInfinite -> true
-	(-1.0 asLongFloat uncheckedDivide: 0.0) isNaN -> false
+        1.0 asLongFloat isFinite -> true
+        1.0 asLongFloat isInfinite -> false
+
+        (0.0 asLongFloat uncheckedDivide: 0.0) isFinite -> false
+        (0.0 asLongFloat uncheckedDivide: 0.0) isInfinite -> false
+        (0.0 asLongFloat uncheckedDivide: 0.0) isNaN -> true
+
+        (1.0 asLongFloat uncheckedDivide: 0.0) isFinite -> false
+        (1.0 asLongFloat uncheckedDivide: 0.0) isInfinite -> true
+        (1.0 asLongFloat uncheckedDivide: 0.0) isNaN -> false
+
+        (-1.0 asLongFloat uncheckedDivide: 0.0) isFinite -> false
+        (-1.0 asLongFloat uncheckedDivide: 0.0) isInfinite -> true
+        (-1.0 asLongFloat uncheckedDivide: 0.0) isNaN -> false
     "
 
     "Created: / 25-07-2017 / 17:04:04 / cg"
@@ -2337,31 +2333,31 @@
 isNaN
     "return true, if the receiver is an invalid float (NaN - not a number).
      These are not created by ST/X float operations (they raise an exception);
-     however, inline C-code could produce them ..."
+     however, inline C-code could produce them."
 
 %{  /* NOCONTEXT */
 
 #ifdef LONG_isnan
     LONGFLOAT_t lV = __longFloatVal(self);
     if (LONG_isnan(lV)) {
-	RETURN (true);
+        RETURN (true);
     } else {
-	RETURN (false);
+        RETURN (false);
     }
 #else
     double dV = (double)(__longFloatVal(self));
 
     if (isnan(dV)) {
-	RETURN (true);
+        RETURN (true);
     } else {
-	RETURN (false);
+        RETURN (false);
     }
 #endif
 %}
 
     "
-	1.0 asLongFloat isNaN
-	(0.0 asLongFloat uncheckedDivide: 0.0) isNaN
+        1.0 asLongFloat isNaN
+        (0.0 asLongFloat uncheckedDivide: 0.0) isNaN
     "
 !