comp.lang.ada
 help / color / mirror / Atom feed
From: "Yannick Duchêne (Hibou57)" <yannick_duchene@yahoo.fr>
Subject: Re: Ada.Containers Hash function for a set of small integers
Date: Wed, 05 May 2010 06:29:02 +0200
Date: 2010-05-05T06:29:02+02:00	[thread overview]
Message-ID: <op.vb7teo1pxmjfy8@garhos> (raw)
In-Reply-To: m28w8dyhjr.fsf@pushface.org

Le Fri, 23 Apr 2010 23:39:52 +0200, Simon Wright <simon@pushface.org> a  
écrit:
> I don't know about 'best', but in ColdFrame
> (http://coldframe.sourceforge.net/coldframe/) I would generate this hash
> for use with Booch Maps, where the key components of Instance are
> {A:Integer, B:Integer, C:Integer}:
>
>    function Instance_Hash (I : Instance) return Natural is
>       type M is mod 2**31;
>       Result : M := 0;
>    begin
>       Result := Result xor M (I.A mod 2**31);
>       Result := Result * 10019;
>       Result := Result xor M (I.B mod 2**31);
>       Result := Result * 10019;
>       Result := Result xor M (I.C mod 2**31);
>       Result := Result * 10019;
>       return Natural (Result);
>    end Instance_Hash;
>
> I believe the 10019 came from Knuth, but can't see a reference.
Unlucky, I was to ask you how this 10_019 was computed. At least, this  
magic number is not a prime number, the nearest is 1009.

If this can help, may be some goodies there :
http://www.isthe.com/chongo/tech/comp/fnv/
http://eternallyconfuzzled.com/tuts/algorithms/jsw_tut_hashing.aspx

-- 
No-no, this isn't an oops ...or I hope (TM) - Don't blame me... I'm just  
not lucky



  parent reply	other threads:[~2010-05-05  4:29 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-22 23:26 Ada.Containers Hash function for a set of small integers Michael R
2010-04-23  1:39 ` John B. Matthews
2010-04-23 21:39 ` Simon Wright
2010-04-23 22:47   ` Michael R
2010-04-24 11:28     ` Simon Wright
2010-04-26 18:37       ` Robert A Duff
2010-04-26 21:05         ` Simon Wright
2010-04-26 21:50           ` Adam Beneschan
2010-04-27  4:50             ` AdaMagica
2010-04-27 19:04               ` Simon Wright
2010-04-27 19:08             ` Simon Wright
2010-04-23 23:08   ` Jeffrey R. Carter
2010-04-26 15:33   ` Warren
2010-04-26 18:14     ` Jeffrey R. Carter
2010-04-26 18:32       ` Charmed Snark
2010-05-05  4:29   ` Yannick Duchêne (Hibou57) [this message]
2010-05-06 15:46     ` Warren
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox