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(。