GMP(GNU Multiple Precision Arithmetic Library)を使ってC++プログラムを改善しようとしています。mpf_classのイプシロン計算方法
倍精度浮動小数点数型(double)型の計算結果によって定期的に増加するカウンタ変数があります。 ISR(割り込みサービスルーチン)内で追加が発生するのは、これが高速であるためです。
これまでカウンタ変数はdouble型で問題を引き起こしていました。 いくつかのデバイス(年以来稼働しています)は、各追加が吸収されるポイントに達し、何も起こりません。 他のデバイスは既に小さな追加を破棄し始めています。
これは、mpf_classをdoubleの代わりに使用することで改善する予定です。 しかし、mpf_classのサイズを適切に設定するには、&εを知る必要があります。 (イプシロン)。
私の質問は:どのようにmpf_classオブジェクトのイプシロンを計算できますか?
この計算の例(C++)は優れています。
私のシステムがより多くのメモリを使用しているかどうかを知ることは重要ではありません。私は可能な限り大きなイプシロンに興味があります。私はそれが要件を満たしているかどうかを確認するだけです。 mpfrがインストールされているのとは別に、私がそうしなければならない場合、私はそれを使うことができます。 mpfrの解決策を提供しても問題ありません。 – Sorko