From: Mark Wooding Date: Sat, 19 Oct 2019 19:23:46 +0000 (+0100) Subject: catacomb/__init__.py (BaseRat, MP, GF): Add missing true-division methods. X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb-python/commitdiff_plain/b47818ea1ee2c0755249b9ca940083b6dd73acb3?ds=sidebyside catacomb/__init__.py (BaseRat, MP, GF): Add missing true-division methods. Since these all produce exact (rational) results, they satisfy the true- division requirements. --- diff --git a/catacomb/__init__.py b/catacomb/__init__.py index f6a5491..5e7aa89 100644 --- a/catacomb/__init__.py +++ b/catacomb/__init__.py @@ -313,12 +313,14 @@ class BaseRat (object): n, d = _split_rat(you) return type(me)(me._n*n, me._d*d) __rmul__ = __mul__ - def __div__(me, you): + def __truediv__(me, you): n, d = _split_rat(you) return type(me)(me._n*d, me._d*n) - def __rdiv__(me, you): + def __rtruediv__(me, you): n, d = _split_rat(you) return type(me)(me._d*n, me._n*d) + __div__ = __truediv__ + __rdiv__ = __rtruediv__ def __cmp__(me, you): n, d = _split_rat(you) return cmp(me._n*d, n*me._d) @@ -341,8 +343,10 @@ class _tmp: def mont(x): return MPMont(x) def barrett(x): return MPBarrett(x) def reduce(x): return MPReduce(x) - def __div__(me, you): return IntRat(me, you) - def __rdiv__(me, you): return IntRat(you, me) + def __truediv__(me, you): return IntRat(me, you) + def __rtruediv__(me, you): return IntRat(you, me) + __div__ = __truediv__ + __rdiv__ = __rtruediv__ _repr_pretty_ = _pp_str _augment(MP, _tmp) @@ -353,8 +357,10 @@ class _tmp: def halftrace(x, y): return x.reduce().halftrace(y) def modsqrt(x, y): return x.reduce().sqrt(y) def quadsolve(x, y): return x.reduce().quadsolve(y) - def __div__(me, you): return GFRat(me, you) - def __rdiv__(me, you): return GFRat(you, me) + def __truediv__(me, you): return GFRat(me, you) + def __rtruediv__(me, you): return GFRat(you, me) + __div__ = __truediv__ + __rdiv__ = __rtruediv__ _repr_pretty_ = _pp_str _augment(GF, _tmp)