私はMPFR任意精度ライブラリを使い始めたばかりで、すぐに非常に奇妙な動作に遭遇します。これを使用する主な目的は、大きな引数の「トリガー」の精度を向上させることであり、これはMPFRで非常にうまく機能します。
しかし、それから私は簡単な数学をチェックすることにしました、そしてそれは信じられませんでした-厳密な答えを持つ単純な例でさえ、丸め誤差が存在し、使用される精度に依存しません。
1.1 * 1のような例でも、結果は1.10000000000000008881784 ...そしてこの結果は非常識な2000ビット精度(通常のdoubleでは53)で与えられます!
たぶんそれは私のシステムの問題ですが、オンラインMPFRでも同様の問題が存在します。このような例をオンラインで試すことができます:http://ex-cs.sist.ac.jp/~tkouya/try_mpfr.html
1 * 1.1@64ビット=1.10000000000000000002
しかし、オンラインバージョンは精度の向上とともにエラーをさらに進めますが、私のインストールでは-いいえ。
私のシステム:Ubuntu 9.10 + gmp 5.0.0.1 + mpfr 2.4.2