Commit Graph

16 Commits

Author SHA1 Message Date
Mark Dickinson 88a0a2e47f Issue #6431: Fix Fraction comparisons with unknown types, and with
float infinities and nans.  Backport of r74078 from py3k.
2009-07-18 15:18:18 +00:00
Mark Dickinson 4af8e745c4 Issue #5812: The two-argument form of the Fraction constructor
now accepts arbitrary Rational instances.
2009-04-24 13:56:07 +00:00
Mark Dickinson 8100bd8431 Issue #5812: make Fraction('1e-6') valid. Backport of r71806. 2009-04-22 18:15:25 +00:00
Georg Brandl fe427895b5 Manually merge r68095,68186,68187,68188,68190 from 2.6 branch. 2009-01-03 22:03:11 +00:00
Raymond Hettinger b01713e7dc Issue 3285: Fractions from_float() and from_decimal() accept Integral arguments. 2008-07-10 14:34:57 +00:00
Raymond Hettinger 548db58e02 Use operator.index() instead of n.__index__(). 2008-07-10 10:28:41 +00:00
Raymond Hettinger 655d583a49 Issue 3287: Raise correct exception for float inputs. 2008-07-10 09:31:08 +00:00
Mark Dickinson 3af386a5cb Remove trailing 'L's from numerator and denominator in the
repr() of a Fraction instance.
2008-06-27 10:11:52 +00:00
Andrew M. Kuchling f484363bae Use repr() for bad input strings; this makes the empty string or binary characters more visible 2008-06-21 13:47:20 +00:00
Raymond Hettinger cf98f03a62 The __all__ variable forgot to expose the gcd() function. 2008-05-08 04:36:12 +00:00
Jeffrey Yasskin 339f5e3ffc Change simple instances (in Fraction) of self.numerator and self.denominator to
self._numerator and self._denominator. This speeds abs() up from 12.2us to
10.8us and trunc() from 2.07us to 1.11us. This doesn't change _add and friends
because they're more complicated.
2008-02-14 07:49:25 +00:00
Jeffrey Yasskin 1c214d6c94 Performance optimizations on Fraction's constructor.
./python.exe -m timeit -s 'from fractions import Fraction' 'Fraction(3)`
31.7 usec/loop -> 9.2 usec/loop

  ./python.exe -m timeit -s 'from fractions import Fraction' 'Fraction(3, 2)'`
27.7 usec/loop -> 9.32 usec/loop

  ./python.exe -m timeit -s 'from fractions import Fraction; f = Fraction(3, 2)' 'Fraction(f)'
31.9 usec/loop -> 14.3 usec/loop
2008-02-14 06:12:24 +00:00
Mark Dickinson 0aa52a1658 Revert change in r60712: turn alternate constructors back into
classmethods instead of staticmethods.
2008-02-12 21:40:53 +00:00
Mark Dickinson e1b824793a Implementation of Fraction.limit_denominator.
Remove Fraction.to_continued_fraction and
Fraction.from_continued_fraction
2008-02-12 21:31:59 +00:00
Mark Dickinson cd873fc142 Put an extra space into the repr of a Fraction:
Fraction(1, 2) instead of Fraction(1,2).
2008-02-11 03:11:55 +00:00
Mark Dickinson d058cd2cc8 Rename rational.Rational to fractions.Fraction, to avoid name clash
with numbers.Rational.  See issue #1682 for related discussion.
2008-02-10 21:29:51 +00:00