]> granicus.if.org Git - python/commitdiff
Remove unused to-be-magic methods from Rational per issue 1968. Do not port
authorJeffrey Yasskin <jyasskin@gmail.com>
Thu, 31 Jan 2008 17:45:59 +0000 (17:45 +0000)
committerJeffrey Yasskin <jyasskin@gmail.com>
Thu, 31 Jan 2008 17:45:59 +0000 (17:45 +0000)
this patch to py3k.

Lib/rational.py
Lib/test/test_rational.py

index f86904dc91f5f88c28838dc4fe35581104826089..b922fbf0650244763bdb19e64b25c9ace7dfa080 100755 (executable)
@@ -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)
 
index bd700b10b686b5bc54d18e4afd92936549102c1c..b97922c0f75a6b59bb1c8d2604e8746468d902cf 100644 (file)
@@ -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))