<div dir="ltr"><div>I missed this obvious case because the KernelTests-Numbers did pass.</div><div>I wish I could amend squash or fixup, but nevermind...<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le mer. 28 août 2019 à 23:01, <<a href="mailto:commits@source.squeak.org">commits@source.squeak.org</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Nicolas Cellier uploaded a new version of Kernel to project The Trunk:<br>
<a href="http://source.squeak.org/trunk/Kernel-nice.1261.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/trunk/Kernel-nice.1261.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: Kernel-nice.1261<br>
Author: nice<br>
Time: 28 August 2019, 11:00:52.985296 pm<br>
UUID: b8758656-d1f0-49cd-976c-cbd7d772b1f3<br>
Ancestors: Kernel-nice.1260<br>
<br>
Oups, I forgot to fix Float negativeInfinity < 0 when arithmetic primitives are configured to refuse to convert a SmallInteger asFloat...<br>
<br>
=============== Diff against Kernel-nice.1260 ===============<br>
<br>
Item was changed:<br>
----- Method: Number>>adaptToFloat:andCompare: (in category 'converting') -----<br>
adaptToFloat: rcvr andCompare: selector <br>
"If I am involved in comparison with a Float, convert rcvr to a<br>
Fraction. This way, no bit is lost and comparison is exact."<br>
<br>
rcvr isFinite<br>
ifFalse: [<br>
selector == #= ifTrue: [^false].<br>
selector == #~= ifTrue: [^true].<br>
rcvr isNaN ifTrue: [^ false].<br>
(selector = #< or: [selector = #'<='])<br>
+ ifTrue: [^ rcvr < 0.0].<br>
- ifTrue: [^ rcvr positive not].<br>
(selector = #> or: [selector = #'>='])<br>
+ ifTrue: [^ rcvr > 0.0].<br>
- ifTrue: [^ rcvr >= 0.0].<br>
^self error: 'unknow comparison selector'].<br>
<br>
"Try to avoid asTrueFraction because it can cost"<br>
self isAnExactFloat ifTrue: [^rcvr perform: selector with: self asExactFloat].<br>
selector == #= ifTrue: [^false].<br>
selector == #~= ifTrue: [^true].<br>
^ rcvr asTrueFraction perform: selector with: self!<br>
<br>
Item was removed:<br>
- ----- Method: Object>>perform:with:with:with:with:with: (in category 'message handling') -----<br>
- perform: aSymbol with: firstObject with: secondObject with: thirdObject with: fourthObject with: fifthObject<br>
- "Send the selector, aSymbol, to the receiver with the given arguments.<br>
- Fail if the number of arguments expected by the selector is not four.<br>
- Primitive. Optional. See Object documentation whatIsAPrimitive."<br>
- <br>
- <primitive: 83><br>
- ^ self perform: aSymbol withArguments: { firstObject. secondObject. thirdObject. fourthObject. fifthObject }!<br>
<br>
<br>
</blockquote></div>