/* -*-c-*-
*
- * $Id$
- *
* Prime number generation
*
* (c) 2005 Straylight/Edgeware
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);
}
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@ */
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@ */
mp *x = 0;
pgen_event *ev = PGEVENT_EV(me);
int rc = -1;
+ if (!xobj) NIERR("__del__");
PGEVENT_CHECK(me);
if ((x = getmp(xobj)) == 0) goto end;
mp_drop(ev->m);
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@ */
static PyMethodDef pgev_pymethods[] = {
#define METHNAME(name) pgmeth_##name
- METH (pg_abort, "E.pg_abort() -> PGRC -- prime generation aborted")
- METH (pg_done, "E.pg_done() -> PGRC -- prime generation finished")
- METH (pg_begin, "E.pg_begin() -> PGRC -- commence stepping/testing")
- METH (pg_try, "E.pg_try() -> PGRC -- found new candidate")
- METH (pg_pass, "E.pg_pass() -> PGRC -- passed primality test")
- METH (pg_fail, "E.pg_fail() -> PGRC -- failed primality test")
+ METH (pg_abort, "E.pg_abort(EV) -> PGRC -- prime generation aborted")
+ METH (pg_done, "E.pg_done(EV) -> PGRC -- prime generation finished")
+ METH (pg_begin, "E.pg_begin(EV) -> PGRC -- commence stepping/testing")
+ METH (pg_try, "E.pg_try(EV) -> PGRC -- found new candidate")
+ METH (pg_pass, "E.pg_pass(EV) -> PGRC -- passed primality test")
+ METH (pg_fail, "E.pg_fail(EV) -> PGRC -- failed primality test")
#undef METHNAME
{ 0 }
};
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@ */
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@ */
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@ */
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@ */
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")
+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)")
+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, ...])")
+limlee(PBITS, QBITS, [name = 'p'], [event = pgen_nullev],\n\
+ [ievent = pgen_nullev], [rng = rand], [nsteps = 0]) -> (P, [Q, ...])")
#undef METHNAME
{ 0 }
};