LargeInteger.st
changeset 13 62303f84ff5f
parent 5 67342904af11
child 44 b262907c93ea
--- 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 |