[squeak-dev] The Inbox: Kernel-dtl.1015.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Apr 13 22:57:40 UTC 2016
David T. Lewis uploaded a new version of Kernel to project The Inbox:
http://source.squeak.org/inbox/Kernel-dtl.1015.mcz
==================== Summary ====================
Name: Kernel-dtl.1015
Author: dtl
Time: 13 April 2016, 6:57:22.56608 pm
UUID: bd849f91-9b00-45c5-b2ab-891b420bde5e
Ancestors: Kernel-mt.1014
Make large integer equality test be about 13 times faster. Implement #= in LargePositiveInteger, and use digitAt: (primitive 60) for the comparison.
=============== Diff against Kernel-mt.1014 ===============
Item was added:
+ ----- Method: LargePositiveInteger>>= (in category 'comparing') -----
+ = aNumber
+
+ aNumber class == self class ifTrue: [
+ aNumber size = self size ifFalse: [ ^false ].
+ self size to: 1 by: -1 do: [ :i | (aNumber digitAt: i) = (self digitAt: i) ifFalse: [ ^ false ] ].
+ ^ true ].
+ aNumber isInteger ifTrue: [ ^false ].
+ aNumber isNumber ifFalse: [ ^false ].
+ ^aNumber adaptToInteger: self andCompare: #=!
More information about the Squeak-dev
mailing list
|