我尝试了什么:
function Get_T(I : in Integer)
return Float is
T:Float;
M:Float:=Float(I);
begin
T:=40.0*0.5**((60.0-M)/20.0); -- FLOAT NOT ACCEPTED IN EXPONENT
return T;
end Get_T;
我需要特殊包装吗?我一直在看Ada.Numerics.Generic_Elementary_Functions,但我不知道如何使用它。
答案 0 :(得分:2)
您可以使用Ada.Numerics.Elementary_Functions
包中定义的幂运算符:
With Ada.Numerics.Elementary_Functions;
function Get_T(I : in Integer) return Float is
use Ada.Numerics.Elementary_Functions;
T: Float;
M: Float := Float(I);
begin
T := 40.0 * 0.5 ** ((60.0 - M) / 20.0);
return T;
end Get_T;