Using fractions instead of floats
Gabriel Genellina
gagsl-py2 at yahoo.com.ar
Tue Oct 2 23:12:28 EDT 2007
En Tue, 02 Oct 2007 01:59:35 -0300, mensanator at aol.com
<mensanator at aol.com> escribi�:
> How does gmpy make the conversion from float to rational?
Well, you know, these days valuable software usually comes with something
people call "documentation". Incomprehensible documents in strange formats
talking about esoteric stuff that nobody is able to read (as if someone
wanted to actually read them!).
Hidden in the land of Mordor where the shadows lie, there is an ancient
scroll -a long time forgotten by mankind- where you can read terrible
things like this:
"If an mpf or float argument is passed, the
mpq is built from it with an 'optimal' approach based on a
Stern-Brocot tree." <http://gmpy.googlecode.com/svn/trunk/doc/gmpydoc.txt>
On the motivation for doing such evil things, you can read the explanation
given centuries ago by its creator, by then the High Wizard Alessandro:
"[The algorithm tries] to convert floats to rationals
giving the smallest denominator compatible with the hypothesis that
the float is precise to N bits [...] usually DBL_MANT_BITS [...] normally
53 today"
<http://mail.python.org/pipermail/python-list/2002-October/166974.html>
--
Gabriel Genellina
More information about the Python-list
mailing list