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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,7a2d45f282a1da1c X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-08-17 22:07:23 PST Date: Mon, 18 Aug 2003 13:05:34 +0800 From: Adrian Hoe User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021204 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: float with 24-bit resolution References: <3F3CCB0F.543478AF@adrianhoe.nospam.com.my> In-Reply-To: X-Enigmail-Version: 0.71.0.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit NNTP-Posting-Host: 219.95.187.227 X-Original-NNTP-Posting-Host: 219.95.187.227 Message-ID: <3f405ef4$1_1@news.tm.net.my> X-Trace: news.tm.net.my 1061183220 219.95.187.227 (18 Aug 2003 13:07:00 +0800) Organization: TMnet Malaysia Path: archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!sn-xit-01!sn-xit-09!supernews.com!hermes.visi.com!news-out.visi.com!petbe.visi.com!ash.uu.net!news1.tm.net.my Xref: archiver1.google.com comp.lang.ada:41666 Date: 2003-08-18T13:05:34+08:00 List-Id: Matthew Heaney wrote: > "Simon Wright" wrote in message > news:x7vy8xuu235.fsf@smaug.pushface.org... > >>"Jeffrey Creem" writes: >> >>You need to use the compiler's inbuilt infinite precision arithmetic here: >> >>package Angles is >> >> Angle_Delta : constant := 360.0 / 2 ** 23; >> >> type Angle is delta Angle_Delta range -360.0 .. 360.0 - Angle_Delta; >> for Angle'Small use Angle_Delta; >> for Angle'Size use 24; >> >>end Angles; > > > This is correct, except that you don't need to subtract the value of > Angle_Delta when specifying the Angle'Last. The following declaration is > perfectly correct: > > Angle_Delta : constant := 360.0 / 2 ** 23; > type Angle is delta Angle_Delta range -360.0 .. 360.0; --360, not > 360-T'Small > for Angle'Small use Angle_Delta; > for Angle'Size use 24; > > > But subtracting the value of Angle_Delta makes the code more understandable, doesn't it? That translates to -360.0000000 .. +359.9999571.