X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb-python/blobdiff_plain/ddd4720bd8a7e04bb37ba6825b46f1bbdce9d3e7..dedc5483769a86aace92003a3e10f1881e015e35:/pgen.c diff --git a/pgen.c b/pgen.c index 6bbfd82..3c2a792 100644 --- a/pgen.c +++ b/pgen.c @@ -125,8 +125,10 @@ static PyObject *pfilt_pyint(PyObject *me) return (rc); } +#ifdef PY2 static PyObject *pfilt_pylong(PyObject *me) { return (mp_topylong(PFILT_F(me)->m)); } +#endif static PyObject *pfget_x(PyObject *me, void *hunoz) { return (mp_pywrap(MP_COPY(PFILT_F(me)->m))); } @@ -156,7 +158,9 @@ static const PyNumberMethods pfilt_pynumber = { 0, /* @nb_add@ */ 0, /* @nb_subtract@ */ 0, /* @nb_multiply@ */ +#ifdef PY2 0, /* @nb_divide@ */ +#endif 0, /* @nb_remainder@ */ 0, /* @nb_divmod@ */ 0, /* @nb_power@ */ @@ -170,17 +174,23 @@ static const PyNumberMethods pfilt_pynumber = { 0, /* @nb_and@ */ 0, /* @nb_xor@ */ 0, /* @nb_or@ */ +#ifdef PY2 0, /* @nb_coerce@ */ +#endif pfilt_pyint, /* @nb_int@ */ - pfilt_pylong, /* @nb_long@ */ + PY23(pfilt_pylong, 0), /* @nb_long@ */ 0, /* @nb_float@ */ +#ifdef PY2 0, /* @nb_oct@ */ 0, /* @nb_hex@ */ +#endif 0, /* @nb_inplace_add@ */ 0, /* @nb_inplace_subtract@ */ 0, /* @nb_inplace_multiply@ */ +#ifdef PY2 0, /* @nb_inplace_divide@ */ +#endif 0, /* @nb_inplace_remainder@ */ 0, /* @nb_inplace_power@ */ 0, /* @nb_inplace_lshift@ */ @@ -196,7 +206,7 @@ static const PyNumberMethods pfilt_pynumber = { }; static const PyTypeObject pfilt_pytype_skel = { - PyObject_HEAD_INIT(0) 0, /* Header */ + PyVarObject_HEAD_INIT(0, 0) /* Header */ "PrimeFilter", /* @tp_name@ */ sizeof(pfilt_pyobj), /* @tp_basicsize@ */ 0, /* @tp_itemsize@ */ @@ -330,7 +340,7 @@ static const PyMethodDef rabin_pymethods[] = { }; static const PyTypeObject rabin_pytype_skel = { - PyObject_HEAD_INIT(0) 0, /* Header */ + PyVarObject_HEAD_INIT(0, 0) /* Header */ "RabinMiller", /* @tp_name@ */ sizeof(rabin_pyobj), /* @tp_basicsize@ */ 0, /* @tp_itemsize@ */ @@ -419,7 +429,7 @@ static void pgevent_pydealloc(PyObject *me) } while (0) static PyObject *peget_name(PyObject *me, void *hunoz) - { PGEVENT_CHECK(me); return (PyString_FromString(PGEVENT_EV(me)->name)); } + { PGEVENT_CHECK(me); return (TEXT_FROMSTR(PGEVENT_EV(me)->name)); } static PyObject *peget_x(PyObject *me, void *hunoz) { PGEVENT_CHECK(me); return (mp_pywrap(MP_COPY(PGEVENT_EV(me)->m))); } @@ -467,7 +477,7 @@ static const PyGetSetDef pgevent_pygetset[] = { }; static const PyTypeObject pgevent_pytype_skel = { - PyObject_HEAD_INIT(0) 0, /* Header */ + PyVarObject_HEAD_INIT(0, 0) /* Header */ "PrimeGenEvent", /* @tp_name@ */ sizeof(pgevent_pyobj), /* @tp_basicsize@ */ 0, /* @tp_itemsize@ */ @@ -646,7 +656,7 @@ static const PyMethodDef pgev_pymethods[] = { }; static const PyTypeObject pgev_pytype_skel = { - PyObject_HEAD_INIT(0) 0, /* Header */ + PyVarObject_HEAD_INIT(0, 0) /* Header */ "PrimeGenBuiltinHandler", /* @tp_name@ */ sizeof(pgev_pyobj), /* @tp_basicsize@ */ 0, /* @tp_itemsize@ */ @@ -720,7 +730,7 @@ static const PyGetSetDef pgstep_pygetset[] = { }; static const PyTypeObject pgstep_pytype_skel = { - PyObject_HEAD_INIT(0) 0, /* Header */ + PyVarObject_HEAD_INIT(0, 0) /* Header */ "PrimeGenStepper", /* @tp_name@ */ sizeof(pgstep_pyobj), /* @tp_basicsize@ */ 0, /* @tp_itemsize@ */ @@ -802,7 +812,7 @@ static const PyGetSetDef pgjump_pygetset[] = { }; static const PyTypeObject pgjump_pytype_skel = { - PyObject_HEAD_INIT(0) 0, /* Header */ + PyVarObject_HEAD_INIT(0, 0) /* Header */ "PrimeGenJumper", /* @tp_name@ */ sizeof(pgjump_pyobj), /* @tp_basicsize@ */ 0, /* @tp_itemsize@ */ @@ -864,7 +874,7 @@ end: } static const PyTypeObject pgtest_pytype_skel = { - PyObject_HEAD_INIT(0) 0, /* Header */ + PyVarObject_HEAD_INIT(0, 0) /* Header */ "PrimeGenTester", /* @tp_name@ */ sizeof(pgtest_pyobj), /* @tp_basicsize@ */ 0, /* @tp_itemsize@ */ @@ -1051,6 +1061,12 @@ end: /*----- Global stuff ------------------------------------------------------*/ +static const struct nameval consts[] = { + CONST(PGEN_PASS), CONST(PGEN_FAIL), CONST(PGEN_BEGIN), CONST(PGEN_TRY), + CONST(PGEN_DONE), CONST(PGEN_ABORT), + { 0 } +}; + static const PyMethodDef methods[] = { #define METHNAME(name) meth_##name KWMETH(pgen, @@ -1098,6 +1114,7 @@ void pgen_pyinsert(PyObject *mod) INSERT("pgen_stdev", pgev_stdev(pgen_ev)); INSERT("pgen_spinev", pgev_stdev(pgen_evspin)); INSERT("pgen_subev", pgev_stdev(pgen_subev)); + setconstants(mod, consts); } /*----- That's all, folks -------------------------------------------------*/