From 38db364076e593a5111ce948b6379f15819fcaf8 Mon Sep 17 00:00:00 2001 From: Jeffrey Yasskin Date: Thu, 31 Jan 2008 17:45:59 +0000 Subject: [PATCH] Remove unused to-be-magic methods from Rational per issue 1968. Do not port this patch to py3k. --- Lib/rational.py | 34 ---------------------------------- Lib/test/test_rational.py | 15 --------------- 2 files changed, 49 deletions(-) diff --git a/Lib/rational.py b/Lib/rational.py index f86904dc91..b922fbf065 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 bd700b10b6..b97922c0f7 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)) -- 2.50.0