Jeffrey Yasskin
a26cf9b760
Make int() and long() fall back to __trunc__(). See issue 2002.
2008-02-04 01:04:35 +00:00
Mark Dickinson
1dabdb25f8
Make the Rational constructor accept '3.' and '.2' as well as '3.2'.
2008-02-02 17:16:13 +00:00
Jeffrey Yasskin
dc2964b0d8
Roll back r60248. It's useful to encourage users not to change Rational
...
instances.
2008-02-01 07:05:46 +00:00
Raymond Hettinger
2df20a3e08
Minor wordsmithing on docstring
2008-01-31 22:07:16 +00:00
Jeffrey Yasskin
38db364076
Remove unused to-be-magic methods from Rational per issue 1968. Do not port
...
this patch to py3k.
2008-01-31 17:45:59 +00:00
Jeffrey Yasskin
b23dea6adb
Added more documentation on how mixed-mode arithmetic should be implemented. I
...
also noticed and fixed a bug in Rational's forward operators (they were
claiming all instances of numbers.Rational instead of just the concrete types).
2008-01-31 07:44:11 +00:00
Jeffrey Yasskin
3ea7b41b58
Moved Rational._binary_float_to_ratio() to float.as_integer_ratio() because
...
it's useful outside of rational numbers.
This is my first C code that had to do anything significant. Please be more
careful when looking over it.
2008-01-27 23:08:46 +00:00
Raymond Hettinger
63c77b6175
Docstring nit
2008-01-27 10:13:57 +00:00
Jeffrey Yasskin
3e1a373616
Make rational.gcd() public and allow Rational to take decimal strings, per
...
Raymond's advice.
2008-01-27 05:40:35 +00:00
Raymond Hettinger
9ec7bc36fe
More design notes
2008-01-25 01:46:33 +00:00
Raymond Hettinger
9c6d81f5dd
Fix-up signature for approximation.
2008-01-25 01:23:38 +00:00
Raymond Hettinger
7ea82253ea
Add one other review comment.
2008-01-25 01:13:12 +00:00
Raymond Hettinger
921cb5d3a3
Mark todos and review comments.
2008-01-25 00:33:45 +00:00
Raymond Hettinger
a6216749fb
Add support for copy, deepcopy, and pickle.
2008-01-25 00:21:54 +00:00
Raymond Hettinger
909e334e8a
More code cleanup. Remove unnecessary indirection to useless class methods.
2008-01-24 23:50:26 +00:00
Raymond Hettinger
5b0e27e50d
Add support for int(r) just like the other numeric classes.
2008-01-24 19:30:19 +00:00
Raymond Hettinger
7a6eacd2ca
Clean-up and speed-up code by accessing numerator/denominator directly. There's no reason to enforce readonliness
2008-01-24 18:05:54 +00:00
Raymond Hettinger
f336c8b7e9
Cleanup
2008-01-24 02:05:06 +00:00
Raymond Hettinger
eb461904eb
Minor clean-up and more tests.
2008-01-24 02:00:25 +00:00
Raymond Hettinger
cf10926088
Add first-cut at an approximation function (still needs rounding tweaks). Add continued fraction conversions.
2008-01-24 00:54:21 +00:00
Jeffrey Yasskin
45169fbc80
Several tweaks: add construction from strings and .from_decimal(), change
...
__init__ to __new__ to enforce immutability, and remove "rational." from repr
and the parens from str.
2008-01-19 09:56:06 +00:00
Jeffrey Yasskin
d7b00334f3
Add rational.Rational as an implementation of numbers.Rational with infinite
...
precision. This has been discussed at http://bugs.python.org/issue1682 . It's
useful primarily for teaching, but it also demonstrates how to implement a
member of the numeric tower, including fallbacks for mixed-mode arithmetic.
I expect to write a couple more patches in this area:
* Rational.from_decimal()
* Rational.trim/approximate() (maybe with different names)
* Maybe remove the parentheses from Rational.__str__()
* Maybe rename one of the Rational classes
* Maybe make Rational('3/2') work.
2008-01-15 07:46:24 +00:00