PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Klasse für "dynamische" FP-Typen


aths
2003-10-19, 16:43:59
Hi alle, insbesondere Zecki,

stellte es einen großen Aufwand dar, eine Klasse "dynfloat" (oder so) zu schreiben, die im Konstruktor übergeben bekommt, wieviel Bit Exponent und wieviel Bit Mantisse genutzt werden, dem entsprechend viel Speicherplatz belegt, und alle Grundrechenarten beherrscht, also +, -, *, / und +=, -=, *= und /=?

Die Klasse sollte komplett in Hochsprache geschrieben sein.

An Methoden müsste es Konvertierungsmöglichkeiten geben, welche z.B. aus einer 11+7-FP-Zahl eine 8+5-FP Zahl macht und andersrum, also unterschiedliche Genauigkeiten ineinander umwandelt, ebenso In- und Export von float und double bieten. Auch sollte In- und Export von Integer-Typen möglich sein.

Oder gibt's sowas schon?

Hintergrund: "Beliebig genaues" Rechnen ermöglichen. Um z.B. Grenzwerte numerisch zu ermitteln, kommt man mit double nicht sehr weit. Ebenfalls könnte man in der Praxis austesten, wie weit man mit FP16, FP24 bzw. FP32 kommt :)

Crushinator
2003-10-19, 19:32:31
Wäre denn "JclMath.pas" aus dem Jedi Code Library (http://www.delphi-jedi.org/) und erweitern der Klasse "TJclRational" um die Dynamik der Präzision und +/- eine Option?

/edit: Ansonsten könnte man auch die C++ Klassen auf http://www.rossi.com/sqr2.htm verwenden.

Vedek Bareil
2003-10-19, 21:33:42
hast du's mal mit der GMP (http://www.swox.com/gmp/) (GNU Multi Precision Library) versucht?
Dies ist eigentlich für C, enthält aber auch Klassen für C++ mit überladenen Operatoren.