--- a/RegressionTests__IntegerTest.st Tue Sep 25 15:57:31 2007 +0200
+++ b/RegressionTests__IntegerTest.st Tue Sep 25 16:10:54 2007 +0200
@@ -1872,6 +1872,8 @@
!
testLargeSubtraction1
+ |a1 a2 a b1 b2 b c1 c2 c|
+
self assert:((2770568 + 2770568) printString = '5541136').
self assert:((2770568 - 2770568) printString = '0').
self assert:((2770568 negated + 2770568 negated) printString = '-5541136').
@@ -1885,6 +1887,29 @@
self assert:((5541137800 negated - 2770568900 negated) printString = '-2770568900').
self assert:((2770568900 negated - 5541137800 negated) printString = '2770568900').
+ a1 := -2770568900. a2 := 59049.
+ a := (a1 / a2) negated.
+ b1 := -5872025600. b2 := 59049.
+ b := (b1 / b2) negated.
+ c1 := 344606300. c2 := 6561.
+ c := (c1 / c2) negated.
+ self assert:(a - b closeTo: c).
+ self assert:((a - b) asFloat closeTo: c asFloat).
+ self assert:((a asFloat - b) closeTo: c asFloat).
+ self assert:((a - b asFloat) closeTo: c asFloat).
+
+ a := -10.
+ b := -12.
+ self assert:(a - b = 2).
+
+ a := -10000000.
+ b := -12000000.
+ self assert:(a - b = 2000000).
+
+ a := -100000000000000.
+ b := -120000000000000.
+ self assert:(a - b = 20000000000000).
+
"
self basicNew testLargeSubtraction1
"