mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	Remove unused to-be-magic methods from Rational per issue 1968. Do not port
this patch to py3k.
This commit is contained in:
		
							parent
							
								
									b23dea6adb
								
							
						
					
					
						commit
						38db364076
					
				
					 2 changed files with 0 additions and 49 deletions
				
			
		|  | @ -410,40 +410,6 @@ def __trunc__(a): | ||||||
| 
 | 
 | ||||||
|     __int__ = __trunc__ |     __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): |     def __hash__(self): | ||||||
|         """hash(self) |         """hash(self) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -197,14 +197,6 @@ def testApproximateFrom(self): | ||||||
|     def testConversions(self): |     def testConversions(self): | ||||||
|         self.assertTypedEquals(-1, trunc(R(-11, 10))) |         self.assertTypedEquals(-1, trunc(R(-11, 10))) | ||||||
|         self.assertTypedEquals(-1, int(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(False, bool(R(0, 1))) | ||||||
|         self.assertEquals(True, bool(R(3, 2))) |         self.assertEquals(True, bool(R(3, 2))) | ||||||
|  | @ -218,13 +210,6 @@ def testConversions(self): | ||||||
| 
 | 
 | ||||||
|         self.assertTypedEquals(0.1+0j, complex(R(1,10))) |         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): |     def testArithmetic(self): | ||||||
|         self.assertEquals(R(1, 2), R(1, 10) + R(2, 5)) |         self.assertEquals(R(1, 2), R(1, 10) + R(2, 5)) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Jeffrey Yasskin
						Jeffrey Yasskin