#FEATURE by exept
authorClaus Gittinger <cg@exept.de>
Fri, 22 Nov 2019 04:41:42 +0100
changeset 2415 bca220d828bc
parent 2414 8cf9b2d022f5
child 2416 0c9cb936ffe1
#FEATURE by exept class: RegressionTests::QuadFloatTest added: #test00_Bits
RegressionTests__QuadFloatTest.st
--- a/RegressionTests__QuadFloatTest.st	Fri Nov 22 02:53:55 2019 +0100
+++ b/RegressionTests__QuadFloatTest.st	Fri Nov 22 04:41:42 2019 +0100
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
 "{ Package: 'stx:goodies/regression' }"
 
 "{ NameSpace: RegressionTests }"
@@ -85,6 +87,37 @@
 
 !QuadFloatTest methodsFor:'tests'!
 
+test00_Bits
+    "check wellknown iee bit patterns"
+
+    |bytes q|
+
+    self assert:(0.0 asQuadFloat = 0.0 asQuadFloat).
+    self assert:(0 asQuadFloat = 0.0 asQuadFloat).
+    self assert:(0 asShortFloat asQuadFloat = 0.0 asQuadFloat).
+
+    self assert:(1.0 asQuadFloat = 1.0 asQuadFloat).
+    self assert:(1 asQuadFloat = 1.0 asQuadFloat).
+    self assert:(1 asShortFloat asQuadFloat = 1.0 asQuadFloat).
+
+    self assert:(2.0 asQuadFloat = 2.0 asQuadFloat).
+    self assert:(2 asQuadFloat = 2.0 asQuadFloat).
+    self assert:(2 asShortFloat asQuadFloat = 2.0 asQuadFloat).
+
+    self assert:(32.0 asQuadFloat = 32.0 asQuadFloat).
+    self assert:(32 asQuadFloat = 32.0 asQuadFloat).
+    self assert:(32 asShortFloat asQuadFloat = 32.0 asQuadFloat).
+
+    q := 0.0 asQuadFloat.
+    bytes := 1 to:q byteSize collect:[:i | q byteAt:i].
+    self assert:(bytes = #(0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 
+                           0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00)).
+
+    "
+     self basicNew test00_Bits
+    "
+!
+
 test00_Precision
     "computed precision vs. assumed precision."