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=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,703c4f68db81387d X-Google-Thread: 109fba,703c4f68db81387d X-Google-Attributes: gid103376,gid109fba,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!proxad.net!newsfeed.stueberl.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Vinzent 'Gadget' Hoefler Newsgroups: comp.lang.ada,comp.lang.c++ Subject: Re: Teaching new tricks to an old dog (C++ -->Ada) Followup-To: comp.lang.ada Date: Wed, 23 Mar 2005 13:43:45 +0000 Message-ID: <1668472.LenOZyZ6c7@jellix.jlfencey.com> References: <4229bad9$0$1019$afc38c87@news.optusnet.com.au> <1110032222.447846.167060@g14g2000cwa.googlegroups.com> <871xau9nlh.fsf@insalien.org> <3SjWd.103128$Vf.3969241@news000.worldonline.dk> <87r7iu85lf.fsf@insalien.org> <1110052142.832650@athnrd02> <1110284070.410136.205090@o13g2000cwo.googlegroups.com> <395uqaF5rhu2mU1@individual.net> <1110329098.642196@athnrd02> <1110361741.551255@athnrd02> <422edaec$0$26554$9b4e6d93@newsread4.arcor-online.net> <1111464133.508323@athnrd02> <423fe9df$0$11476$9b4e6d93@newsread2.arcor-online.net> <1111521825.653841@athnrd02> <424094b0$0$11481$9b4e6d93@newsread2.arcor-online.net> <1111568404.687226@athnrd02> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit X-Trace: individual.net S40Rc/b1KSwH2YylP+gh+wx5Uo3NO5e2dEfwYhJODLzg5jUrr7 X-Phone: +41 62 961 13 52 X-Mood: Beautiful day to take over the world. Xref: g2news1.google.com comp.lang.ada:9796 comp.lang.c++:46807 Date: 2005-03-23T13:43:45+00:00 List-Id: Ioannis Vranos wrote: > OK, although O(log(n)) is fairly cheap, let's stick to O(1). However > personally I think that the value of defined subranges in the style > -1000, -400 has not any practical use. So? Let me take a look at some current project: |type DAC_Range is new Interfaces.Unsigned_8; |type Offset is new Interfaces.Integer_8; | |-- lookup tables are faster |type Offset_Skew is array(Offset) of DAC_Range; So the array indices are - of course - from -127 to 128. (Of course you can remap that to 0 to 255, but because I am calculating in signed range for relatively obvious reasons, this is much more convenient.) Vinzent. -- worst case: The wrong assumption there actually is one.