[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