#QUALITY by cg
class: RegressionTests::IntegerTest
added:
#testLargeIntegerHelpers4
#testMiscMath2
changed: #testSmallIntegerDivision1
--- a/RegressionTests__IntegerTest.st Wed Jul 05 16:00:59 2017 +0200
+++ b/RegressionTests__IntegerTest.st Wed Jul 05 16:33:29 2017 +0200
@@ -3166,6 +3166,91 @@
"
!
+testLargeIntegerHelpers4
+ "/ absDivMod:
+
+ self assert:(9000000000000000000 absMod: 4000) = 0.
+ self assert:(-9000000000000000000 absMod: 4000) = 0.
+ self assert:(9000000000000000000 absMod: -4000) = 0.
+ self assert:(-9000000000000000000 absMod: -4000) = 0.
+
+ self assert:(9000000000000000001 absMod: 4000) = 1.
+ self assert:(-9000000000000000001 absMod: 4000) = 1.
+ self assert:(9000000000000000001 absMod: -4000) = 1.
+ self assert:(-9000000000000000001 absMod: -4000) = 1.
+
+ self assert:(9000000000000000000 absMod: 40000) = 0.
+ self assert:(-9000000000000000000 absMod: 40000) = 0.
+ self assert:(9000000000000000000 absMod: -40000) = 0.
+ self assert:(-9000000000000000000 absMod: -40000) = 0.
+
+ self assert:(9000000000000000000 absMod: 400000) = 0.
+ self assert:(-9000000000000000000 absMod: 400000) = 0.
+ self assert:(9000000000000000000 absMod: -400000) = 0.
+ self assert:(-9000000000000000000 absMod: -400000) = 0.
+
+ self assert:(9000000000000000000 absMod: 4000000) = 0.
+ self assert:(-9000000000000000000 absMod: 4000000) = 0.
+ self assert:(9000000000000000000 absMod: -4000000) = 0.
+ self assert:(-9000000000000000000 absMod: -4000000) = 0.
+
+ self assert:(9000000000000000000 absMod: 40000000) = 0.
+ self assert:(-9000000000000000000 absMod: 40000000) = 0.
+ self assert:(9000000000000000000 absMod: -40000000) = 0.
+ self assert:(-9000000000000000000 absMod: -40000000) = 0.
+
+ self assert:(9000000000000000000 absMod: 400000000) = 0.
+ self assert:(-9000000000000000000 absMod: 400000000) = 0.
+ self assert:(9000000000000000000 absMod: -400000000) = 0.
+ self assert:(-9000000000000000000 absMod: -400000000) = 0.
+
+ self assert:(9000000000000000000 absMod: 4000000000) = 0.
+ self assert:(-9000000000000000000 absMod: 4000000000) = 0.
+ self assert:(9000000000000000000 absMod: -4000000000) = 0.
+ self assert:(-9000000000000000000 absMod: -4000000000) = 0.
+
+ self assert:(9000000000000000000 absMod: 40000000000) = 0.
+ self assert:(-9000000000000000000 absMod: 40000000000) = 0.
+ self assert:(9000000000000000000 absMod: -40000000000) = 0.
+ self assert:(-9000000000000000000 absMod: -40000000000) = 0.
+
+ self assert:(9000000000000000000 absMod: 400000000000) = 0.
+ self assert:(-9000000000000000000 absMod: 400000000000) = 0.
+ self assert:(9000000000000000000 absMod: -400000000000) = 0.
+ self assert:(-9000000000000000000 absMod: -400000000000) = 0.
+
+ self assert:(9000000000000000000 absMod: 4000000000000) = 0.
+ self assert:(-9000000000000000000 absMod: 4000000000000) = 0.
+ self assert:(9000000000000000000 absMod: -4000000000000) = 0.
+ self assert:(-9000000000000000000 absMod: -4000000000000) = 0.
+
+ self assert:(9000000000000000000 absMod: 40000000000000) = 0.
+ self assert:(-9000000000000000000 absMod: 40000000000000) = 0.
+ self assert:(9000000000000000000 absMod: -40000000000000) = 0.
+ self assert:(-9000000000000000000 absMod: -40000000000000) = 0.
+
+ self assert:(9000000000000000000 absMod: 400000000000000) = 0.
+ self assert:(-9000000000000000000 absMod: 400000000000000) = 0.
+ self assert:(9000000000000000000 absMod: -400000000000000) = 0.
+ self assert:(-9000000000000000000 absMod: -400000000000000) = 0.
+
+ self assert:(9000000000000000000 absMod: 4000000000000000) = 0.
+ self assert:(-9000000000000000000 absMod: 4000000000000000) = 0.
+ self assert:(9000000000000000000 absMod: -4000000000000000) = 0.
+ self assert:(-9000000000000000000 absMod: -4000000000000000) = 0.
+
+ self assert:(9000000000000000000 absMod: 4000000000000000000) = 1000000000000000000.
+ self assert:(-9000000000000000000 absMod: 4000000000000000000) = 1000000000000000000.
+ self assert:(9000000000000000000 absMod: -4000000000000000000) = 1000000000000000000.
+ self assert:(-9000000000000000000 absMod: -4000000000000000000) = 1000000000000000000.
+
+ "
+ self basicNew testLargeIntegerHelpers4
+ "
+
+ "Created: / 05-07-2017 / 16:15:30 / cg"
+!
+
testLargeMultiplication
|t1 t2 p|
@@ -3807,6 +3892,16 @@
"Modified (comment): / 02-07-2017 / 14:39:26 / cg"
!
+testMiscMath2
+ self assert:(10000000000000000000000001 isPrime) not.
+
+ "
+ self basicNew testMiscMath2
+ "
+
+ "Created: / 05-07-2017 / 16:18:54 / cg"
+!
+
testModulu
|a b op|
@@ -4395,12 +4490,50 @@
self assert:((n1 quo: n2) printString = '0').
self assert:((n1 perform:'quo:' asSymbol with:n2) == 0).
+ self assert:( (9000000000 \\ 4000000000) = (900 \\ 400 * 10000000)).
+ self assert:( (-9000000000 \\ 4000000000) = (-900 \\ 400 * 10000000)).
+ self assert:( (9000000000 \\ -4000000000) = (900 \\ -400 * 10000000)).
+ self assert:( (-9000000000 \\ -4000000000) = (-900 \\ -400 * 10000000)).
+ self assert:( (16000000000 \\ 4000000000) = (1600 \\ 400 * 10000000)).
+ self assert:( (-16000000000 \\ 4000000000) = (-1600 \\ 400 * 10000000)).
+ self assert:( (16000000000 \\ -4000000000) = (1600 \\ -400 * 10000000)).
+ self assert:( (-16000000000 \\ -4000000000) = (-1600 \\ -400 * 10000000)).
+
+ self assert:(( 9000000000 \\ 7 ) == 5).
+ self assert:( (((9000000000 // 7)*7) + (9000000000 \\ 7)) == 9000000000 ).
+
+ self assert:(( -9000000000 \\ 7) == 2).
+ self assert:( (((-9000000000 // 7)*7) + (-9000000000 \\ 7)) == -9000000000 ).
+
+ self assert:(( 9000000000 \\ -7) == -2).
+ self assert:( (((9000000000 // -7)*-7) + (9000000000 \\ -7)) == 9000000000 ).
+
+ self assert:(( -9000000000 \\ -7) == -5).
+ self assert:( (((-9000000000 // -7)*-7) + (-9000000000 \\ -7)) == -9000000000 ).
+
+ self assert:( 900 rem: 400 ) == 100.
+ self assert:( (((900 quo: 400)*400) + ( 900 rem: 400 )) == 900 ).
+
+ self assert:( -900 rem: 400) == -100.
+ self assert:( (((-900 quo: 400)*400) + ( -900 rem: 400 )) == -900 ).
+
+ self assert:( 900 rem: -400) == 100.
+ self assert:( (((900 quo: -400)*-400) + ( 900 rem: -400 )) == 900 ).
+
+ self assert:( -900 rem: -400) == -100.
+ self assert:( (((-900 quo: -400)*-400) + ( -900 rem: -400 )) == -900 ).
+
+ self assert:( 9000000000 rem: 4000000000 ) == 1000000000.
+ self assert:( -9000000000 rem: 4000000000 ) == -1000000000.
+ self assert:( 9000000000 rem: -4000000000 ) == 1000000000.
+ self assert:( -9000000000 rem: -4000000000 ) == -1000000000.
+
"
self basicNew testSmallIntegerDivision1
"
- "Modified: / 9.6.1999 / 17:47:56 / cg"
- "Created: / 9.6.1999 / 17:49:45 / cg"
+ "Created: / 09-06-1999 / 17:49:45 / cg"
+ "Modified: / 05-07-2017 / 16:33:14 / cg"
!
testSmallIntegerMultiplication1