--- 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