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,368b03fab3a0e48f X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news2.google.com!news.glorb.com!feeder.erje.net!news.albasani.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Bill Findlay Newsgroups: comp.lang.ada Subject: Re: ee9, a GNU emulator of the EE KDF9 Date: Tue, 30 Aug 2011 13:32:31 +0100 Message-ID: References: <4afdfcb4-c1c9-42f6-8892-69f7f1b7d03f@g31g2000yqh.googlegroups.com> <1gw7bd73wia3k$.fsth1w5i71ts.dlg@40tude.net> Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Trace: individual.net zJzLjULdz0mhszjIqxgMcAv4pQSRV212YXGTsPdHELkgd5Q5DD Cancel-Lock: sha1:VZjGlWjDlZGQIdMLtILXmNZDzgI= User-Agent: Microsoft-Entourage/12.28.0.101117 Thread-Topic: ee9, a GNU emulator of the EE KDF9 Thread-Index: AcxnEOLagP8uRG1bbUm6laFMJTo5Cw== Xref: g2news2.google.com comp.lang.ada:21710 Date: 2011-08-30T13:32:31+01:00 List-Id: On 30/08/2011 12:51, in article 1gw7bd73wia3k$.fsth1w5i71ts.dlg@40tude.net, "Dmitry A. Kazakov" wrote: > On Tue, 30 Aug 2011 11:39:45 +0100, Bill Findlay wrote: > >> Jensen's device has yet to (re-)surface in Ada. > > http://rosettacode.org/wiki/Jensen%27s_Device#Ada > Jensen's device would be written more like this in Ada 60: > procedure Jensen_Device is > > function Sum ( > X : in out Float; > Lo, > Hi : in Float; > F : in Float with Parameter_Mode => By_Name -- 8-) > ) > return Float is > Temp : Float := 0.0; > begin > X := Lo; > while X <= Hi loop > Temp := Temp + F; > X := X + 1.0; > end loop; > return Temp; > end Sum; > > Y : Float; > > begin > Put_Line (Float'Image (Sum (Y, 1.0, 100.0, 1.0 / Y))); > end Jensen_Device; Much neater! -- Bill Findlay with blueyonder.co.uk; use surname & forename;