From: "Matthew Heaney" <mheaney@on2.com>
Subject: Re: Hashing on System.Address
Date: 14 Jun 2005 08:18:10 -0700
Date: 2005-06-14T08:18:10-07:00 [thread overview]
Message-ID: <1118762290.117858.275280@g43g2000cwa.googlegroups.com> (raw)
In-Reply-To: <mailman.21.1118733532.17633.comp.lang.ada@ada-france.org>
Duncan Sands wrote:
> > Use System.Storage_Elements.To_Integer to convert the address to an
> > Integer_Address, and then convert that to type Hash_Type.
>
> that's what I'm doing. But there's no guarantee that they have the
> same size, so it's not portable.
Even if the Integer_Address type is 64 bits, that doesn't necessarily
mean To_Address will return values > 2**32. The easiest thing is to do
is just throw away the upper 32 bits of of the integer value, and then
convert that to type Hash_Type.
Yes, then means you won't have a perfect hash function, but that's
typical for hash functions anyway. (The Birthday Paradox applies to
hash functions too, I think.)
You might want to post your question on comp.compilers or one of the OS
newgroups. This is most probably a solved problem.
-Matt
next prev parent reply other threads:[~2005-06-14 15:18 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-13 20:18 Hashing on System.Address Duncan Sands
2005-06-13 21:31 ` Mark Lorenzen
2005-06-14 7:23 ` Duncan Sands
2005-06-14 20:18 ` Randy Brukardt
2005-06-15 7:27 ` Duncan Sands
2005-06-13 21:57 ` Matthew Heaney
2005-06-13 23:41 ` Robert A Duff
2005-06-14 2:22 ` Matthew Heaney
2005-06-14 7:27 ` Duncan Sands
2005-06-14 8:52 ` Alex R. Mosteo
2005-06-14 9:06 ` Duncan Sands
2005-06-14 9:09 ` Duncan Sands
2005-06-14 17:00 ` Pascal Obry
2005-06-14 20:03 ` Randy Brukardt
2005-06-14 23:20 ` Robert A Duff
2005-06-15 7:13 ` Duncan Sands
2005-06-14 8:44 ` Larry Kilgallen
2005-06-14 10:03 ` Marius Amado Alves
[not found] ` <abb2a2c53e3708803aa68bb87834b7bc@netcabo.pt>
2005-06-14 10:14 ` Duncan Sands
[not found] ` <200506141214.14213.baldrick@free.fr>
2005-06-14 10:29 ` Marius Amado Alves
[not found] ` <64f19b6707e4d19f5362900bbfb80b76@netcabo.pt>
2005-06-14 10:49 ` Marius Amado Alves
2005-06-14 8:42 ` Larry Kilgallen
2005-06-14 11:18 ` Duncan Sands
2005-06-14 7:18 ` Duncan Sands
2005-06-14 15:18 ` Matthew Heaney [this message]
2005-06-14 16:22 ` Duncan Sands
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox