[PATCH] to convert Complex successfully

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[PATCH] to convert Complex successfully

Paolo Bonzini-2
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 [hidden email]--2004b/smalltalk--devo--2.2--patch-505 to greedy revision library /Users/bonzinip/Archives/revlib
* found immediate ancestor revision in library ([hidden email]--2004b/smalltalk--devo--2.2--patch-504)
* patching for this revision ([hidden email]--2004b/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 [hidden email]--2004b/smalltalk--devo--2.2--patch-506 to greedy revision library /Users/bonzinip/Archives/revlib
* found immediate ancestor revision in library ([hidden email]--2004b/smalltalk--devo--2.2--patch-505)
* patching for this revision ([hidden email]--2004b/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.

_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk