RegressionTests__LargeFloatTest.st
changeset 1447 2351db93aa5b
parent 1070 3a47933aea21
child 1500 d406a10b2965
child 1720 56c09596d753
--- a/RegressionTests__LargeFloatTest.st	Wed Jun 29 13:00:17 2016 +0000
+++ b/RegressionTests__LargeFloatTest.st	Wed Jun 29 15:55:29 2016 +0200
@@ -1,4 +1,4 @@
-"{ Package: 'exept:regression' }"
+"{ Package: 'stx:goodies/regression' }"
 
 "{ NameSpace: RegressionTests }"
 
@@ -20,19 +20,19 @@
 
     one := aFloatClass unity.  "/ 1.0 in this class
     half := one coerce:0.5.
-    x := one.    
+    x := one.
     count := 0.
 
     [ one + x ~= one] whileTrue:[
-        x := x * half.
-        count := count + 1.
+	x := x * half.
+	count := count + 1.
     ].
     ^ count
 
     "
-     self basicNew actualPrecisionOf:ShortFloat 
-     self basicNew actualPrecisionOf:Float      
-     self basicNew actualPrecisionOf:LongFloat   
+     self basicNew actualPrecisionOf:ShortFloat
+     self basicNew actualPrecisionOf:Float
+     self basicNew actualPrecisionOf:LongFloat
     "
 ! !
 
@@ -89,46 +89,46 @@
 
     |check posInf negInf|
 
-    check := 
-        [:v1 :v2 |
+    check :=
+	[:v1 :v2 |
 
-            posInf := v1 uncheckedDivide: v2.
+	    posInf := v1 uncheckedDivide: v2.
 
-            self assert:( posInf isMemberOf:v1 class ).
-            self assert:( posInf isNaN not ).
-            self assert:( posInf isFinite not ).
-            self assert:( posInf isInfinite ).
-            self assert:( posInf positive ).
-            self assert:( posInf negative not ).
-            self assert:( posInf isNegativeInfinity not).
-            self assert:( posInf isPositiveInfinity ).
+	    self assert:( posInf isMemberOf:v1 class ).
+	    self assert:( posInf isNaN not ).
+	    self assert:( posInf isFinite not ).
+	    self assert:( posInf isInfinite ).
+	    self assert:( posInf positive ).
+	    self assert:( posInf negative not ).
+	    self assert:( posInf isNegativeInfinity not).
+	    self assert:( posInf isPositiveInfinity ).
 
-            negInf := v1 negated uncheckedDivide: v2.
+	    negInf := v1 negated uncheckedDivide: v2.
 
-            self assert:( negInf isMemberOf:v1 class ).
-            self assert:( negInf isNaN not ).
-            self assert:( negInf isFinite not ).
-            self assert:( negInf isInfinite ).
-            self assert:( negInf positive not).
-            self assert:( negInf negative ).
-            self assert:( negInf isNegativeInfinity ).
-            self assert:( negInf isPositiveInfinity not ).
+	    self assert:( negInf isMemberOf:v1 class ).
+	    self assert:( negInf isNaN not ).
+	    self assert:( negInf isFinite not ).
+	    self assert:( negInf isInfinite ).
+	    self assert:( negInf positive not).
+	    self assert:( negInf negative ).
+	    self assert:( negInf isNegativeInfinity ).
+	    self assert:( negInf isPositiveInfinity not ).
 
-            self assert:( negInf + negInf = negInf).
-            self assert:( posInf + posInf = posInf).
-            self assert:( negInf + posInf) isNaN.
-            self assert:( posInf + negInf) isNaN.
+	    self assert:( negInf + negInf = negInf).
+	    self assert:( posInf + posInf = posInf).
+	    self assert:( negInf + posInf) isNaN.
+	    self assert:( posInf + negInf) isNaN.
 
-            self assert:( negInf - posInf = negInf).
-            self assert:( negInf - negInf) isNaN.
-            self assert:( posInf - negInf = posInf).
-            self assert:( posInf - posInf) isNaN.
+	    self assert:( negInf - posInf = negInf).
+	    self assert:( negInf - negInf) isNaN.
+	    self assert:( posInf - negInf = posInf).
+	    self assert:( posInf - posInf) isNaN.
 
-            self assert:( posInf + v1) = posInf.
-            self assert:( posInf - v1) = posInf.
-            self assert:( negInf + v1) = negInf.
-            self assert:( negInf - v1) = negInf.
-        ].
+	    self assert:( posInf + v1) = posInf.
+	    self assert:( posInf - v1) = posInf.
+	    self assert:( negInf + v1) = negInf.
+	    self assert:( negInf - v1) = negInf.
+	].
 
     check value: 1.0 asLargeFloat value: 0.0 asLargeFloat.
 
