SmallInteger.st
changeset 20330 01cc21bb516f
parent 20262 ffae5acd468c
child 20333 8b2b36463804
child 20345 68e5382ae472
--- a/SmallInteger.st	Thu Sep 01 20:42:45 2016 +0200
+++ b/SmallInteger.st	Thu Sep 01 20:53:10 2016 +0200
@@ -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     
     "
 !