--- a/SmallInteger.st Thu Aug 01 10:22:20 2013 +0100
+++ b/SmallInteger.st Thu Aug 08 11:09:31 2013 +0100
@@ -3465,46 +3465,47 @@
Implemented that way, to allow for tiny systems (PDAs) without a Float class
(i.e. without log)."
- self <= 0 ifTrue:[
- ^ self class
- raise:#domainErrorSignal
- receiver:self
- selector:#intlog10
- arguments:#()
- errorString:'logarithm of negative integer'
- ].
- self < 10000 ifTrue:[
- self < 10 ifTrue:[^ 0].
- self < 100 ifTrue:[^ 1].
- self < 1000 ifTrue:[^ 2].
- ^ 3
- ].
- self < 100000000 ifTrue:[
- self < 100000 ifTrue:[^ 4].
- self < 1000000 ifTrue:[^ 5].
- self < 10000000 ifTrue:[^ 6].
- ^ 7
+ self > 0 ifTrue:[
+ self < 10000 ifTrue:[
+ self < 10 ifTrue:[^ 0].
+ self < 100 ifTrue:[^ 1].
+ self < 1000 ifTrue:[^ 2].
+ ^ 3
+ ].
+ self < 100000000 ifTrue:[
+ self < 100000 ifTrue:[^ 4].
+ self < 1000000 ifTrue:[^ 5].
+ self < 10000000 ifTrue:[^ 6].
+ ^ 7
+ ].
+ self < 1000000000 ifTrue:[^ 8].
+
+ SmallInteger maxBytes == 4 ifTrue:[
+ ^ 9
+ ] ifFalse:[
+ self < 10000000000 ifTrue:[^ 9].
+ self < 100000000000 ifTrue:[^ 10].
+ self < 1000000000000 ifTrue:[^ 11].
+ self < 10000000000000 ifTrue:[^ 12].
+ self < 100000000000000 ifTrue:[^ 13].
+ self < 1000000000000000 ifTrue:[^ 14].
+ self < 10000000000000000 ifTrue:[^ 15].
+ self < 100000000000000000 ifTrue:[^ 16].
+ self < 1000000000000000000 ifTrue:[^ 17].
+ ^ 18.
+ ].
+ "/ not reached
].
- self < 1000000000 ifTrue:[^ 8].
-
- SmallInteger maxBytes == 4 ifTrue:[
- ^ 9
- ] ifFalse:[
- self < 10000000000 ifTrue:[^ 9].
- self < 100000000000 ifTrue:[^ 10].
- self < 1000000000000 ifTrue:[^ 11].
- self < 10000000000000 ifTrue:[^ 12].
- self < 100000000000000 ifTrue:[^ 13].
- self < 1000000000000000 ifTrue:[^ 14].
- self < 10000000000000000 ifTrue:[^ 15].
- self < 100000000000000000 ifTrue:[^ 16].
- self < 1000000000000000000 ifTrue:[^ 17].
- ^ 18.
- ].
- "/ not reached
+ ^ self class
+ raise:#domainErrorSignal
+ receiver:self
+ selector:#intlog10
+ arguments:#()
+ errorString:'logarithm of negative integer'
+
"
- 99 intlog10
- 100 intlog10
+ 99 intlog10
+ 100 intlog10
101 intlog10
(101 log:10) floor
120 intlog10
@@ -4297,11 +4298,11 @@
!SmallInteger class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/SmallInteger.st,v 1.211 2013-07-28 19:35:06 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/SmallInteger.st,v 1.212 2013-08-04 10:02:36 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/SmallInteger.st,v 1.211 2013-07-28 19:35:06 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/SmallInteger.st,v 1.212 2013-08-04 10:02:36 cg Exp $'
! !