--- a/Integer.st Sat Jun 23 10:36:10 2001 +0200
+++ b/Integer.st Mon Jun 25 09:03:35 2001 +0200
@@ -213,12 +213,18 @@
lo := (twoDigits bitShift:-4) bitAnd:16r0F.
hi := twoDigits bitAnd:16r0F.
- val := (val * 100) + (hi * 10) + lo
+ lo <= 9 ifTrue:[
+ val := (val * 100) + (hi * 10) + lo
+ ] ifFalse:[
+ "16rF is used to encode an odd number of digits"
+ val := (val * 10) + hi.
+ ].
].
^ val
"
Integer fromSwappedBCDBytes:#[16r12 16r34 16r56]
+ Integer fromSwappedBCDBytes:#[16r12 16r34 16rF6]
Integer fromSwappedBCDBytes:#[16r12 16r34 16r56 16r78]
Integer fromSwappedBCDBytes:#[16r12 16r34 16r56 16r78 16r90]
Integer fromSwappedBCDBytes:#[16r98 16r76 16r54]
@@ -226,8 +232,6 @@
Integer fromSwappedBCDBytes:#[16r98 16r76 16r54 16r32 16r10]
Integer fromSwappedBCDBytes:#[16r12 16r34 16r56 16r78 16r90 16r12 16r34 16r56 16r78 16r90]
"
-
- "Modified: / 12.1.2000 / 10:36:18 / stefan"
!
new:numberOfBytes neg:negative
@@ -495,6 +499,7 @@
"
! !
+
!Integer methodsFor:'bcd conversion'!
decodeFromBCD
@@ -2304,6 +2309,7 @@
"Modified: 15.10.1997 / 18:43:49 / cg"
! !
+
!Integer methodsFor:'special bit operators'!
bitAnd_32:anInteger
@@ -2645,6 +2651,6 @@
!Integer class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Integer.st,v 1.136 2001-02-28 13:12:23 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Integer.st,v 1.137 2001-06-25 07:03:35 stefan Exp $'
! !
Integer initialize!