![]() |
Boost : |
From: Jean-Louis Leroy (jl_at_[hidden])
Date: 2025-05-12 13:46:46
> > You're right. We'd have to ask the author, but I guess the "| 1" in
> > "hash_mult = uniform_dist(rnd) | 1" is there to avoid the (very
> > unlikely) case
> > hash_mult = 0. In any case, this small adjustment doesn't change the big
> > picture
> >
>
> I think reason people pick odd number is because if your multiplier is
> power of 2 last bits are guaranteed to be 0.
> * the number 11400714819323198486 is closer but we donât want multiples of
> two because that would throw away one bit)*
Yes, that was my - I dare not say reasoning - my intuition.
I tried discussing this with a mathematician friend, but all I could
get out of her
was: "my field is differential topology, not integer number theory" :-D
> > the values are confined to a range that is around 10^14 times smaller
> > than 2^64
type_ids are few, and they are confined in the initialized data
segment in theory, and in practice they are consecutive in a small
range of memory.
J-L
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk