Marcel Taeumel uploaded a new version of Kernel to project The Trunk: http://source.squeak.org/trunk/Kernel-mt.1551.mcz
==================== Summary ====================
Name: Kernel-mt.1551 Author: mt Time: 10 January 2024, 6:09:51.670122 pm UUID: 61ce6dab-9cbd-df43-9d59-a0477314a163 Ancestors: Kernel-mt.1550
Revert but document the latest change for the int-float arithmetic with #/ as it changes precision but should not.
=============== Diff against Kernel-mt.1550 ===============
Item was changed: ----- Method: SmallInteger>>/ (in category 'arithmetic') ----- / aNumber "Primitive. This primitive (for /) divides the receiver by the argument and returns the result if the division is exact. Fail if the result is not a whole integer. Fail if the argument is 0 or is not a SmallInteger. Optional. No Lookup. See Object documentation whatIsAPrimitive."
<primitive: 10> + ^ super / aNumber + + "In theory, we could also exploit mixed arithmetic speed-up through float + primitives. However, the reciprocal approach with multiplication involves + two rounding operations instead of one, which changes the resulting precision. + { 3.0 / 5.0 . 3.0 * (1.0 / 5.0) } + --> #(0.6 0.6000000000000001) + ^ aNumber isFloat + ifTrue: [(1.0 / aNumber) * self ] + ifFalse: [super / aNumber] + "! - ifTrue: [(1.0 / aNumber) * self "exploit mixed arithmetic in float primitives"] - ifFalse: [super / aNumber]!
packages@lists.squeakfoundation.org