@@ -263,20 +263,20 @@
 "/        arcCos     0.5
 "/        arcTan     0.5
 
-        sinh       0.5 
-        cosh       0.5
-        tanh       0.5
-        arcSinh    0.5
-        arcCosh    1.5
-        arcTanh    0.5
+	sinh       0.5
+	cosh       0.5
+	tanh       0.5
+	arcSinh    0.5
+	arcCosh    1.5
+	arcTanh    0.5
     ) pairWiseDo:[:op :arg |
 "/        self assert:( arg asLargeFloat perform:op ) class == LargeFloat.
-        ( arg asLargeFloat perform:op ) class == LargeFloat ifFalse:[
-            Transcript showCR:'warning: missing LargeFloat function: ' , op.
-        ].
+	( arg asLargeFloat perform:op ) class == LargeFloat ifFalse:[
+	    Transcript showCR:'warning: missing LargeFloat function: ' , op.
+	].
 
-        self assert:( (arg perform:op) - (arg asLargeFloat perform:op) ) < 0.000001.
-        self assert:( (arg perform:op) - (arg perform:op) asLargeFloat ) < 0.000001.
+	self assert:( (arg perform:op) - (arg asLargeFloat perform:op) ) < 0.000001.
+	self assert:( (arg perform:op) - (arg perform:op) asLargeFloat ) < 0.000001.
     ].
 
     "
@@ -288,8 +288,8 @@
     |check|
 
     check := [:num |
-        self assert:( num fractionPart + num truncated ) = num.
-        self assert:( num fractionPart + num truncated ) class == num class.
+	self assert:( num fractionPart + num truncated ) = num.
+	self assert:( num fractionPart + num truncated ) class == num class.
     ].
 
     check value:1.6 asLargeFloat.
@@ -308,69 +308,69 @@
     self assert:( 1.6 asLargeFloat floorAsFloat ) class == LargeFloat.
 
 
-    self assert:( 0.4 asLargeFloat rounded ) class == SmallInteger.    
-    self assert:( 0.4 asLargeFloat rounded = 0 ).    
-    self assert:( 0.5 asLargeFloat rounded = 1 ).     
-    self assert:( 0.6 asLargeFloat rounded = 1 ).     
-    self assert:( -0.4 asLargeFloat rounded = 0 ).    
-    self assert:( -0.5 asLargeFloat rounded = -1 ).    
-    self assert:( -0.6 asLargeFloat rounded = -1 ).    
+    self assert:( 0.4 asLargeFloat rounded ) class == SmallInteger.
+    self assert:( 0.4 asLargeFloat rounded = 0 ).
+    self assert:( 0.5 asLargeFloat rounded = 1 ).
+    self assert:( 0.6 asLargeFloat rounded = 1 ).
+    self assert:( -0.4 asLargeFloat rounded = 0 ).
+    self assert:( -0.5 asLargeFloat rounded = -1 ).
+    self assert:( -0.6 asLargeFloat rounded = -1 ).
 
-    self assert:( 0.4 asLargeFloat roundedAsFloat ) class == LargeFloat.    
-    self assert:( 0.4 asLargeFloat roundedAsFloat  = 0.0 ).    
-    self assert:( 0.5 asLargeFloat roundedAsFloat  = 1.0 ).    
-    self assert:( 0.6 asLargeFloat roundedAsFloat  = 1.0 ).    
-    self assert:( -0.4 asLargeFloat roundedAsFloat = 0 ).    
-    self assert:( -0.5 asLargeFloat roundedAsFloat = -1.0 ).    
-    self assert:( -0.6 asLargeFloat roundedAsFloat = -1.0 ).    
+    self assert:( 0.4 asLargeFloat roundedAsFloat ) class == LargeFloat.
+    self assert:( 0.4 asLargeFloat roundedAsFloat  = 0.0 ).
+    self assert:( 0.5 asLargeFloat roundedAsFloat  = 1.0 ).
+    self assert:( 0.6 asLargeFloat roundedAsFloat  = 1.0 ).
+    self assert:( -0.4 asLargeFloat roundedAsFloat = 0 ).
+    self assert:( -0.5 asLargeFloat roundedAsFloat = -1.0 ).
+    self assert:( -0.6 asLargeFloat 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 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 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 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 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 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 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 asLargeFloat truncated ) class == SmallInteger.    
-    self assert:( 0.4 asLargeFloat truncated = 0 ).    
-    self assert:( 0.5 asLargeFloat truncated = 0 ).     
-    self assert:( 0.6 asLargeFloat truncated = 0 ).     
-    self assert:( -0.4 asLargeFloat truncated = 0 ).    
-    self assert:( -0.5 asLargeFloat truncated = 0 ).    
-    self assert:( -0.6 asLargeFloat truncated = 0 ).    
+    self assert:( 0.4 asLargeFloat truncated ) class == SmallInteger.
+    self assert:( 0.4 asLargeFloat truncated = 0 ).
+    self assert:( 0.5 asLargeFloat truncated = 0 ).
+    self assert:( 0.6 asLargeFloat truncated = 0 ).
+    self assert:( -0.4 asLargeFloat truncated = 0 ).
+    self assert:( -0.5 asLargeFloat truncated = 0 ).
+    self assert:( -0.6 asLargeFloat truncated = 0 ).
 
