From: Richard Iswara <haujekchifan@gmail.com>
Subject: Re: Gnat bug or mistaken program?
Date: Wed, 21 Jul 2021 09:23:03 +0700 [thread overview]
Message-ID: <b4af0c62-1376-393b-b8cf-67f6463cb50e@gmail.com> (raw)
In-Reply-To: ilo3o4F5297U1@mid.individual.net
On 20/07/2021 21.09, Niklas Holsti wrote:
> On 2021-07-20 15:02, Richard Iswara wrote:
>> I get this error on my program from the menu build => check semantic
>> exponent must be of type Natural, found type "Standard.Float".
>>
>> Should not 10 ** (log10 a + log10 b) = a*b?
>>
>> This is my compiler build:
>>
>> GNAT Studio Community 2020 (20200427) hosted on x86_64-pc-mingw32
>> GNAT Community 2020 (20200429-93) targetting x86_64-pc-mingw32
>> SPARK Community 2020 (20200429)
>>
>> Here is the relevant part of program:
>>
>> with Ada.Numerics.Elementary_Functions;
>> use Ada.Numerics;
>
>
> To make Ada.Numerics.Elementary_Functions."**" visible without
> qualification, you should also do "use Ada.Numerics.Elementary_Functions".
>
> Otherwise the compiler will see only the predefined operator:
>
> function "**"(Left : Float; Right : Integer'Base) return Float
>
> (see RM 4.5.6(9 and 10)) which explains why the compiler does not accept
> a floating-point value as the Right operand to "**".
>
>
>> Logs : Float := 0.0;
>> Multiples : Float;
> ...> Multiples := 10.0 ** Logs; => this is where it fails
>
>
> It fails because the compiler sees only the predefined "**" operator
> which has an integral right operand.
Thank you. So it is a visibility problem.
next prev parent reply other threads:[~2021-07-21 2:23 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-20 12:02 Gnat bug or mistaken program? Richard Iswara
2021-07-20 14:09 ` Niklas Holsti
2021-07-21 2:23 ` Richard Iswara [this message]
2021-07-21 8:29 ` Jeffrey R. Carter
2021-07-21 16:56 ` Shark8
2021-07-22 2:14 ` Richard Iswara
2021-07-27 16:00 ` Niklas Holsti
2021-07-28 5:21 ` J-P. Rosen
2021-07-29 0:46 ` 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