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!news2.google.com!newsfeed.media.kyoto-u.ac.jp!newsfeed.icl.net!newsfeed.fjserv.net!easynet-quince!easynet.net!grolier!news.enst.fr!melchior!cuivre.fr.eu.org!melchior.frmug.org!not-for-mail From: Duncan Sands Newsgroups: comp.lang.ada Subject: Re: Hashing on System.Address Date: Tue, 14 Jun 2005 09:23:48 +0200 Organization: Cuivre, Argent, Or Message-ID: References: NNTP-Posting-Host: lovelace.ada-france.org Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Trace: melchior.cuivre.fr.eu.org 1118733848 20938 212.85.156.195 (14 Jun 2005 07:24:08 GMT) X-Complaints-To: usenet@melchior.cuivre.fr.eu.org NNTP-Posting-Date: Tue, 14 Jun 2005 07:24:08 +0000 (UTC) Cc: Mark Lorenzen To: comp.lang.ada@ada-france.org Return-Path: User-Agent: KMail/1.8.1 In-Reply-To: Content-Disposition: inline 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:11334 Date: 2005-06-14T09:23:48+02:00 Hi Mark, > You can always convert a value of type System.Address to a value of a > signed or modular (implementation-defined) type. That should help when > you want to hash it into a value of type Hash_Type. yes that helps - thanks for the suggestion. In fact that is what I'm already doing. The problem is the next part... That can be simplified to: I have two modular types (binary modulus), but I don't know their modulus. Values of the first type should be hashed into values of the second type. This can be done (I've done it) but somehow the code is much more horrible than I feel it should be. One annoying point is that a program with a static expression that would raise Constraint_Error is illegal, even if you would never get to the Contraint_Error raising part in run-time. If you don't understand the relevance of this remark, try to code this kind of hash thing yourself and you will soon see :) Thanks again, Duncan.