Ich versuche, ein C++ - Programm zu verbessern, indem ich die GMP (GNU Multiple Precision Arithmetic Library) benutze.wie man epsilon von mpf_class berechnet
Es gibt eine Zählervariable, die periodisch um das Ergebnis einer Berechnung vom Typ double erhöht wird. Die Addition geschieht innerhalb einer ISR (Interrupt Service Routine), deshalb sollte sie schnell sein.
Bisher ist die Zählervariable vom Typ double, was ein Problem verursacht. Einige Geräte (die seit Jahren laufen) erreichen einen Punkt, an dem jede Addition unter Absorption fällt, so dass nichts mehr passiert. Andere Geräte beginnen bereits kleinere Zusätze zu verwerfen.
Weil es Zeit ist, es zu verbessern, indem Sie stattdessen mpf_class doppelt verwenden. Aber um die Größe der mpf_class richtig einzustellen, muss ich die & epsil; (Epsilon).
Meine Frage ist: Wie kann ich das Epsilon eines mpf_class Objekts berechnen?
Ein Beispiel (C++) dieser Berechnung wäre großartig.
ok es ist nicht wichtig für mich zu wissen, ob mein system mehr speicher benötigt. Ich interessiere mich für das größtmögliche Epsilon. Ich muss nur überprüfen, ob es die Anforderungen erfüllt. Neben mpfr ist installiert, ich kann es verwenden, wenn ich dies tun muss. Eine Lösung für mpfr wäre in Ordnung. – Sorko