[squeak-dev] DateAndTime hashing
asqueaker at gmail.com
Sun Jan 6 23:53:23 UTC 2019
> On Sat, Jan 05, 2019 at 08:53:52PM -0800, Eliot Miranda wrote:
> > Hi David,
> > > On Jan 5, 2019, at 8:17 PM, David T. Lewis <lewis at mail.msen.com> wrote:
> > >
> > > I don't think that this has a practical impact, but I will mention it
> > > in case I am overlooking something. The hash for a DateAndTime in a
> > > 64-bit image will be different from the hash for the same DateAndTime
> > > in a 32-bit image, because the utcMicroseconds value in a 64-bit Spur
> > > image is a SmallInteger, and in a 32-bit image it is a LargePositiveInteger.
> > This was taken care of for this kind of scenario in
> > Name: Kernel-eem.1198
> > Author: eem
> > Time: 24 November 2018, 1:44:47.526422 pm
> > UUID: 100137c4-2514-4b7f-9064-3dcdfe7d8cc9
> > Ancestors: Kernel-eem.1197
> > Redefine LargePositiveInteger hash for compatibility between 32-bit
> > and 64-bit systems.
Shouldn't the condition should be ^self digitLength <= 4, instead of 8?
1073741824 hash = 230045764
1073741824 hash = 1073741824
I must be missing something. I can't believe we didn't notice this
and went into trunk before asking this question...
> Ah, right, I forgot about that update. I was looking at an outdated 32-bit image.
More information about the Squeak-dev