X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/catacomb-python/blobdiff_plain/0040152918b6695e73807fd479024db8a27a83fb..183e9cd31b1ac2f14b86c5de6ac2643b8a4364a2:/pgen.c diff --git a/pgen.c b/pgen.c index 4758c78..8b5f6b2 100644 --- a/pgen.c +++ b/pgen.c @@ -120,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); } @@ -197,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@ */ @@ -220,7 +219,7 @@ static PyTypeObject pfilt_pytype_skel = { Py_TPFLAGS_BASETYPE, /* @tp_doc@ */ -"Small-primes filter.", +"PrimeFilter(X): small-primes filter.", 0, /* @tp_traverse@ */ 0, /* @tp_clear@ */ @@ -330,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@ */ @@ -353,7 +352,7 @@ static PyTypeObject rabin_pytype_skel = { Py_TPFLAGS_BASETYPE, /* @tp_doc@ */ -"Rabin-Miller strong primality test.", +"RabinMiller(X): Rabin-Miller strong primality test.", 0, /* @tp_traverse@ */ 0, /* @tp_clear@ */ @@ -448,7 +447,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@ */ @@ -629,7 +628,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@ */ @@ -703,7 +702,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@ */ @@ -726,7 +725,7 @@ static PyTypeObject pgstep_pytype_skel = { Py_TPFLAGS_BASETYPE, /* @tp_doc@ */ - "Simple prime-number stepper with small-factors filter.", +"PrimeGenStepper(STEP): simple stepper with small-factors filter.", 0, /* @tp_traverse@ */ 0, /* @tp_clear@ */ @@ -785,7 +784,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@ */ @@ -808,7 +807,7 @@ static PyTypeObject pgjump_pytype_skel = { Py_TPFLAGS_BASETYPE, /* @tp_doc@ */ -"Stepper for larger steps, with small-factors filter.", +"PrimeGenJumper(JUMP): stepper for larger steps with small-factors filter.", 0, /* @tp_traverse@ */ 0, /* @tp_clear@ */ @@ -846,7 +845,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@ */ @@ -869,7 +868,7 @@ static PyTypeObject pgtest_pytype_skel = { Py_TPFLAGS_BASETYPE, /* @tp_doc@ */ -"Rabin-Miller tester.", +"PrimeGenTester(): Rabin-Miller tester.", 0, /* @tp_traverse@ */ 0, /* @tp_clear@ */ @@ -1035,8 +1034,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, ...])")