SmallInteger.st
changeset 18699 24b9c15dc6aa
parent 18676 151a213c4113
child 18705 843770030c5f
child 18760 9b0b0c157e4c
--- a/SmallInteger.st	Tue Aug 18 18:53:05 2015 +0200
+++ b/SmallInteger.st	Thu Aug 20 09:42:41 2015 +0200
@@ -2646,7 +2646,9 @@
 
 %{  /* NOCONTEXT */
 #ifdef __SCHTEAM__
-    return context._RETURN( self.eqvP( aNumber ));
+    if (aNumber.isNumber()) {
+	return context._RETURN( self.eqvP( aNumber ));
+    }
 #else
 
     if (aNumber == self) {
@@ -2823,8 +2825,10 @@
 
 %{  /* NOCONTEXT */
 #ifdef __SCHTEAM__
-    return context._RETURN( (self.eqvP( aNumber ) == STObject.True) ? STObject.False : STObject.True);
-    /* NOTREACHED */
+    if (aNumber.isNumber()) {
+	return context._RETURN( (self.eqvP( aNumber ) == STObject.True) ? STObject.False : STObject.True);
+	/* NOTREACHED */
+    }
 #else
 
     if (aNumber == self) {
@@ -3928,26 +3932,26 @@
     int negative = 0;
 
     if (self == __MKSMALLINT(0)) {
-        RETURN (@global(ZeroString));
+	RETURN (@global(ZeroString));
 //        RETURN (__MKSTRING_L("0", 1));
     }
     myValue = __intVal(self);
     if (myValue < 0) {
-        negative = 1;
-        myValue = -myValue;
+	negative = 1;
+	myValue = -myValue;
     }
     cp = buffer + sizeof(buffer) - 1;
     *cp-- = '\0';
     for ( ; myValue != 0; cp--) {
-        *cp = '0' + (myValue % 10);
-        myValue /= 10;
+	*cp = '0' + (myValue % 10);
+	myValue /= 10;
     }
     if (negative) {
-        *cp-- = '-';
+	*cp-- = '-';
     }
     newString = __MKSTRING_L(cp+1, (buffer + sizeof(buffer) - 2 - cp));
     if (newString != nil) {
-        RETURN (newString);
+	RETURN (newString);
     }
 #endif /* not __SCHTEAM__ */
 %}.
@@ -3981,52 +3985,52 @@
     java.lang.String __s;
 
     switch (__base) {
-        case 2:
-            __s = java.lang.Long.toBinaryString(myValue);
-            break;
-
-        case 8:
-            __s = java.lang.Long.toOctalString(myValue);
-            break;
-
-        case 10:
-            __s = java.lang.Long.toString(myValue);
-            break;
-
-        case 16:
-            __s = java.lang.Long.toHexString(myValue);
-            break;
-
-        default:
-        {
-            boolean negative = false;
-            __s = "";
-
-            if ((__base > 36) || (__base < 2)) {
-                throw new SmalltalkError("invalid base: ", base);
-            }
-            if (myValue < 0) {
-                negative = true;
-                myValue = -myValue;
-            }
-            while (myValue != 0) {
-                int digit;
-                char ch;
-
-                digit = (int)(myValue % __base);
-                if (digit <= 9) {
-                    ch = (char)('0' + digit);
-                } else {
-                    ch = (char)('A' + digit - 10);
-                }
-                __s = ch + __s;
-                myValue = myValue / __base;
-            }
-            if (negative) {
-                __s = "-" + __s;
-            }
-            break;
-        }
+	case 2:
+	    __s = java.lang.Long.toBinaryString(myValue);
+	    break;
+
+	case 8:
+	    __s = java.lang.Long.toOctalString(myValue);
+	    break;
+
+	case 10:
+	    __s = java.lang.Long.toString(myValue);
+	    break;
+
+	case 16:
+	    __s = java.lang.Long.toHexString(myValue);
+	    break;
+
+	default:
+	{
+	    boolean negative = false;
+	    __s = "";
+
+	    if ((__base > 36) || (__base < 2)) {
+		throw new SmalltalkError("invalid base: ", base);
+	    }
+	    if (myValue < 0) {
+		negative = true;
+		myValue = -myValue;
+	    }
+	    while (myValue != 0) {
+		int digit;
+		char ch;
+
+		digit = (int)(myValue % __base);
+		if (digit <= 9) {
+		    ch = (char)('0' + digit);
+		} else {
+		    ch = (char)('A' + digit - 10);
+		}
+		__s = ch + __s;
+		myValue = myValue / __base;
+	    }
+	    if (negative) {
+		__s = "-" + __s;
+	    }
+	    break;
+	}
     }
     return context._RETURN( new STString( __s ));
 #else
@@ -4034,37 +4038,37 @@
     INT __base;
 
     if (__isSmallInteger(base)) {
-        if (self == __MKSMALLINT(0)) {
-            RETURN (@global(ZeroString));
+	if (self == __MKSMALLINT(0)) {
+	    RETURN (@global(ZeroString));
     //        RETURN (__MKSTRING_L("0", 1));
-        }
-        __base = __intVal(base);
-
-        if ((__base < sizeof(digits)) && (__base > 1)) {
-            char buffer[64+3];  /* for 64bit machines, base 2, plus sign, plus 0-byte */
-            char *cp;
-            OBJ newString;
-            int negative = 0;
-            INT myValue = __intVal(self);
-
-            if (myValue < 0) {
-                negative = 1;
-                myValue = -myValue;
-            }
-            cp = buffer + sizeof(buffer) - 1;
-            *cp-- = '\0';
-            for (; myValue != 0; cp--) {
-                *cp = digits[myValue % __base];
-                myValue /= __base;
-            }
-            if (negative) {
-                *cp-- = '-';
-            }
-            newString = __MKSTRING_L(cp+1, (buffer + sizeof(buffer) - 2 - cp));
-            if (newString != nil) {
-                RETURN (newString);
-            }
-        }
+	}
+	__base = __intVal(base);
+
+	if ((__base < sizeof(digits)) && (__base > 1)) {
+	    char buffer[64+3];  /* for 64bit machines, base 2, plus sign, plus 0-byte */
+	    char *cp;
+	    OBJ newString;
+	    int negative = 0;
+	    INT myValue = __intVal(self);
+
+	    if (myValue < 0) {
+		negative = 1;
+		myValue = -myValue;
+	    }
+	    cp = buffer + sizeof(buffer) - 1;
+	    *cp-- = '\0';
+	    for (; myValue != 0; cp--) {
+		*cp = digits[myValue % __base];
+		myValue /= __base;
+	    }
+	    if (negative) {
+		*cp-- = '-';
+	    }
+	    newString = __MKSTRING_L(cp+1, (buffer + sizeof(buffer) - 2 - cp));
+	    if (newString != nil) {
+		RETURN (newString);
+	    }
+	}
     }
 #endif /* not __SCHTEAM__ */
 %}.