From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, MAILING_LIST_MULTI autolearn=unavailable autolearn_force=no version=3.4.4 X-Google-Thread: 103376,14be6619f79b4573 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!news.glorb.com!newsgate.cistron.nl!newsfeed.bit.nl!tiscali!newsfeed1.ip.tiscali.net!proxad.net!usenet-fr.net!news.enst.fr!melchior!cuivre.fr.eu.org!melchior.frmug.org!not-for-mail From: Marius Amado Alves Newsgroups: comp.lang.ada Subject: Re: Hashing on System.Address Date: Tue, 14 Jun 2005 11:49:59 +0100 Organization: Cuivre, Argent, Or Message-ID: References: <200506141214.14213.baldrick@free.fr> <64f19b6707e4d19f5362900bbfb80b76@netcabo.pt> NNTP-Posting-Host: lovelace.ada-france.org Mime-Version: 1.0 (Apple Message framework v622) Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Trace: melchior.cuivre.fr.eu.org 1118746269 54771 212.85.156.195 (14 Jun 2005 10:51:09 GMT) X-Complaints-To: usenet@melchior.cuivre.fr.eu.org NNTP-Posting-Date: Tue, 14 Jun 2005 10:51:09 +0000 (UTC) To: comp.lang.ada@ada-france.org Return-Path: In-Reply-To: <64f19b6707e4d19f5362900bbfb80b76@netcabo.pt> X-Mailer: Apple Mail (2.622) X-Virus-Scanned: by amavisd-new at dcc.fc.up.pt X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at ada-france.org X-BeenThere: comp.lang.ada@ada-france.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Gateway to the comp.lang.ada Usenet newsgroup" List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Xref: g2news1.google.com comp.lang.ada:11346 Date: 2005-06-14T11:49:59+01:00 Now more "theoretically", for my bit-based hash function, output dispersion is clearly dependent on input dispersion. I tested it with text strings (Latin-1) and it did well. But for skewed domains like memory addresses it may not work as good. In these cases it is indeed smarter to use whatever knowledge you have of the skewdness e.g. cut out invariant bits. Note the two methods can work in tandem: first cut out invariant bits, then use my function to zoom in or out to the output size.