summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeffrey Yasskin <jyasskin@gmail.com>2008-01-31 17:45:59 (GMT)
committerJeffrey Yasskin <jyasskin@gmail.com>2008-01-31 17:45:59 (GMT)
commit38db364076e593a5111ce948b6379f15819fcaf8 (patch)
tree51d5f0f09159a25aac113e41656cd552c8b1374c
parentb23dea6adb7eaf3f415e05b129afa01fa1c4dd5c (diff)
downloadcpython-38db364076e593a5111ce948b6379f15819fcaf8.zip
cpython-38db364076e593a5111ce948b6379f15819fcaf8.tar.gz
cpython-38db364076e593a5111ce948b6379f15819fcaf8.tar.bz2
Remove unused to-be-magic methods from Rational per issue 1968. Do not port
this patch to py3k.
-rwxr-xr-xLib/rational.py34
-rw-r--r--Lib/test/test_rational.py15
2 files changed, 0 insertions, 49 deletions
diff --git a/Lib/rational.py b/Lib/rational.py
index f86904d..b922fbf 100755
--- a/Lib/rational.py
+++ b/Lib/rational.py
@@ -410,40 +410,6 @@ class Rational(RationalAbc):
__int__ = __trunc__
- def __floor__(a):
- """Will be math.floor(a) in 3.0."""
- return a.numerator // a.denominator
-
- def __ceil__(a):
- """Will be math.ceil(a) in 3.0."""
- # The negations cleverly convince floordiv to return the ceiling.
- return -(-a.numerator // a.denominator)
-
- def __round__(self, ndigits=None):
- """Will be round(self, ndigits) in 3.0.
-
- Rounds half toward even.
- """
- if ndigits is None:
- floor, remainder = divmod(self.numerator, self.denominator)
- if remainder * 2 < self.denominator:
- return floor
- elif remainder * 2 > self.denominator:
- return floor + 1
- # Deal with the half case:
- elif floor % 2 == 0:
- return floor
- else:
- return floor + 1
- shift = 10**abs(ndigits)
- # See _operator_fallbacks.forward to check that the results of
- # these operations will always be Rational and therefore have
- # __round__().
- if ndigits > 0:
- return Rational((self * shift).__round__(), shift)
- else:
- return Rational((self / shift).__round__() * shift)
-
def __hash__(self):
"""hash(self)
diff --git a/Lib/test/test_rational.py b/Lib/test/test_rational.py
index bd700b1..b97922c 100644
--- a/Lib/test/test_rational.py
+++ b/Lib/test/test_rational.py
@@ -197,14 +197,6 @@ class RationalTest(unittest.TestCase):
def testConversions(self):
self.assertTypedEquals(-1, trunc(R(-11, 10)))
self.assertTypedEquals(-1, int(R(-11, 10)))
- self.assertTypedEquals(-2, R(-11, 10).__floor__())
- self.assertTypedEquals(-1, R(-11, 10).__ceil__())
- self.assertTypedEquals(-1, R(-10, 10).__ceil__())
-
- self.assertTypedEquals(0, R(-1, 10).__round__())
- self.assertTypedEquals(0, R(-5, 10).__round__())
- self.assertTypedEquals(-2, R(-15, 10).__round__())
- self.assertTypedEquals(-1, R(-7, 10).__round__())
self.assertEquals(False, bool(R(0, 1)))
self.assertEquals(True, bool(R(3, 2)))
@@ -218,13 +210,6 @@ class RationalTest(unittest.TestCase):
self.assertTypedEquals(0.1+0j, complex(R(1,10)))
- def testRound(self):
- self.assertTypedEquals(R(-200), R(-150).__round__(-2))
- self.assertTypedEquals(R(-200), R(-250).__round__(-2))
- self.assertTypedEquals(R(30), R(26).__round__(-1))
- self.assertTypedEquals(R(-2, 10), R(-15, 100).__round__(1))
- self.assertTypedEquals(R(-2, 10), R(-25, 100).__round__(1))
-
def testArithmetic(self):
self.assertEquals(R(1, 2), R(1, 10) + R(2, 5))