-    self assert:( 0.4 asLargeFloat truncatedAsFloat ) class == LargeFloat.    
-    self assert:( 0.4 asLargeFloat truncatedAsFloat  = 0.0 ).    
-    self assert:( 0.5 asLargeFloat truncatedAsFloat  = 0.0 ).    
-    self assert:( 0.6 asLargeFloat truncatedAsFloat  = 0.0 ).    
-    self assert:( -0.4 asLargeFloat truncatedAsFloat = 0 ).    
-    self assert:( -0.5 asLargeFloat truncatedAsFloat = 0.0 ).    
-    self assert:( -0.6 asLargeFloat truncatedAsFloat = 0.0 ).    
+    self assert:( 0.4 asLargeFloat truncatedAsFloat ) class == LargeFloat.
+    self assert:( 0.4 asLargeFloat truncatedAsFloat  = 0.0 ).
+    self assert:( 0.5 asLargeFloat truncatedAsFloat  = 0.0 ).
+    self assert:( 0.6 asLargeFloat truncatedAsFloat  = 0.0 ).
+    self assert:( -0.4 asLargeFloat truncatedAsFloat = 0 ).
+    self assert:( -0.5 asLargeFloat truncatedAsFloat = 0.0 ).
+    self assert:( -0.6 asLargeFloat truncatedAsFloat = 0.0 ).
 
     "
      self basicNew test07_Truncation
@@ -378,7 +378,7 @@
 !
 
 test08_Representation
-"/    self assert:( 0.0 asLargeFloat exponent = 0 ).      
+"/    self assert:( 0.0 asLargeFloat exponent = 0 ).
 "/    self assert:( 1.0 asLargeFloat exponent = 0 "1" ).
 "/    self assert:( 2.0 asLargeFloat exponent = 1 "2" ).
 "/    self assert:( 3.0 asLargeFloat exponent = 2 ).
@@ -395,24 +395,24 @@
 !
 
 test09_Testing
-    self assert:( 0.0 asLargeFloat isZero ).      
-    self assert:( 1.0 asLargeFloat isZero not ).      
+    self assert:( 0.0 asLargeFloat isZero ).
+    self assert:( 1.0 asLargeFloat isZero not ).
 
-    self assert:( 0.0 asLargeFloat negative not ).      
-    self assert:( 1.0 asLargeFloat negative not ).      
-    self assert:( -1.0 asLargeFloat negative ).      
+    self assert:( 0.0 asLargeFloat negative not ).
+    self assert:( 1.0 asLargeFloat negative not ).
+    self assert:( -1.0 asLargeFloat negative ).
 
-    self assert:( 0.0 asLargeFloat positive ).      
-    self assert:( 1.0 asLargeFloat positive ).      
-    self assert:( -1.0 asLargeFloat positive not ).      
+    self assert:( 0.0 asLargeFloat positive ).
+    self assert:( 1.0 asLargeFloat positive ).
+    self assert:( -1.0 asLargeFloat positive not ).
 
-    self assert:( 0.0 asLargeFloat strictlyPositive not ).      
-    self assert:( 1.0 asLargeFloat strictlyPositive ).      
-    self assert:( -1.0 asLargeFloat strictlyPositive not ).      
+    self assert:( 0.0 asLargeFloat strictlyPositive not ).
+    self assert:( 1.0 asLargeFloat strictlyPositive ).
+    self assert:( -1.0 asLargeFloat strictlyPositive not ).
 
-    self assert:( 0.0 asLargeFloat sign == 0 ).      
-    self assert:( 1.0 asLargeFloat sign == 1 ).      
-    self assert:( -1.0 asLargeFloat sign == -1 ).      
+    self assert:( 0.0 asLargeFloat sign == 0 ).
+    self assert:( 1.0 asLargeFloat sign == 1 ).
+    self assert:( -1.0 asLargeFloat sign == -1 ).
 
     "
      self basicNew test09_Testing