RegressionTests__IEEEFloatTest.st
changeset 2458 c1adf66c10d4
parent 2451 9184c6a9f95c
child 2459 8754c5f80a6f
--- a/RegressionTests__IEEEFloatTest.st	Tue Dec 03 12:46:10 2019 +0100
+++ b/RegressionTests__IEEEFloatTest.st	Tue Dec 03 18:50:31 2019 +0100
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
 "{ Package: 'stx:goodies/regression' }"
 
 "{ NameSpace: RegressionTests }"
@@ -41,6 +43,8 @@
     "computed precision vs. assumed precision."
 
     "/ verify IEEE values
+    self assert:((IEEEFloat fromFloat:1.0) radix == 2).
+
     self assert:((IEEEFloat fromFloat:1.0) emin == 1.0 emin).
     self assert:((IEEEFloat fromFloat:1.0) emax == 1.0 emax).
     self assert:((IEEEFloat fromFloat:1.0) eBias == 1.0 eBias).
@@ -542,146 +546,49 @@
         self assert:( num fractionPart + num truncated ) class == num class.
     ].
 
-    check value:1.6.
-    check value:-1.6.
-
-    check value:1.6 asShortFloat.
-    check value:-1.6 asShortFloat.
-
-    check value:1.6 asLongFloat.
-    check value:-1.6 asLongFloat.
-
-
-    self assert:( 1.6 ceiling ) = 2.
-    self assert:( 1.6 asShortFloat ceiling ) = 2.
-    self assert:( 1.6 asLongFloat ceiling ) = 2.
+    check value:1.6 asIEEEFloat.
+    check value:-1.6 asIEEEFloat.
 
-    self assert:( 1.6 ceilingAsFloat ) = 2.0.
-    self assert:( 1.6 ceilingAsFloat ) class == Float.
-    self assert:( 1.6 asShortFloat ceilingAsFloat ) = 2.0 asShortFloat.
-    self assert:( 1.6 asShortFloat ceilingAsFloat ) class == ShortFloat.
-    self assert:( 1.6 asLongFloat ceilingAsFloat ) = 2.0 asLongFloat.
-    self assert:( 1.6 asLongFloat ceilingAsFloat ) class == LongFloat.
-
+    self assert:( 1.6 asIEEEFloat ceiling ) = 2.
+    self assert:( 1.6 asIEEEFloat ceilingAsFloat ) = 2.0.
 
-    self assert:( 1.6 floor ) = 1.
-    self assert:( 1.6 asShortFloat floor ) = 1.
-    self assert:( 1.6 asLongFloat floor ) = 1.
-
-    self assert:( 1.6 floorAsFloat ) = 1.0.
-    self assert:( 1.6 floorAsFloat ) class == Float.
-    self assert:( 1.6 asShortFloat floorAsFloat ) = 1.0 asShortFloat.
-    self assert:( 1.6 asShortFloat floorAsFloat ) class == ShortFloat.
-    self assert:( 1.6 asLongFloat floorAsFloat ) = 1.0 asLongFloat.
-    self assert:( 1.6 asLongFloat floorAsFloat ) class == LongFloat.
+    self assert:( 1.6 asIEEEFloat floor ) = 1.
+    self assert:( 1.6 asIEEEFloat floorAsFloat ) = 1.0.
 
-    self assert:( -1.6 floor ) = -2.
-    self assert:( -1.6 asShortFloat floor ) = -2.
-    self assert:( -1.6 asLongFloat floor ) = -2.
-
-    self assert:( -1.6 floorAsFloat ) = -2.0.
-    self assert:( -1.6 floorAsFloat ) class == Float.
-    self assert:( -1.6 asShortFloat floorAsFloat ) = -2.0 asShortFloat.
-    self assert:( -1.6 asShortFloat floorAsFloat ) class == ShortFloat.
-    self assert:( -1.6 asLongFloat floorAsFloat ) = -2.0 asLongFloat.
-    self assert:( -1.6 asLongFloat floorAsFloat ) class == LongFloat.
-
+    self assert:( -1.6 asIEEEFloat floor ) = -2.
+    self assert:( -1.6 asIEEEFloat floorAsFloat ) = -2.0.
 
