[squeak-dev] The Trunk: Kernel-nice.250.mcz
commits at source.squeak.org
commits at source.squeak.org
Fri Sep 25 22:48:16 UTC 2009
Nicolas Cellier uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-nice.250.mcz
==================== Summary ====================
Name: Kernel-nice.250
Author: nice
Time: 25 September 2009, 10:47:10 am
UUID: ae2ecb83-4bd9-fd4d-abf8-2b02d30ba0a9
Ancestors: Kernel-ar.249
Fix nan comparison from http://bugs.squeak.org/view.php?id=6719
Note: the fix does use adpatToXXX:andSend:
instead of proposed adpatToXXX:andCompare:
This way, it is independant of http://bugs.squeak.org/view.php?id=3374
(I don't want to fight now with lengthy argumentation)
=============== Diff against Kernel-ar.249 ===============
Item was added:
+ ----- Method: Fraction>>>= (in category 'comparing') -----
+ >= aNumber
+ aNumber isFraction ifTrue:
+ [^ numerator * aNumber denominator >= (aNumber numerator * denominator)].
+ ^ aNumber adaptToFraction: self andSend: #>=!
Item was added:
+ ----- Method: Fraction>><= (in category 'comparing') -----
+ <= aNumber
+ aNumber isFraction ifTrue:
+ [^ numerator * aNumber denominator <= (aNumber numerator * denominator)].
+ ^ aNumber adaptToFraction: self andSend: #<=!
Item was added:
+ ----- Method: ScaledDecimal>>> (in category 'comparing') -----
+ > operand
+ "Implementation of Number 'comparing' method."
+ (operand isKindOf: ScaledDecimal) ifTrue: [^ fraction > operand asFraction].
+ ^ operand adaptToScaledDecimal: self andSend: #>!
Item was added:
+ ----- Method: Fraction>>> (in category 'comparing') -----
+ > aNumber
+ aNumber isFraction ifTrue:
+ [^ numerator * aNumber denominator > (aNumber numerator * denominator)].
+ ^ aNumber adaptToFraction: self andSend: #>!
Item was added:
+ ----- Method: Integer>><= (in category 'comparing') -----
+ <= aNumber
+ aNumber isInteger ifTrue:
+ [self negative == aNumber negative
+ ifTrue: [self negative
+ ifTrue: [^ (self digitCompare: aNumber) >= 0]
+ ifFalse: [^ (self digitCompare: aNumber) <= 0]]
+ ifFalse: [^ self negative]].
+ ^ aNumber adaptToInteger: self andSend: #<=!
Item was changed:
----- Method: Magnitude>>>= (in category 'comparing') -----
>= aMagnitude
"Answer whether the receiver is greater than or equal to the argument."
+ ^aMagnitude <= self!
- ^(self < aMagnitude) not!
Item was added:
+ ----- Method: ScaledDecimal>>>= (in category 'comparing') -----
+ >= operand
+ "Implementation of Number 'comparing' method."
+ (operand isKindOf: ScaledDecimal) ifTrue: [^ fraction >= operand asFraction].
+ ^ operand adaptToScaledDecimal: self andSend: #>=!
Item was added:
+ ----- Method: Integer>>>= (in category 'comparing') -----
+ >= aNumber
+ aNumber isInteger ifTrue:
+ [self negative == aNumber negative
+ ifTrue: [self negative
+ ifTrue: [^(self digitCompare: aNumber) <= 0]
+ ifFalse: [^(self digitCompare: aNumber) >= 0]]
+ ifFalse: [^ aNumber negative]].
+ ^ aNumber adaptToInteger: self andSend: #>=!
Item was added:
+ ----- Method: ScaledDecimal>><= (in category 'comparing') -----
+ <= operand
+ "Implementation of Number 'comparing' method."
+ (operand isKindOf: ScaledDecimal) ifTrue: [^ fraction <= operand asFraction].
+ ^ operand adaptToScaledDecimal: self andSend: #<=!
More information about the Squeak-dev
mailing list
|