Nicolas Cellier uploaded a new version of Kernel to project The Trunk: http://source.squeak.org/trunk/Kernel-nice.1258.mcz
==================== Summary ====================
Name: Kernel-nice.1258 Author: nice Time: 20 August 2019, 10:02:55.377539 am UUID: a05ee2dc-141d-f54b-8c76-9d4dc6b3c7ee Ancestors: Kernel-mt.1257
Minor tweak: if log2 is exact, then can log: 4, 8, 16, 32 too
=============== Diff against Kernel-mt.1257 ===============
Item was changed: ----- Method: Fraction>>log2 (in category 'mathematical functions') ----- log2 + "This function is defined because super log2 might overflow." - "This function is defined because super log might overflow." | res | self <= 0 ifTrue: [DomainError signal: 'log2 is only defined for x > 0']. "Test self < 1 before converting to float in order to avoid precision loss due to gradual underflow." numerator < denominator ifTrue: [^self reciprocal log2 negated]. res := super log2. res isFinite ifTrue: [^res]. ^numerator log2 - denominator log2!
Item was changed: ----- Method: Number>>log: (in category 'mathematical functions') ----- log: aNumber "Answer the log base aNumber of the receiver."
aNumber = 2 ifTrue: [^self log2]. + aNumber isPowerOfTwo ifTrue: [^self log2 / aNumber log2]. ^self ln / aNumber ln!
packages@lists.squeakfoundation.org