Re: Good hash for pointers

Liste des GroupesRevenir à cl c 
Sujet : Re: Good hash for pointers
De : already5chosen (at) *nospam* yahoo.com (Michael S)
Groupes : comp.lang.c
Date : 03. Jun 2024, 20:41:00
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <20240603224100.00003ea1@yahoo.com>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
User-Agent : Claws Mail 4.1.1 (GTK 3.24.34; x86_64-w64-mingw32)
On Mon, 3 Jun 2024 19:48:29 +0100
bart <bc@freeuk.com> wrote:

 
I don't remember seeing that anywhere. But, bucket_size is the size
of the hash-table?
 

Yes

And Hash_max+1 is likely to be a power of two?
 

Yes. At very least 2**32.

I prefer my hash values to be evaluated independently of table size.
They usually don't have a meaningful maximum value, other than the 64
bit of their type, and I'd rather they didn't have sequences of zero
bits especially at the bottom end.
 

Bottom is in the eye of beholder :-)

If hash_max was 2**63-1,

63 was my mistake. He suggests 2**64-1. It seems.

say, then dividing by hash_max+1 would
probably give you zero anyway, especially if you first multiplied by
a bucket size that was a power of two, as all the interesting bits
would disappear past the top bit!

Huh?
If bucket size is 2**n then
index = Hash(key)*2**n/2**64 == Hash(key) >> (64-n);

May be, you are thinking about C language arithmetic? That not what I
had in mind. In post above I used equations in their integer math
meaning rather than integer C arithmetic meaning.






Date Sujet#  Auteur
2 Jun 24 * Re: Good hash for pointers21Michael S
2 Jun 24 +* Re: Good hash for pointers2Chris M. Thomasson
3 Jun 24 i`- Re: Good hash for pointers1Chris M. Thomasson
3 Jun 24 +* Re: Good hash for pointers5Tim Rentsch
3 Jun 24 i`* Re: Good hash for pointers4Michael S
4 Jun 24 i `* Re: Good hash for pointers3Tim Rentsch
4 Jun 24 i  `* Re: Good hash for pointers2Michael S
5 Jun 24 i   `- Re: Good hash for pointers1Tim Rentsch
3 Jun 24 `* Re: Good hash for pointers13Bonita Montero
3 Jun 24  `* Re: Good hash for pointers12Michael S
3 Jun 24   `* Re: Good hash for pointers11Bonita Montero
3 Jun 24    +* Re: Good hash for pointers8bart
3 Jun 24    i+* Re: Good hash for pointers6Michael S
3 Jun 24    ii+* Re: Good hash for pointers4bart
3 Jun 24    iii+- Re: Good hash for pointers1Michael S
3 Jun 24    iii+- Re: Good hash for pointers1Michael S
4 Jun 24    iii`- Re: Good hash for pointers1Tim Rentsch
4 Jun 24    ii`- Re: Good hash for pointers1Tim Rentsch
3 Jun 24    i`- Re: Good hash for pointers1Bonita Montero
3 Jun 24    `* Re: Good hash for pointers2Michael S
3 Jun 24     `- Re: Good hash for pointers1Bonita Montero

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal