如何使Ada数学函数使用双精度(长浮点数)变量?
Ada 的标准数学函数如 sin、cos、*、/ 等仅支持 Float 类型变量作为输入和输出。是否可以让这些函数处理输入和输出变量的双精度或 long_float?
回答
实际上数学函数(幸运的是)支持任何精度。
with Ada.Numerics.Generic_Elementary_Functions;
...
type Real is digits 15;
package REF is new Ada.Numerics.Generic_Elementary_Functions (Real);
use REF;