--- a/LargeInteger.st Sat Dec 11 01:46:55 1993 +0100
+++ b/LargeInteger.st Sat Dec 11 01:59:35 1993 +0100
@@ -32,7 +32,7 @@
It will be reimplemented when everything else runs fine and a need arises
(or someone rewrites it and sends me the code :-).
-$Header: /cvs/stx/stx/libbasic/LargeInteger.st,v 1.4 1993-10-13 02:12:27 claus Exp $
+$Header: /cvs/stx/stx/libbasic/LargeInteger.st,v 1.5 1993-12-11 00:49:50 claus Exp $
'!
!LargeInteger class methodsFor:'instance creation'!
@@ -77,7 +77,6 @@
^ (self value:hiBits) * 16r10000 + lowBits
! !
-
!LargeInteger methodsFor:'coercing & converting'!
coerce:aNumber
@@ -251,7 +250,7 @@
|otherSign|
(aNumber = 10) ifTrue:[
- ^ self deepCopy mul10
+ ^ self simpleDeepCopy mul10
].
(aNumber class == LargeInteger) ifFalse:[
^ self retry:#* coercing:aNumber
@@ -273,10 +272,10 @@
// aNumber
"return the quotient of the receiver and the argument, aNumber"
- |otherSign|
+ |otherSign newNumber|
(aNumber = 10) ifTrue:[
- ^ self deepCopy div10
+ self simpleDeepCopy div10 normalize
].
(aNumber class == LargeInteger) ifFalse:[
^ self retry:#// coercing:aNumber
@@ -596,8 +595,8 @@
^ Array with:0 with:self
].
- tmp1 := self deepCopy.
- tmp2 := anInteger deepCopy.
+ tmp1 := self simpleDeepCopy.
+ tmp2 := anInteger simpleDeepCopy.
count := 0.
[tmp2 < tmp1] whileTrue:[
tmp2 mul10.
@@ -642,7 +641,7 @@
"destructively divide the receiver by 10.
private - used for division only"
- |nDigits|
+ |nDigits hiDigit|
nDigits := digitArray size.
1 to:(nDigits - 1) do:[:index |