SmallInteger.st
branchjv
changeset 18080 9ae1db7ef04a
parent 18079 7b5afc0ad3d5
parent 15600 da24d2390c03
child 18117 eb433f2c42b2
--- 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 $'
 ! !