comp.lang.ada
 help / color / mirror / Atom feed
From: Natasha Kerensikova <lithiumcat@gmail.com>
Subject: Re: How to round to the nearest fixed-point value?
Date: Thu, 23 Jan 2014 07:02:59 +0000 (UTC)
Date: 2014-01-23T07:02:59+00:00	[thread overview]
Message-ID: <slrnle1fkt.1lme.lithiumcat@sigil.instinctive.eu> (raw)
In-Reply-To: f37cea1f-6c68-483b-8097-cca566a5d8a2@googlegroups.com

On 2014-01-22, adambeneschan@gmail.com <adambeneschan@gmail.com> wrote:
> I'm pretty sure this is a compiler bug.  Since Low'Small is a multiple of High'Small, you can work around it by changing the definition of Convert to
>
>     return Low (Value + Low'Small / 2);
>
> (Low'Small is a universal real and therefore Low'Small/2 will be interpreted as a value of type High.  The type conversion to Low will truncate.)

I have been considering that, however it seems type conversion truncates
towards zero, so the expression above is only correct for positive
Values, while Low'Small/2 should be subtracted when Value is negative.

Or am I missing something?


  parent reply	other threads:[~2014-01-23  7:02 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-22 16:48 How to round to the nearest fixed-point value? Natasha Kerensikova
2014-01-22 17:53 ` G.B.
2014-01-22 22:26   ` adambeneschan
2014-01-23  9:21     ` Georg Bauhaus
2014-01-22 22:45 ` adambeneschan
2014-01-23  5:29   ` J-P. Rosen
2014-01-23  7:00     ` Natasha Kerensikova
2014-01-23  9:42     ` Georg Bauhaus
2014-01-23  7:02   ` Natasha Kerensikova [this message]
2014-01-23 16:41     ` adambeneschan
2014-01-24  9:58 ` Natasha Kerensikova
2014-01-24 22:30   ` Randy Brukardt
2014-01-24 22:47     ` Randy Brukardt
2014-01-26 14:19     ` Natasha Kerensikova
2014-01-28 23:43       ` Randy Brukardt
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox