如何使阿达数学函数使用双精度(长浮点)变量



Ada的标准数学函数,如sin、cos、*、/等,仅支持将浮点型变量作为输入和输出。是否可以使这些函数同时处理输入和输出变量的双精度或长浮点?

实际上,数学函数(幸运的是(支持任何精度。

with Ada.Numerics.Generic_Elementary_Functions;
...
type Real is digits 15;
package REF is new Ada.Numerics.Generic_Elementary_Functions (Real);
use REF;

您应该找到

  • Ada.Numerics.Long_Elementary_Functions(用于Long_Float(
  • Ada.Numerics.Short_Elementary_Functions(用于Short_Float(

以及

  • Ada.Numerics.Elementary_Functions(对于Float(

参见ARM A.5.1(9(。

最新更新