X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb-python/blobdiff_plain/359ae0c5675b8ef692e397541ffb96b9056d58d1..361fd0e6cf51addf72f8b34e6909ff6ac16309f6:/pgen.c?ds=sidebyside diff --git a/pgen.c b/pgen.c index 8e1911b..58f6845 100644 --- a/pgen.c +++ b/pgen.c @@ -219,7 +219,7 @@ static PyTypeObject pfilt_pytype_skel = { Py_TPFLAGS_BASETYPE, /* @tp_doc@ */ -"PrimeFilter(X): small-primes filter.", + "PrimeFilter(X): small-primes filter.", 0, /* @tp_traverse@ */ 0, /* @tp_clear@ */ @@ -352,7 +352,7 @@ static PyTypeObject rabin_pytype_skel = { Py_TPFLAGS_BASETYPE, /* @tp_doc@ */ -"RabinMiller(X): Rabin-Miller strong primality test.", + "RabinMiller(X): Rabin-Miller strong primality test.", 0, /* @tp_traverse@ */ 0, /* @tp_clear@ */ @@ -406,8 +406,7 @@ static void pgevent_kill(PyObject *me) static void pgevent_pydealloc(PyObject *me) { pgevent_pyobj *ev = (pgevent_pyobj *)me; - if (ev->r) Py_DECREF(ev->r); - FREEOBJ(me); + Py_XDECREF(ev->r); FREEOBJ(me); } #define PGEVENT_CHECK(me) do { \ @@ -490,7 +489,7 @@ static PyTypeObject pgevent_pytype_skel = { Py_TPFLAGS_BASETYPE, /* @tp_doc@ */ -"Prime-generation event.", + "Prime-generation event.", 0, /* @tp_traverse@ */ 0, /* @tp_clear@ */ @@ -669,7 +668,7 @@ static PyTypeObject pgev_pytype_skel = { Py_TPFLAGS_BASETYPE, /* @tp_doc@ */ -"Built-in prime-generation event handler, base class.", + "Built-in prime-generation event handler, base class.", 0, /* @tp_traverse@ */ 0, /* @tp_clear@ */ @@ -743,7 +742,7 @@ static PyTypeObject pgstep_pytype_skel = { Py_TPFLAGS_BASETYPE, /* @tp_doc@ */ -"PrimeGenStepper(STEP): simple stepper with small-factors filter.", + "PrimeGenStepper(STEP): simple stepper with small-factors filter.", 0, /* @tp_traverse@ */ 0, /* @tp_clear@ */ @@ -825,7 +824,8 @@ static PyTypeObject pgjump_pytype_skel = { Py_TPFLAGS_BASETYPE, /* @tp_doc@ */ -"PrimeGenJumper(JUMP): stepper for larger steps with small-factors filter.", + "PrimeGenJumper(JUMP): " + "stepper for larger steps with small-factors filter.", 0, /* @tp_traverse@ */ 0, /* @tp_clear@ */ @@ -886,7 +886,7 @@ static PyTypeObject pgtest_pytype_skel = { Py_TPFLAGS_BASETYPE, /* @tp_doc@ */ -"PrimeGenTester(): Rabin-Miller tester.", + "PrimeGenTester(): Rabin-Miller tester.", 0, /* @tp_traverse@ */ 0, /* @tp_clear@ */ @@ -1051,21 +1051,22 @@ end: static PyMethodDef methods[] = { #define METHNAME(name) meth_##name - METH (_PrimeFilter_smallfactor, "smallfactor(X) -> PGST") - METH (_RabinMiller_iters, "iters(NBITS) -> NITERS") - KWMETH(pgen, "\ -pgen(START, [name = 'p'[, [stepper = PrimeGenStepper(2)],\n\ - [tester = PrimeGenTester()], [event = pgen_nullev],\n\ - [nsteps = 0], [ntests = RabinMiller.iters(START.nbits)]) -> P") - KWMETH(strongprime_setup, "\ -strongprime_setup(NBITS, [name = 'p'], [event = pgen_nullev],\n\ - [rng = rand], [nsteps = 0]) -> (START, JUMP)") - KWMETH(strongprime, "\ -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, ...])") + METH (_PrimeFilter_smallfactor, "smallfactor(X) -> PGRC") + METH (_RabinMiller_iters, "iters(NBITS) -> NITERS") + KWMETH(pgen, + "pgen(START, [name = 'p'], [stepper = PrimeGenStepper(2)],\n" + " [tester = PrimeGenTester()], [event = pgen_nullev],\n" + " [nsteps = 0], [ntests = RabinMiller.iters(START.nbits)]) -> P") + KWMETH(strongprime_setup, + "strongprime_setup(NBITS, [name = 'p'], [event = pgen_nullev],\n" + " [rng = rand], [nsteps = 0]) -> (START, JUMP)") + KWMETH(strongprime, + "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, ...])") #undef METHNAME { 0 } };