Floating point Ada95:如何在指数中使用浮点?

Floating point Ada95:如何在指数中使用浮点?,floating-point,ada,exponent,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

我所尝试的:

 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_函数,但我不确定如何使用它。

您可以使用
Ada.Numerics.Elementary_函数
包中定义的幂运算符:

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;

您可以使用
Ada.Numerics.Elementary\u函数
,它是
通用基本函数
,已经为
浮点
实例化。