Marcel Taeumel uploaded a new version of Kernel to project The Trunk: http://source.squeak.org/trunk/Kernel-mt.1412.mcz
==================== Summary ====================
Name: Kernel-mt.1412 Author: mt Time: 27 August 2021, 10:16:40.604421 am UUID: fdcad3e9-f9f7-fa4d-990a-ac59259860db Ancestors: Kernel-mt.1411
Fixes rounding for negative receivers and negative arguments. Minor slow-down due to extra sign checks.
=============== Diff against Kernel-eem.1408 ===============
Item was added: + ----- Method: Integer>>roundDownTo: (in category 'truncation and round off') ----- + roundDownTo: aNumber + "Overwritten to speed-up integer rounding via modulo instead of using intermediate fractions." + + aNumber isInteger ifFalse: [^ super roundDownTo: aNumber]. + ^ self - (self \ aNumber)!
Item was added: + ----- Method: Integer>>roundTo: (in category 'truncation and round off') ----- + roundTo: aNumber + "Overwritten to speed-up integer rounding via modulo instead of using intermediate fractions." + + | rem qua | + aNumber isInteger ifFalse: [^ super roundUpTo: aNumber]. + self = 0 ifTrue: [^ 0]. + + (rem := self \ (qua := aNumber abs * self sign)) = 0 ifTrue: [^ self]. + ^ rem abs >= (qua // 2) abs + ifTrue: ["round up" self + qua - rem] + ifFalse: ["round down" self - rem] + !
Item was added: + ----- Method: Integer>>roundUpTo: (in category 'truncation and round off') ----- + roundUpTo: aNumber + "Overwritten to speed-up integer rounding via modulo instead of using intermediate fractions." + + | rem | + aNumber isInteger ifFalse: [^ super roundUpTo: aNumber]. + ^ (rem := self \ aNumber) ~= 0 + ifTrue: [self + aNumber - rem] + ifFalse: [self]!
packages@lists.squeakfoundation.org