X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb-python/blobdiff_plain/ab093124de0e9b0bb5d5797de7296161a2e62b40..54ee272dfb207d6d20cd3217f7f100751496772d:/catacomb/__init__.py?ds=sidebyside diff --git a/catacomb/__init__.py b/catacomb/__init__.py index 22b1fdf..508f1f8 100644 --- a/catacomb/__init__.py +++ b/catacomb/__init__.py @@ -192,7 +192,7 @@ bytes = ByteString.fromhex ### Symmetric encryption. class _tmp: - def encrypt(me, n, m, tsz = None, h = ByteString('')): + def encrypt(me, n, m, tsz = None, h = ByteString.zero(0)): if tsz is None: tsz = me.__class__.tagsz.default e = me.enc(n, len(h), len(m), tsz) if not len(h): a = None @@ -200,7 +200,7 @@ class _tmp: c0 = e.encrypt(m) c1, t = e.done(aad = a) return c0 + c1, t - def decrypt(me, n, c, t, h = ByteString('')): + def decrypt(me, n, c, t, h = ByteString.zero(0)): d = me.dec(n, len(h), len(c), len(t)) if not len(h): a = None else: a = d.aad().hash(h) @@ -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