Issue #1717: Remove cmp. Stage 1: remove all uses of cmp and __cmp__ from
the standard library and tests.
diff --git a/Lib/test/test_long.py b/Lib/test/test_long.py
index c1f8b5c..2acb3fa 100644
--- a/Lib/test/test_long.py
+++ b/Lib/test/test_long.py
@@ -697,7 +697,8 @@
def _cmp__(self, other):
if not isinstance(other, Rat):
other = Rat(other)
- return cmp(self.n * other.d, self.d * other.n)
+ x, y = self.n * other.d, self.d * other.n
+ return (x > y) - (x < y)
def __eq__(self, other):
return self._cmp__(other) == 0
def __ne__(self, other):
@@ -727,8 +728,8 @@
Rx = Rat(x)
for y in cases:
Ry = Rat(y)
- Rcmp = cmp(Rx, Ry)
- xycmp = cmp(x, y)
+ Rcmp = (Rx > Ry) - (Rx < Ry)
+ xycmp = (x > y) - (x < y)
eq(Rcmp, xycmp, Frm("%r %r %d %d", x, y, Rcmp, xycmp))
eq(x == y, Rcmp == 0, Frm("%r == %r %d", x, y, Rcmp))
eq(x != y, Rcmp != 0, Frm("%r != %r %d", x, y, Rcmp))