typed variable in nextPutNumber
authorClaus Gittinger <cg@exept.de>
Fri, 22 Mar 1996 15:51:36 +0100
changeset 1117 f64e35e18e65
parent 1116 a3c136969f7c
child 1118 1037616d9add
typed variable in nextPutNumber
Stream.st
--- a/Stream.st	Fri Mar 22 15:50:25 1996 +0100
+++ b/Stream.st	Fri Mar 22 15:51:36 1996 +0100
@@ -239,11 +239,13 @@
     ].
     "change from unsigned 0..FFFFFFFF to signed -80000000..7FFFFFFF"
 
-"sorry- for now, stc cannot compile LargeInteger constants 
-    uval >= 16r80000000 ifTrue:[
-	^ uval - 16r100000000 
-    ].
-the following kludges around this"
+"/ sorry- for now (2.7), stc cannot compile LargeInteger constants 
+"/    uval >= 16r80000000 ifTrue:[
+"/	^ uval - 16r100000000 
+"/    ].
+"/ the following kludges around this
+"/ well, new (2.8) can ...
+
     (uval bitShift:-16) >= 16r8000 ifTrue:[
 	^ uval - (16r10000000 bitShift:8)
     ].
@@ -294,8 +296,6 @@
 	"sorry, but need a largeInteger"
 	s := (val bitShift:8) + self next.
 	s := (s bitShift:8) + self next.
-	"the multiplication below is a temporary workaround for the
-	 inability of smallintegers to handle shifts out of the 32bit range ..."
 	s := (s * 256) + self next.
 	^ s
     ].
@@ -414,7 +414,8 @@
      Possibly pad with leading zeros.
      The receiver must support writing of binary bytes."
 
-    |vlen i|
+    |vlen "{ Class: SmallInteger }"
+     i    "{ Class: SmallInteger }"|
 
     "claus: this method is central in binaryStorage -
      therefore it has been tuned a bit (and needs even more tuning)"
@@ -459,20 +460,22 @@
 	"
 	 the number is too big to be repesented in n bytes
 	"
-	self error: 'number too big'
+	self error:'number too big'
     ].
 
     "pad with leading zeros"
     i := n.
-    [i > vlen] whileTrue: [
-	self nextPut: 0. 
+    [i > vlen] whileTrue:[
+	self nextPut:0. 
 	i := i - 1
     ].
-    i = 1 ifTrue: [
-	^ self nextPut: v
+
+    i == 1 ifTrue:[
+	^ self nextPut:v
     ].
-    [i > 0] whileTrue: [
-	self nextPut: (v digitAt: i). 
+
+    [i > 0] whileTrue:[
+	self nextPut:(v digitAt:i). 
 	i := i - 1
     ]
 !
@@ -510,14 +513,18 @@
      first. Returns the receiver on ok, nil on error.
      The receiver must support writing of binary bytes."
 
+    |iNum "{ Class: SmallInteger }"|
+
+    iNum := aNumber.
+
     msbFlag ifTrue:[
 	"most significant first"
-	self nextPut:(aNumber bitShift:-8).
-	^ self nextPut:(aNumber bitAnd:16rFF).
+	self nextPut:(iNum bitShift:-8).
+	^ self nextPut:(iNum bitAnd:16rFF).
     ].
     "least significant first"
-    self nextPut:(aNumber bitAnd:16rFF).
-    self nextPut:(aNumber bitShift:-8).
+    self nextPut:(iNum bitAnd:16rFF).
+    self nextPut:(iNum bitShift:-8).
 !
 
 nextPutShortNet:aNumber
@@ -790,7 +797,7 @@
 	(element = anObject) ifTrue: [
 	    ^ answerStream contents
 	].
-	answerStream nextPut: element.
+	answerStream nextPut:element.
     ].
     ^ answerStream contents
 
@@ -1037,6 +1044,6 @@
 !Stream class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Stream.st,v 1.33 1996-02-19 15:07:24 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Stream.st,v 1.34 1996-03-22 14:51:36 cg Exp $'
 ! !
 Stream initialize!