RegressionTests__QuadFloatTest.st
changeset 2415 bca220d828bc
parent 2412 7dfe3409e4bd
child 2416 0c9cb936ffe1
--- 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."