]> granicus.if.org Git - python/commitdiff
Revert changes in 62669, since they caused test failures.
authorMark Dickinson <dickinsm@gmail.com>
Sun, 4 May 2008 00:00:19 +0000 (00:00 +0000)
committerMark Dickinson <dickinsm@gmail.com>
Sun, 4 May 2008 00:00:19 +0000 (00:00 +0000)
__floor__, __ceil__ and __round__ are still wrong,
but they need to be replaced with something rather
than just removed.

Lib/decimal.py

index 96d4b3e61a06b1c480d38ef495546f33eab80d0d..a2e7fa409272d5ba322257587f4dafa1174a5758 100644 (file)
@@ -1649,6 +1649,9 @@ class Decimal(_numbers.Real):
         else:
             return -1
 
+    def __round__(self):
+        return self._round_down(0)
+
     def _round_up(self, prec):
         """Rounds away from 0."""
         return -self._round_down(prec)
@@ -1684,6 +1687,9 @@ class Decimal(_numbers.Real):
         else:
             return -self._round_down(prec)
 
+    def __ceil__(self):
+        return self._round_ceiling(0)
+
     def _round_floor(self, prec):
         """Rounds down (not towards 0 if negative)"""
         if not self._sign:
@@ -1691,6 +1697,9 @@ class Decimal(_numbers.Real):
         else:
             return -self._round_down(prec)
 
+    def __floor__(self):
+        return self._round_floor(0)
+
     def _round_05up(self, prec):
         """Round down unless digit prec-1 is 0 or 5."""
         if prec and self._int[prec-1] not in '05':