X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb-python/blobdiff_plain/55f0fc7026f9f95101f881768aece40d9c50773b..3200c805f073fc4a480fbbd1345c09d03f4efae4:/catacomb/__init__.py diff --git a/catacomb/__init__.py b/catacomb/__init__.py index 24f3a61..508f1f8 100644 --- a/catacomb/__init__.py +++ b/catacomb/__init__.py @@ -387,12 +387,15 @@ class BaseRat (object): return type(me)(me._d*n, me._n*d) __div__ = __truediv__ __rdiv__ = __rtruediv__ - def __cmp__(me, you): + def _order(me, you, op): n, d = _split_rat(you) - return cmp(me._n*d, n*me._d) - def __rcmp__(me, you): - n, d = _split_rat(you) - return cmp(n*me._d, me._n*d) + return op(me._n*d, n*me._d) + def __eq__(me, you): return me._order(you, lambda x, y: x == y) + def __ne__(me, you): return me._order(you, lambda x, y: x != y) + def __le__(me, you): return me._order(you, lambda x, y: x <= y) + def __lt__(me, you): return me._order(you, lambda x, y: x < y) + def __gt__(me, you): return me._order(you, lambda x, y: x > y) + def __ge__(me, you): return me._order(you, lambda x, y: x >= y) class IntRat (BaseRat): RING = MP