#FEATURE by cg
authorClaus Gittinger <cg@exept.de>
Fri, 29 Nov 2019 20:43:13 +0100
changeset 2441 d32842601d64
parent 2440 dd7f294de89b
child 2442 31b4f594212b
#FEATURE by cg class: RegressionTests::QDoubleTests changed: #test_06b_log10
RegressionTests__QDoubleTests.st
--- a/RegressionTests__QDoubleTests.st	Fri Nov 29 19:22:02 2019 +0100
+++ b/RegressionTests__QDoubleTests.st	Fri Nov 29 20:43:13 2019 +0100
@@ -512,6 +512,7 @@
 test_06b_log10
     |q1 q2 d3a q3a d3b q3b q4 i|
 
+    "/ 5.5...e-18
     q1 := QDouble d0: 5.55111512312578E-18 
                   d1: -3.08148791101958E-34 
                   d2: 1.71056941445901E-50 
@@ -535,6 +536,20 @@
     q4 := q3b floor.
     i := q4 asInteger.
 
+    self assert:(1.0 asQDouble ln = 0.0).
+    self assert:(QDouble e ln - 1.0) < (2*QDouble epsilon).   
+    self assert:(QDouble e squared ln - 2.0) < (2*QDouble epsilon).  
+
+    self assert:(1.0 asQDouble log10 = 0.0).
+    self assert:(10.0 asQDouble log10 - 1.0) < (2*QDouble epsilon).   
+    self assert:(10000.0 asQDouble log10 - 5.0) < (2*QDouble epsilon).  
+    self assert:(1e20 asQDouble log10 - 20.0) < (2*QDouble epsilon).
+    self assert:(1e-20 asQDouble log10 + 20.0) < (2*QDouble epsilon).
+
+    "/ nope: too inaccurate
+    "/ self assert:(1e-100 asQDouble log10 + 100.0) < (2*QDouble epsilon).       
+
+    "/ QDouble fmax abs log10 floor asInteger.
 
     "
      self run:#test_06b_log10