RegressionTests__IntegerTest.st
changeset 2264 3e8bba774202
parent 2263 7b3944adf308
child 2331 ebd02b4587a8
--- a/RegressionTests__IntegerTest.st	Tue Jun 04 01:10:59 2019 +0200
+++ b/RegressionTests__IntegerTest.st	Tue Jun 04 01:18:38 2019 +0200
@@ -5222,6 +5222,24 @@
     "Created: / 20-03-2019 / 12:45:37 / Claus Gittinger"
 !
 
+testBitInterleaving
+    "check Morton number generation
+     -> https://en.wikipedia.org/wiki/Morton_number_(number_theory))"
+     
+                                                "/       0 0 1 1                
+                                                "/      1 0 1 0                
+     self assert:(2r0011 bitInterleaveWith:2r1010) == 2r10001101.
+     self assert:(2r10001101 bitDeinterleave:2) = #(2r0011 2r1010).
+
+                                                "/                   0  0  1  1                
+                                                "/                  1  0  1  0                
+                                                "/                 1  1  0  1                
+     self assert:(2r0011 bitInterleaveWith:2r1010 and:2r1101) == 2r110100011101.
+     self assert:(2r110100011101 bitDeinterleave:3) = #(2r0011 2r1010 2r1101).
+
+    "Created: / 04-06-2019 / 01:16:09 / Claus Gittinger"
+!
+
 testBitReversed
     #( 
         2r10000000 2r00000001