2

以下のパッケージを使用して、ada の Real_Matrix の精度を知っている人はいますか?

   with Ada.Numerics.Real_Arrays

とにかくそれを増やすことはありますか?

4

1 に答える 1

5

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をインスタンス化します。

于 2012-11-15T13:37:58.463 に答える