From: Natasha Kerensikova <lithiumcat@gmail.com>
Subject: Re: How to round to the nearest fixed-point value?
Date: Fri, 24 Jan 2014 09:58:27 +0000 (UTC)
Date: 2014-01-24T09:58:27+00:00 [thread overview]
Message-ID: <slrnle4e9r.1lme.lithiumcat@sigil.instinctive.eu> (raw)
In-Reply-To: slrnldvtim.1lme.lithiumcat@sigil.instinctive.eu
Hello,
On 2014-01-22, Natasha Kerensikova <lithiumcat@gmail.com> wrote:
> function Convert (Value : High) return Low is
> begin
> return Low'Round (Value);
> end Convert;
In case anyone is interested, the following rewrite works around the
problem:
function Convert (Value : High) return Low is
begin
return Low'Round (Value * 1.0);
end Convert;
I would have thought that the optimizer would have quickly brought both
version to the same generated code, but from -O0 to -O3 I get the
correct rounding with the latter but not with the former.
I guess that's enough to conclude there is a compiler bug somewhere (or
a weird bug in the language). I'll have to send that to AdaCore...
Natasha
next prev parent reply other threads:[~2014-01-24 9:58 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
2014-01-23 16:41 ` adambeneschan
2014-01-24 9:58 ` Natasha Kerensikova [this message]
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