class: Integer
authorClaus Gittinger <cg@exept.de>
Wed, 20 May 2015 18:01:16 +0200
changeset 18380 fb43eb504bde
parent 18379 e36a3b641b80
child 18381 7614c149c77e
class: Integer changed: #bitShift: #new:neg: eliminated a few extra message sends; sign: replaced by setSign:
Integer.st
--- a/Integer.st	Wed May 20 12:16:35 2015 +0200
+++ b/Integer.st	Wed May 20 18:01:16 2015 +0200
@@ -234,8 +234,9 @@
      negative specifies if the result should be a negative number.
      The digits can be stored byte-wise into the result, using digitAt:put:"
 
-    ^ (LargeInteger basicNew numberOfDigits:numberOfBytes)
-                sign:(negative ifTrue:[-1] ifFalse:[1])
+    ^ LargeInteger basicNew 
+            numberOfDigits:numberOfBytes
+            sign:(negative ifTrue:[-1] ifFalse:[1])
 !
 
 readFrom:aStringOrStream
@@ -822,7 +823,6 @@
     "
 ! !
 
-
 !Integer class methodsFor:'prime numbers'!
 
 flushPrimeCache
@@ -1145,7 +1145,6 @@
     ^ self == Integer
 ! !
 
-
 !Integer methodsFor:'*Roe'!
 
 acceptRoeVisitor: aVisitor
@@ -1414,7 +1413,6 @@
     "
 ! !
 
-
 !Integer methodsFor:'bcd conversion'!
 
 decodeFromBCD
@@ -1787,8 +1785,7 @@
         "
         bitShift == 0 ifTrue:[
             n := n + digitShift.
-            result := self class basicNew numberOfDigits:n.
-            result sign:self sign.
+            result := self class basicNew numberOfDigits:n sign:self sign.
             result digitBytes replaceFrom:(digitShift + 1) to:n with:self digitBytes.
             "
              no normalize needed, since receiver was already normalized
@@ -1801,8 +1798,7 @@
         "
         digitShift == 0 ifTrue:[
             nn := n+1.
-            result := self class basicNew numberOfDigits:nn.
-            result sign:self sign.
+            result := self class basicNew numberOfDigits:nn sign:self sign.
             prev := 0.
             1 to:n do:[:index |
                 byte := self digitAt:index.
@@ -1824,8 +1820,7 @@
          slow case ...
         "
         n := n + digitShift + 1.
-        result := self class basicNew numberOfDigits:n.
-        result sign:self sign.
+        result := self class basicNew numberOfDigits:n sign:self sign.
         byte := self digitAt:1.
         byte := (byte bitShift:bitShift) bitAnd:16rFF.
         result digitAt:(digitShift + 1) put:byte.
@@ -1867,8 +1862,7 @@
         "
         bitShift == 0 ifTrue:[
             n := n-digitShift.
-            result := self class basicNew numberOfDigits:n.
-            result sign:self sign.
+            result := self class basicNew numberOfDigits:n sign:self sign.
             result digitBytes replaceFrom:1 to:n with:self digitBytes startingAt:(digitShift + 1) .
             n <= SmallInteger maxBytes ifTrue:[
                 ^ result compressed
@@ -1880,8 +1874,7 @@
          less-than-8 shifts can be done faster ...
         "
         digitShift == 0 ifTrue:[
-            result := self class basicNew numberOfDigits:n.
-            result sign:self sign.
+            result := self class basicNew numberOfDigits:n sign:self sign.
             prev := 0.
             bitShift := bitShift negated.
             revShift := 8 + bitShift.
@@ -1899,8 +1892,7 @@
          slow case ...
         "
         nn := n-digitShift.
-        result := self class basicNew numberOfDigits:nn.
-        result sign:self sign.
+        result := self class basicNew numberOfDigits:nn sign:self sign.
 
         prev := 0.
         bitShift := bitShift negated.
@@ -4393,7 +4385,6 @@
     "Created: / 09-01-2012 / 17:18:06 / cg"
 ! !
 
-
 !Integer methodsFor:'special modulo arithmetic'!
 
 add_32:anInteger
@@ -5122,11 +5113,11 @@
 !Integer class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Integer.st,v 1.309 2015-04-19 10:17:10 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Integer.st,v 1.310 2015-05-20 16:01:16 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic/Integer.st,v 1.309 2015-04-19 10:17:10 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Integer.st,v 1.310 2015-05-20 16:01:16 cg Exp $'
 ! !