--- 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__ */
%}.