off topic but please forgive me me and answer
mensanator at aol.com
Fri Apr 2 19:48:12 EDT 2010
On Apr 2, 6:07 pm, Steven D'Aprano <st... at REMOVE-THIS-
> On Fri, 02 Apr 2010 12:35:55 -0700, Mensanator wrote:
> >> If you want an exact result when multiplying arbitrary fractions, you
> >> need to avoid floats and decimals and use Fractions:
> >> >>> Fraction(1, 2)**2
> >> Fraction(1, 4)
> > Where do you get that from?
> Where do I get what from? Fraction? Oops, sorry about that.
> In Python2.6:
> >>> from fractions import Fraction
Ok, thanks. I've been using gmpy to do rational arithmetic:
>>> import gmpy
But I don't have a lot of call for it.
> In older Pythons, there was a demo module Demo/classes/Rat.py but it may
> not be installed on your system. Seehttp://bugs.python.org/issue1682
> If you meant, where did I get the statement about exact results from,
> both float and Decimal are fixed precision numbers. float precision is
> fixed by the operating system and/or hardware; Decimal precision can be
> arbitrarily chosen by the caller, but having made that choice,
> calculations are rounded to that precision. Only Fraction gives exact
> results for any arbitrary rational number.
Yes, rationals are handy sometimes.
More information about the Python-list