-    self assert:( 0.4 rounded ) class == SmallInteger.
-    self assert:( 0.4 rounded = 0 ).
-    self assert:( 0.5 rounded = 1 ).
-    self assert:( 0.6 rounded = 1 ).
-    self assert:( -0.4 rounded = 0 ).
-    self assert:( -0.5 rounded = -1 ).
-    self assert:( -0.6 rounded = -1 ).
-
-    self assert:( 0.4 roundedAsFloat ) class == Float.
-    self assert:( 0.4 roundedAsFloat  = 0.0 ).
-    self assert:( 0.5 roundedAsFloat  = 1.0 ).
-    self assert:( 0.6 roundedAsFloat  = 1.0 ).
-    self assert:( -0.4 roundedAsFloat = 0 ).
-    self assert:( -0.5 roundedAsFloat = -1.0 ).
-    self assert:( -0.6 roundedAsFloat = -1.0 ).
-
-    self assert:( 0.4 asShortFloat rounded ) class == SmallInteger.
-    self assert:( 0.4 asShortFloat rounded = 0 ).
-    self assert:( 0.5 asShortFloat rounded = 1 ).
-    self assert:( 0.6 asShortFloat rounded = 1 ).
-    self assert:( -0.4 asShortFloat rounded = 0 ).
-    self assert:( -0.5 asShortFloat rounded = -1 ).
-    self assert:( -0.6 asShortFloat rounded = -1 ).
+    self assert:( 0.4 asIEEEFloat rounded ) class == SmallInteger.
+    self assert:( 0.4 asIEEEFloat rounded = 0 ).
+    self assert:( 0.5 asIEEEFloat rounded = 1 ).
+    self assert:( 0.6 asIEEEFloat rounded = 1 ).
+    self assert:( -0.4 asIEEEFloat rounded = 0 ).
+    self assert:( -0.5 asIEEEFloat rounded = -1 ).
+    self assert:( -0.6 asIEEEFloat rounded = -1 ).
 
-    self assert:( 0.4 asShortFloat roundedAsFloat ) class == ShortFloat.
-    self assert:( 0.4 asShortFloat roundedAsFloat  = 0.0 ).
-    self assert:( 0.5 asShortFloat roundedAsFloat  = 1.0 ).
-    self assert:( 0.6 asShortFloat roundedAsFloat  = 1.0 ).
-    self assert:( -0.4 asShortFloat roundedAsFloat = 0 ).
-    self assert:( -0.5 asShortFloat roundedAsFloat = -1.0 ).
-    self assert:( -0.6 asShortFloat roundedAsFloat = -1.0 ).
-
-    self assert:( 0.4 asLongFloat rounded ) class == SmallInteger.
-    self assert:( 0.4 asLongFloat rounded = 0 ).
-    self assert:( 0.5 asLongFloat rounded = 1 ).
-    self assert:( 0.6 asLongFloat rounded = 1 ).
-    self assert:( -0.4 asLongFloat rounded = 0 ).
-    self assert:( -0.5 asLongFloat rounded = -1 ).
-    self assert:( -0.6 asLongFloat rounded = -1 ).
-
-    self assert:( 0.4 asLongFloat roundedAsFloat ) class == LongFloat.
-    self assert:( 0.4 asLongFloat roundedAsFloat  = 0.0 ).
-    self assert:( 0.5 asLongFloat roundedAsFloat  = 1.0 ).
-    self assert:( 0.6 asLongFloat roundedAsFloat  = 1.0 ).
-    self assert:( -0.4 asLongFloat roundedAsFloat = 0 ).
-    self assert:( -0.5 asLongFloat roundedAsFloat = -1.0 ).
-    self assert:( -0.6 asLongFloat roundedAsFloat = -1.0 ).
-
-    self assert:( 0.4 truncated ) class == SmallInteger.
-    self assert:( 0.4 truncated = 0 ).
-    self assert:( 0.5 truncated = 0 ).
-    self assert:( 0.6 truncated = 0 ).
-    self assert:( -0.4 truncated = 0 ).
-    self assert:( -0.5 truncated = 0 ).
-    self assert:( -0.6 truncated = 0 ).
+    self assert:( 0.4 asIEEEFloat roundedAsFloat ) class == Float.
+    self assert:( 0.4 asIEEEFloat roundedAsFloat  = 0.0 ).
+    self assert:( 0.5 asIEEEFloat roundedAsFloat  = 1.0 ).
+    self assert:( 0.6 asIEEEFloat roundedAsFloat  = 1.0 ).
+    self assert:( -0.4 asIEEEFloat roundedAsFloat = 0 ).
+    self assert:( -0.5 asIEEEFloat roundedAsFloat = -1.0 ).
+    self assert:( -0.6 asIEEEFloat roundedAsFloat = -1.0 ).
 
