--- a/RegressionTests__IntegerTest.st Wed Apr 13 23:15:27 2016 +0100
+++ b/RegressionTests__IntegerTest.st Tue Apr 26 21:49:30 2016 +0100
@@ -1485,6 +1485,80 @@
"Created: / 27-04-2010 / 09:49:31 / cg"
!
+testHighBitLowBit
+ self assert:( 2r0 highBit == 0).
+ self assert:( 2r1 highBit == 1).
+ self assert:( 2r10 highBit == 2).
+ self assert:( 2r100 highBit == 3).
+ self assert:( 2r1000 highBit == 4).
+ self assert:( 16r10 highBit == 5).
+ self assert:( 16r100 highBit == 9).
+ self assert:( 16r1000 highBit == 13).
+ self assert:( 16r10000 highBit == 17).
+ self assert:( 16r100000 highBit == 21).
+ self assert:( 16r1000000 highBit == 25).
+ self assert:( 16r10000000 highBit == 29).
+ self assert:( 16r100000000 highBit == 33).
+ self assert:( 16r1000000000 highBit == 37).
+ self assert:( 16r10000000000 highBit == 41).
+ self assert:( 16r100000000000 highBit == 45).
+ self assert:( 16r1000000000000 highBit == 49).
+ self assert:( 16r10000000000000 highBit == 53).
+ self assert:( 16r100000000000000 highBit == 57).
+ self assert:( 16r1000000000000000 highBit == 61).
+ self assert:( 16r10000000000000000 highBit == 65).
+ self assert:( (1 bitShift:1000) highBit == 1001).
+
+ self assert:( 2r0 lowBit == 0).
+ self assert:( 2r1 lowBit == 1).
+ self assert:( 2r10 lowBit == 2).
+ self assert:( 2r100 lowBit == 3).
+ self assert:( 2r1000 lowBit == 4).
+ self assert:( 16r10 lowBit == 5).
+ self assert:( 16r100 lowBit == 9).
+ self assert:( 16r1000 lowBit == 13).
+ self assert:( 16r10000 lowBit == 17).
+ self assert:( 16r100000 lowBit == 21).
+ self assert:( 16r1000000 lowBit == 25).
+ self assert:( 16r10000000 lowBit == 29).
+ self assert:( 16r100000000 lowBit == 33).
+ self assert:( 16r1000000000 lowBit == 37).
+ self assert:( 16r10000000000 lowBit == 41).
+ self assert:( 16r100000000000 lowBit == 45).
+ self assert:( 16r1000000000000 lowBit == 49).
+ self assert:( 16r10000000000000 lowBit == 53).
+ self assert:( 16r100000000000000 lowBit == 57).
+ self assert:( 16r1000000000000000 lowBit == 61).
+ self assert:( 16r10000000000000000 lowBit == 65).
+ self assert:( (1 bitShift:1000) lowBit == 1001).
+
+ self assert:(( 2r1 bitOr: 16r10000000000) lowBit = 1).
+ self assert:(( 2r10 bitOr: 16r10000000000) lowBit = 2).
+ self assert:(( 2r100 bitOr: 16r10000000000) lowBit = 3).
+ self assert:(( 2r1000 bitOr: 16r10000000000) lowBit = 4).
+ self assert:(( 16r10 bitOr: 16r10000000000) lowBit = 5).
+ self assert:(( 16r100 bitOr: 16r10000000000) lowBit = 9).
+ self assert:(( 16r1000 bitOr: 16r10000000000) lowBit = 13).
+ self assert:(( 16r10000 bitOr: 16r10000000000) lowBit = 17).
+ self assert:(( 16r100000 bitOr: 16r10000000000) lowBit = 21).
+ self assert:(( 16r1000000 bitOr: 16r10000000000) lowBit = 25).
+ self assert:(( 16r10000000 bitOr: 16r10000000000) lowBit = 29).
+ self assert:(( 16r100000000 bitOr: 16r10000000000) lowBit = 33).
+ self assert:(( 16r1000000000 bitOr: 16r10000000000) lowBit = 37).
+ self assert:(( 16r10000000000 bitOr: 16r10000000000) lowBit = 41).
+ self assert:(( 16r100000000000 bitOr: 16r100000000000) lowBit = 45).
+ self assert:(( 16r1000000000000 bitOr: 16r1000000000000) lowBit = 49).
+ self assert:(( 16r10000000000000 bitOr: 16r10000000000000) lowBit = 53).
+ self assert:(( 16r100000000000000 bitOr: 16r100000000000000) lowBit = 57).
+ self assert:(( 16r1000000000000000 bitOr: 16r1000000000000000) lowBit = 61).
+ self assert:(( 16r10000000000000000 bitOr: 16r10000000000000000) lowBit = 65).
+ self assert:(( (1 bitShift:1000) bitOr: (1 bitShift:1001)) lowBit = 1001).
+
+ "
+ self basicNew testHighBitLowBit
+ "
+!
+
testILC
"inline-cache"