Ada95:如何在Exponent中使用Float?

时间:2017-10-22 10:48:26

标签: floating-point ada exponent

我尝试了什么:

 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,但我不知道如何使用它。

1 个答案:

答案 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;