--- a/RegressionTests__IntegerTest.st Wed Nov 30 13:56:33 2016 +0000
+++ b/RegressionTests__IntegerTest.st Thu Dec 08 10:28:07 2016 +0000
@@ -3961,6 +3961,36 @@
"
!
+testNextPowerOfTwo
+ "/ self assert:(0 nextPowerOf2 = 0).
+ self assert:(1 nextPowerOf2 = 1).
+ self assert:(2 nextPowerOf2 = 2).
+ self assert:(3 nextPowerOf2 = 4).
+ self assert:(4 nextPowerOf2 = 4).
+ self assert:(5 nextPowerOf2 = 8).
+ self assert:(6 nextPowerOf2 = 8).
+ self assert:(7 nextPowerOf2 = 8).
+ self assert:(8 nextPowerOf2 = 8).
+ self assert:(9 nextPowerOf2 = 16).
+
+ self assert:(22 nextPowerOf2 = 32).
+ self assert:(32 nextPowerOf2 = 32).
+ self assert:(16rFFFF nextPowerOf2 = 16r10000).
+ self assert:(16r1FFFFFFF nextPowerOf2 = 16r20000000).
+ self assert:(16r3FFFFFFF nextPowerOf2 = 16r40000000).
+ self assert:(16r7FFFFFFF nextPowerOf2 = 16r80000000).
+ self assert:(16rFFFFFFFF nextPowerOf2 = 16r100000000).
+ self assert:(16r1FFFFFFFFFFFFFFF nextPowerOf2 = 16r2000000000000000).
+ self assert:(16r3FFFFFFFFFFFFFFF nextPowerOf2 = 16r4000000000000000).
+ self assert:(16r7FFFFFFFFFFFFFFF nextPowerOf2 = 16r8000000000000000).
+ self assert:(16rFFFFFFFFFFFFFFFF nextPowerOf2 = 16r10000000000000000).
+ self assert:(16rFFFFFFFFFFFFFFFFFFFF nextPowerOf2 = 16r100000000000000000000).
+
+ "
+ self basicNew testNextPowerOfTwo
+ "
+!
+
testPrinting1
self assert:(10 printString = '10').
self assert:(100 printString = '100').
@@ -4710,22 +4740,25 @@
"/ ---------------------
+ n1 := 16rffffffff.
+ n2 := n1 negated.
+ n3 := n2 negated.
+
SmallInteger maxBytes == 8 ifTrue:[
- n1 := 16rffffffff.
- n2 := n1 negated.
- n3 := n2 negated.
-
self assert:(n1 class == SmallInteger).
self assert:(n2 class == SmallInteger).
self assert:(n3 == n1).
-
- self assert:(n1 = 16rfFFFFFFF).
- self assert:(n2 = -16rfFFFFFFF).
+ self assert:(n2 == -16rfFFFFFFF).
self assert:(n1 == 16rfFFFFFFF).
- self assert:(n2 == -16rfFFFFFFF).
- self assert:(n1 printString = '4294967295').
- self assert:(n2 printString = '-4294967295').
+ ] ifFalse:[
+ self assert:(n1 class == LargeInteger).
+ self assert:(n2 class == LargeInteger).
+ self assert:(n3 = n1).
].
+ self assert:(n1 = 16rfFFFFFFF).
+ self assert:(n2 = -16rfFFFFFFF).
+ self assert:(n1 printString = '4294967295').
+ self assert:(n2 printString = '-4294967295').
"/ ---------------------
@@ -4759,6 +4792,7 @@
"
"Modified: / 09-11-2016 / 15:38:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 10-10-2016 / 23:31:11 / cg"
! !
!IntegerTest methodsFor:'tests-class protocol'!