-    self assert:( 0.4 truncatedAsFloat ) class == Float.
-    self assert:( 0.4 truncatedAsFloat  = 0.0 ).
-    self assert:( 0.5 truncatedAsFloat  = 0.0 ).
-    self assert:( 0.6 truncatedAsFloat  = 0.0 ).
-    self assert:( -0.4 truncatedAsFloat = 0 ).
-    self assert:( -0.5 truncatedAsFloat = 0.0 ).
-    self assert:( -0.6 truncatedAsFloat = 0.0 ).
-
-    self assert:( 0.4 asShortFloat truncated ) class == SmallInteger.
-    self assert:( 0.4 asShortFloat truncated = 0 ).
-    self assert:( 0.5 asShortFloat truncated = 0 ).
-    self assert:( 0.6 asShortFloat truncated = 0 ).
-    self assert:( -0.4 asShortFloat truncated = 0 ).
-    self assert:( -0.5 asShortFloat truncated = 0 ).
-    self assert:( -0.6 asShortFloat truncated = 0 ).
+    self assert:( 0.4 asIEEEFloat truncated ) class == SmallInteger.
+    self assert:( 0.4 asIEEEFloat truncated = 0 ).
+    self assert:( 0.5 asIEEEFloat truncated = 0 ).
+    self assert:( 0.6 asIEEEFloat truncated = 0 ).
+    self assert:( -0.4 asIEEEFloat truncated = 0 ).
+    self assert:( -0.5 asIEEEFloat truncated = 0 ).
+    self assert:( -0.6 asIEEEFloat truncated = 0 ).
 
-    self assert:( 0.4 asShortFloat truncatedAsFloat ) class == ShortFloat.
-    self assert:( 0.4 asShortFloat truncatedAsFloat  = 0.0 ).
-    self assert:( 0.5 asShortFloat truncatedAsFloat  = 0.0 ).
-    self assert:( 0.6 asShortFloat truncatedAsFloat  = 0.0 ).
-    self assert:( -0.4 asShortFloat truncatedAsFloat = 0 ).
-    self assert:( -0.5 asShortFloat truncatedAsFloat = 0.0 ).
-    self assert:( -0.6 asShortFloat truncatedAsFloat = 0.0 ).
-
-    self assert:( 0.4 asLongFloat truncated ) class == SmallInteger.
-    self assert:( 0.4 asLongFloat truncated = 0 ).
-    self assert:( 0.5 asLongFloat truncated = 0 ).
-    self assert:( 0.6 asLongFloat truncated = 0 ).
-    self assert:( -0.4 asLongFloat truncated = 0 ).
-    self assert:( -0.5 asLongFloat truncated = 0 ).
-    self assert:( -0.6 asLongFloat truncated = 0 ).
-
-    self assert:( 0.4 asLongFloat truncatedAsFloat ) class == LongFloat.
-    self assert:( 0.4 asLongFloat truncatedAsFloat  = 0.0 ).
-    self assert:( 0.5 asLongFloat truncatedAsFloat  = 0.0 ).
-    self assert:( 0.6 asLongFloat truncatedAsFloat  = 0.0 ).
-    self assert:( -0.4 asLongFloat truncatedAsFloat = 0 ).
-    self assert:( -0.5 asLongFloat truncatedAsFloat = 0.0 ).
-    self assert:( -0.6 asLongFloat truncatedAsFloat = 0.0 ).
+    self assert:( 0.4 asIEEEFloat truncatedAsFloat ) class == Float.
+    self assert:( 0.4 asIEEEFloat truncatedAsFloat  = 0.0 ).
+    self assert:( 0.5 asIEEEFloat truncatedAsFloat  = 0.0 ).
+    self assert:( 0.6 asIEEEFloat truncatedAsFloat  = 0.0 ).
+    self assert:( -0.4 asIEEEFloat truncatedAsFloat = 0 ).
+    self assert:( -0.5 asIEEEFloat truncatedAsFloat = 0.0 ).
+    self assert:( -0.6 asIEEEFloat truncatedAsFloat = 0.0 ).
 
     "
      self basicNew test07_Truncation