]> granicus.if.org Git - python/commitdiff
Made minimal modifications to pass included tests
authorAlexander Belopolsky <alexander.belopolsky@gmail.com>
Sat, 3 Jul 2010 22:36:06 +0000 (22:36 +0000)
committerAlexander Belopolsky <alexander.belopolsky@gmail.com>
Sat, 3 Jul 2010 22:36:06 +0000 (22:36 +0000)
Demo/classes/Complex.py

index 64c56d46538aaf11e14f74635b09cebd01a74e4b..06f2212afa611e9c183d98b5885ca192aed62d59 100644 (file)
@@ -151,13 +151,9 @@ class Complex:
             raise ValueError("can't convert Complex with nonzero im to float")
         return float(self.re)
 
-    def __cmp__(self, other):
+    def __eq__(self, other):
         other = ToComplex(other)
-        return cmp((self.re, self.im), (other.re, other.im))
-
-    def __rcmp__(self, other):
-        other = ToComplex(other)
-        return cmp(other, self)
+        return (self.re, self.im) == (other.re, other.im)
 
     def __bool__(self):
         return not (self.re == self.im == 0)
@@ -190,14 +186,14 @@ class Complex:
 
     __rmul__ = __mul__
 
-    def __div__(self, other):
+    def __truediv__(self, other):
         other = ToComplex(other)
         d = float(other.re*other.re + other.im*other.im)
         if not d: raise ZeroDivisionError('Complex division')
         return Complex((self.re*other.re + self.im*other.im) / d,
                        (self.im*other.re - self.re*other.im) / d)
 
-    def __rdiv__(self, other):
+    def __rtruediv__(self, other):
         other = ToComplex(other)
         return other / self
 
@@ -226,8 +222,9 @@ def checkop(expr, a, b, value, fuzz = 1e-6):
     print('       ', a, 'and', b, end=' ')
     try:
         result = eval(expr)
-    except:
-        result = sys.exc_info()[0]
+    except Exception as e:
+        print('!!\t!!\t!! error: {}'.format(e))
+        return
     print('->', result)
     if isinstance(result, str) or isinstance(value, str):
         ok = (result == value)
@@ -295,13 +292,6 @@ def test():
                     (Complex(1), Complex(0,10), 1),
                     (2, Complex(4,0), 16),
             ],
-            'cmp(a,b)': [
-                    (1, 10, -1),
-                    (1, Complex(0,10), 1),
-                    (Complex(0,10), 1, -1),
-                    (Complex(0,10), Complex(1), -1),
-                    (Complex(1), Complex(0,10), 1),
-            ],
     }
     for expr in sorted(testsuite):
         print(expr + ':')