diff options
Diffstat (limited to 'Lib')
-rwxr-xr-x | Lib/rational.py | 34 | ||||
-rw-r--r-- | Lib/test/test_rational.py | 15 |
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)) |