Am Donnerstag, 6. Dezember 2007 17:05 schrieb Martin Preuss: > > Hm, die AB_Values werden doch letztlich entweder über mpq_set_d (bei > > FromDouble) oder mpq_set_f (bei fromString) erzeugt. (@Martin: Welches > > von beiden war's wohl hier?) Laut > > http://www.gnu.org/software/gmp/manual/html_node/Rational-Conversions.htm > >l sind diese wiederum explizit "without rounding". *Das* wiederum könnte > > hier der Grund sein: Wenn nämlich beim Erzeugen des gmp-floats brav als > > Basis die 2 angenommen wird, dann wird auch eine harmlose Dezimalzahl wie > > 1.3 ein ellenlanger Bruch. Weil sich 1 + 3/10 nicht in endlicher > > Stellenanzahl als > > [...] > > Hmm, verstehe ich nicht so recht: Als Basis fuer float als String wird doch > immer 10 angenommen, wenn man nichts anderes angibt? Das bestaetigen > jedenfalls auch meine Versuche: Wenn ich mpf_set_str() verwende mit der > Basis 10, kommt das gleiche heraus... Es wird alos daran liegen, wie mpf_t > intern gespeichert wird und wie das an mpq_t weitergegeben wird...
Ach so, dann hab ich die Dokumentation hier nicht richtig verstanden. Stimmt, dann scheint die angebbare Basis sich wohl nur auf die Interpretation des Strings zu beziehen, aber nicht auf die interne Repräsentation. Ich hab selber auch noch nie mit gmp gearbeitet, kann deshalb hier nur raten. Die großen Zahlen in den Brüchen sind halt komisch. Aus den arithmetischen Operationen kommen sie wohl nicht, denn die machen ja immer ein "canonize" nachher. Also bliebe als Herkunftsmöglichkeit eigentlich nur die Erstellung, und wenn eben ein mpq_t aus einem mpf_t oder einem double erstellt wird, wäre es möglich, dass die Darstellung als floating-point zur Basis 2 bei den Dezimalzahlen zur Basis 10 dann so absurde rationale Zahlen bewirkt... Whatever. *Wenn* das der Grund ist, dann kommt man da nur drumrum, indem man die rationale Zahl direkt erstellt und nicht über den Umweg einer Gleitkommazahl, sei es nun mpf_t oder double. Aber das sind nur Plaudereien auf dem Trockenen. Letztlich muss man beim Testen sehen, was gmp hier wirklich macht. Gruß Christian ------------------------------------------------------------------------- SF.Net email is sponsored by: Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ Aqbanking-devel mailing list Aqbanking-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/aqbanking-devel