X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb-python/blobdiff_plain/f76230157bd427829e49628de37d53f9c8ae7842..dfb61a8e8d9f89a445a362c12c254909fc21c6f7:/group.c diff --git a/group.c b/group.c index 6b26d9d..1e93ccc 100644 --- a/group.c +++ b/group.c @@ -589,7 +589,10 @@ static PyObject *ge_pyexp(PyObject *x, PyObject *n, PyObject *m) mp *nn; ge *z; - if (m != Py_None || !GE_PYCHECK(x) || (nn = getmp(n)) == 0) + if (m != Py_None || !GE_PYCHECK(x)) RETURN_NOTIMPL; + if (FE_PYCHECK(n) && FE_F(n)->ops->ty == FTY_PRIME) + nn = F_OUT(FE_F(n), MP_NEW, FE_X(n)); + else if ((nn = implicitmp(n)) == 0) RETURN_NOTIMPL; z = G_CREATE(GE_G(x)); G_EXP(GE_G(x), z, GE_X(x), nn);