"M.-A. Lemburg" wrote: > >... > > Well, the above bullet was meant to show that typing 1.1 doesn't > result in Python generating a true representation of that value, > but instead: > > >>> from mx.Number import * > >>> Float(1.1) > 1.10000000000000008882e+0 > >>> Rational(1.1) > 2476979795053773/2251799813685248 > > This is a common misunderstanding and the reason for Moshe proposing > to have 1.1 produce a Rational(11, 10) instead of a float. Right, this is why creating rationals from floats will usually be a bad idea. Perhaps creating a rational from a float should require an extra step that shows that you understand that this is not the "normal" way to create a rational. i.e. RationalFromFloat(1.1) or even RationalFromInexact(1.1) Despite these nits, I think that mx.Number is very cool! > Note that GMP is blazingly fast, so the performance hit is > probably negligable (haven't done any real tests yet, since > mx.Number is not up to it yet and still provides a lot of > air for performance improvements). But no matter how fast a particular implementation is, my understanding is that rational numbers are slower than floats at a deeply algorithmic level. Correct? -- Take a recipe. Leave a recipe. Python Cookbook! http://www.ActiveState.com/pythoncookbook
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4