help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-smalltalk] [PATCH] to convert Complex successfully


From: Paolo Bonzini
Subject: [Help-smalltalk] [PATCH] to convert Complex successfully
Date: Sat, 11 Aug 2007 13:48:37 +0200
User-agent: Thunderbird 2.0.0.6 (Macintosh/20070728)

1) 3 ~= 3.0e was changed from ~= to = upon coercion. That's bad. :-) It didn't happen for 3 ~= 3.0 because a primitive took care of that operation.

2) This 3.0e was actually meant to be a 3.0, but changed to a FloatE by the RBParser.

Both patches together allow Complex to be converted successfully.

Paolo
* auto-adding address@hidden/smalltalk--devo--2.2--patch-505 to greedy revision 
library /Users/bonzinip/Archives/revlib
* found immediate ancestor revision in library 
(address@hidden/smalltalk--devo--2.2--patch-504)
* patching for this revision (address@hidden/smalltalk--devo--2.2--patch-505)
--- orig/kernel/Number.st
+++ mod/kernel/Number.st
@@ -241,7 +241,7 @@ retryInequalityCoercing: aNumber
     aNumGen := aNumber generality.
     aNumGen isNil ifTrue: [ ^true ].
 
-    selfGen > aNumGen ifTrue: [ ^false == (self = (self coerce: aNumber)) ].
+    selfGen > aNumGen ifTrue: [ ^false == (self ~= (self coerce: aNumber)) ].
     selfGen < aNumGen ifTrue: [ ^false == ((aNumber coerce: self) ~= aNumber) 
].
 
     self retryError
* auto-adding address@hidden/smalltalk--devo--2.2--patch-506 to greedy revision 
library /Users/bonzinip/Archives/revlib
* found immediate ancestor revision in library 
(address@hidden/smalltalk--devo--2.2--patch-505)
* patching for this revision (address@hidden/smalltalk--devo--2.2--patch-506)
--- orig/packages/stinst/parser/RBParser.st
+++ mod/packages/stinst/parser/RBParser.st
@@ -810,7 +810,7 @@ scanNumberValue
     currentCharacter == $q ifTrue: [ num := num asFloatQ ] ifFalse: [
        ^exponent isNil
            ifTrue: [ num ]
-           ifFalse: [ num asFloatE * (base raisedToInteger: exponent) ]
+           ifFalse: [ num asFloatD * (base raisedToInteger: exponent) ]
     ]]].
 
     ch := currentCharacter.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]