以下のパッケージを使用して、ada の Real_Matrix の精度を知っている人はいますか?
with Ada.Numerics.Real_Arrays
とにかくそれを増やすことはありますか?
LRMによると、「ライブラリパッケージNumerics.Real_Arraysは純粋であると宣言され、Numerics.Generic_Real_Arraysと同じ型とサブプログラムを定義します。ただし、事前定義された型FloatがReal'Base全体で体系的に置き換えられます。」
これは、Real_Matrix値の精度が、事前定義されたFloatタイプの精度になることを意味します。これは、プラットフォームでFloat'Digitsの値として確認できます。
(興味深いことに、この表現は、すべての「Real」およびReal「Base」サブプログラム引数を「Float」にテキストで置き換えることを示唆していますが、GNAT GPL 2012のバージョンのReal_Arraysは、単にGeneric_Real_ArraysパッケージをFloatでインスタンス化します。)
精度を上げるには、高精度のインスタンス化の1つであるLong_Real_ArraysまたはLong_Long_Real_Arraysを使用するか、必要な精度で独自の浮動小数点型を定義し、それを使用してGeneric_Real_Arraysをインスタンス化します。