'From Squeak6.0alpha of 14 November 2017 [latest update: #17489] on 16 November 2017 at 11:28:38 pm'!!LargePositiveInteger methodsFor: 'bit manipulation' stamp: 'eem 4/18/2017 11:03'!hashMultiply	"This is a multiplication by by 1664525 mod 2^28 written to avoid overflowing into large integers.	 The primitive is able to perform the operation with modulo arihmetic."	<primitive: 159>	"Truncate to 28 bits and try again"	^(self bitAnd: 16rFFFFFFF) hashMultiply! !!SmallInteger methodsFor: 'bit manipulation' stamp: 'eem 4/18/2017 11:03'!hashMultiply	"This is a multiplication by by 1664525 mod 2^28 written to avoid overflowing into large integers.	 The primitive is able to perform the operation with modulo arihmetic."	<primitive: 159>	| low |	low := self bitAnd: 16383.	^(16r260D * low + ((16r260D * (self bitShift: -14) + (16r0065 * low) bitAnd: 16383) * 16384))			bitAnd: 16r0FFFFFFF! !