X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb-python/blobdiff_plain/b2687a0a4b3c5e45cad7c5815a6d3805bfc8d4f1..45c4c120df9ad8568dfe924df1ae154c3350c12d:/pgen.c diff --git a/pgen.c b/pgen.c index cb8d10c..30b78ed 100644 --- a/pgen.c +++ b/pgen.c @@ -1,7 +1,5 @@ /* -*-c-*- * - * $Id$ - * * Prime number generation * * (c) 2005 Straylight/Edgeware @@ -122,9 +120,8 @@ static PyObject *pfilt_pyint(PyObject *me) long l; PyObject *rc = 0; - if (mp_tolong_checked(PFILT_F(me)->m, &l)) goto end; - rc = PyInt_FromLong(l); -end: + if (!mp_tolong_checked(PFILT_F(me)->m, &l, 0)) rc = PyInt_FromLong(l); + else rc = mp_topylong(PFILT_F(me)->m); return (rc); } @@ -199,7 +196,7 @@ static PyNumberMethods pfilt_pynumber = { static PyTypeObject pfilt_pytype_skel = { PyObject_HEAD_INIT(0) 0, /* Header */ - "catacomb.PrimeFilter", /* @tp_name@ */ + "PrimeFilter", /* @tp_name@ */ sizeof(pfilt_pyobj), /* @tp_basicsize@ */ 0, /* @tp_itemsize@ */ @@ -332,7 +329,7 @@ static PyMethodDef rabin_pymethods[] = { static PyTypeObject rabin_pytype_skel = { PyObject_HEAD_INIT(0) 0, /* Header */ - "catacomb.RabinMiller", /* @tp_name@ */ + "RabinMiller", /* @tp_name@ */ sizeof(rabin_pyobj), /* @tp_basicsize@ */ 0, /* @tp_itemsize@ */ @@ -427,6 +424,7 @@ static int peset_x(PyObject *me, PyObject *xobj, void *hunoz) mp *x = 0; pgen_event *ev = PGEVENT_EV(me); int rc = -1; + if (!x) NIERR("__del__"); PGEVENT_CHECK(me); if ((x = getmp(xobj)) == 0) goto end; mp_drop(ev->m); @@ -450,7 +448,7 @@ static PyGetSetDef pgevent_pygetset[] = { static PyTypeObject pgevent_pytype_skel = { PyObject_HEAD_INIT(0) 0, /* Header */ - "catacomb.PrimeGenEvent", /* @tp_name@ */ + "PrimeGenEvent", /* @tp_name@ */ sizeof(pgevent_pyobj), /* @tp_basicsize@ */ 0, /* @tp_itemsize@ */ @@ -631,7 +629,7 @@ static PyMethodDef pgev_pymethods[] = { static PyTypeObject pgev_pytype_skel = { PyObject_HEAD_INIT(0) 0, /* Header */ - "catacomb.PrimeGenBuiltinHandler", /* @tp_name@ */ + "PrimeGenBuiltinHandler", /* @tp_name@ */ sizeof(pgev_pyobj), /* @tp_basicsize@ */ 0, /* @tp_itemsize@ */ @@ -705,7 +703,7 @@ static PyGetSetDef pgstep_pygetset[] = { static PyTypeObject pgstep_pytype_skel = { PyObject_HEAD_INIT(0) 0, /* Header */ - "catacomb.PrimeGenStepper", /* @tp_name@ */ + "PrimeGenStepper", /* @tp_name@ */ sizeof(pgstep_pyobj), /* @tp_basicsize@ */ 0, /* @tp_itemsize@ */ @@ -787,7 +785,7 @@ static PyGetSetDef pgjump_pygetset[] = { static PyTypeObject pgjump_pytype_skel = { PyObject_HEAD_INIT(0) 0, /* Header */ - "catacomb.PrimeGenJumper", /* @tp_name@ */ + "PrimeGenJumper", /* @tp_name@ */ sizeof(pgjump_pyobj), /* @tp_basicsize@ */ 0, /* @tp_itemsize@ */ @@ -848,7 +846,7 @@ end: static PyTypeObject pgtest_pytype_skel = { PyObject_HEAD_INIT(0) 0, /* Header */ - "catacomb.PrimeGenTester", /* @tp_name@ */ + "PrimeGenTester", /* @tp_name@ */ sizeof(pgtest_pyobj), /* @tp_basicsize@ */ 0, /* @tp_itemsize@ */ @@ -1037,8 +1035,8 @@ pgen(START, [name = 'p', stepper = PrimeGenStepper(2),\n\ strongprime_setup(NBITS, [name = 'p', event = pgen_nullev,\n\ rng = rand, nsteps = 0]) -> (START, JUMP)") KWMETH(strongprime, "\ -strongprime_setup(NBITS, [name = 'p', event = pgen_nullev,\n\ - rng = rand, nsteps = 0]) -> P") +strongprime(NBITS, [name = 'p', event = pgen_nullev,\n\ + rng = rand, nsteps = 0]) -> P") KWMETH(limlee, "\ limlee(PBITS, QBITS, [name = 'p', event = pgen_nullev,\n\ ievent = pgen_nullev, rng = rand, nsteps = 0]) -> (P, [Q, ...])")