SmallInteger.st
branchjv
changeset 20345 68e5382ae472
parent 20342 219a5a47e8b1
parent 20330 01cc21bb516f
child 20346 fd33c56536df
--- a/SmallInteger.st	Wed Aug 31 22:45:49 2016 +0100
+++ b/SmallInteger.st	Fri Sep 02 17:32:16 2016 +0100
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
 "
  COPYRIGHT (c) 1988 by Claus Gittinger
 	      All Rights Reserved
@@ -962,7 +964,6 @@
 ! !
 
 
-
 !SmallInteger methodsFor:'bit operators'!
 
 bitAnd:anInteger
@@ -4433,7 +4434,7 @@
         }
                 
         if ((__base < sizeof(ucDigits)) && (__base > 1)) {
-            char buffer[64+3];  /* for 64bit machines, base 2, plus sign, plus 0-byte */
+            char buffer[64+5];  /* for 64bit machines, base 2, plus sign, plus 0-byte */
             char *cp;
             OBJ newString;
             int negative = 0;
@@ -4465,7 +4466,7 @@
 
     "/
     "/ fall back for seldom used bases
-    "/ Notice: cannt use super>>printStringRadix: here,
+    "/ Notice: cannot use super>>printStringRadix: here,
     "/ since that would lead to endless recursion ...
     "/ (a consequence of reversing printOn / printString functionality)
 
@@ -4474,8 +4475,10 @@
     ^ s contents.
 
     "
-      127 printStringRadix:16
-      127 printStringRadix:-16
+      127 printStringRadix:16  
+      127 printStringRadix:-16 
+      -127 printStringRadix:16  
+      -127 printStringRadix:-16 
       123 printStringRadix:12
       123 printStringRadix:10
       123 printStringRadix:8
@@ -4491,6 +4494,24 @@
       -123 printStringRadix:8
       -123 printStringRadix:3
       -123 printStringRadix:2
+
+      16r3FFFFFFF printStringRadix:16  
+      16r7FFFFFFF printStringRadix:16  
+      16rFFFFFFFF printStringRadix:16  
+      16r3FFFFFFFFFFFFFFF printStringRadix:16 
+      16r7FFFFFFFFFFFFFFF printStringRadix:16 
+      16rFFFFFFFFFFFFFFFF printStringRadix:16 
+
+      -16r3FFFFFFF printStringRadix:16     
+      -16r40000000 printStringRadix:16     
+      -16r7FFFFFFF printStringRadix:16     
+      -16r80000000 printStringRadix:16     
+      -16rFFFFFFFF printStringRadix:16     
+      -16r3FFFFFFFFFFFFFFF printStringRadix:16 
+      -16r7FFFFFFFFFFFFFFF printStringRadix:16 
+      -16rFFFFFFFFFFFFFFFF printStringRadix:16 
+      -16r4000000000000000 printStringRadix:16     
+      -16r8000000000000000 printStringRadix:16     
     "
 !