--- a/RegressionTests__IntegerTest.st Thu Jun 23 21:55:16 2016 +0100
+++ b/RegressionTests__IntegerTest.st Thu Jun 23 23:47:01 2016 +0100
@@ -1610,6 +1610,9 @@
minVal := SmallInteger perform:('minVal' asSymbol).
maxVal := SmallInteger perform:('maxVal' asSymbol).
+ self assert:(minVal class == SmallInteger).
+ self assert:(maxVal class == SmallInteger).
+
self assert:(minVal == self num_smallInt_minVal).
self assert:(maxVal == self num_smallInt_maxVal).
@@ -1629,29 +1632,32 @@
self assert:(SmallInteger perform:'maxBytes' asSymbol) == (ExternalAddress perform:'pointerSize' asSymbol).
SmallInteger maxBytes == 4 ifTrue:[
- self assert:(minVal hexPrintString = '-40000000').
- self assert:(maxVal hexPrintString = '3FFFFFFF').
- self assert:(minVal == -1073741824).
- self assert:(maxVal == 1073741823).
- maxValPlus1 := 1073741824.
- minValMinus1 := -1073741825.
- self assert:(minValMinus1 hexPrintString = '-40000001').
- self assert:(maxValPlus1 hexPrintString = '40000000').
- halfMin := -16r20000000.
- halfMax := 16r20000000.
+ self assert:(minVal hexPrintString = '-40000000').
+ self assert:(maxVal hexPrintString = '3FFFFFFF').
+ self assert:(minVal == -1073741824).
+ self assert:(maxVal == 1073741823).
+ maxValPlus1 := 1073741824.
+ minValMinus1 := -1073741825.
+ self assert:(minValMinus1 hexPrintString = '-40000001').
+ self assert:(maxValPlus1 hexPrintString = '40000000').
+ halfMin := -16r20000000.
+ halfMax := 16r20000000.
].
SmallInteger maxBytes == 8 ifTrue:[
- self assert:(minVal hexPrintString = '-4000000000000000').
- self assert:(maxVal hexPrintString = '3FFFFFFFFFFFFFFF').
- self assert:(minVal == -4611686018427387904).
- self assert:(maxVal == 4611686018427387903).
- maxValPlus1 := 4611686018427387904.
- minValMinus1 := -4611686018427387905.
- self assert:(minValMinus1 hexPrintString = '-4000000000000001').
- self assert:(maxValPlus1 hexPrintString = '4000000000000000').
- halfMin := -16r2000000000000000.
- halfMax := 16r2000000000000000.
+ self assert:(minVal hexPrintString = '-4000000000000000').
+ self assert:(maxVal hexPrintString = '3FFFFFFFFFFFFFFF').
+ self assert:(minVal == -4611686018427387904).
+ self assert:(maxVal == 4611686018427387903).
+ maxValPlus1 := 4611686018427387904.
+ minValMinus1 := -4611686018427387905.
+ self assert:(minValMinus1 hexPrintString = '-4000000000000001').
+ self assert:(maxValPlus1 hexPrintString = '4000000000000000').
+ halfMin := -16r2000000000000000.
+ halfMax := 16r2000000000000000.
].
+
+ self assert:(minValMinus1 class == LargeInteger).
+ self assert:(maxValPlus1 class == LargeInteger).
"arithmetic overFlow checks"