From c6e445a76719d859eba4413ca42cedb2745f8a04 Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Wed, 23 Oct 2019 10:41:34 +0100 Subject: [PATCH] field.c: Push field-polynomial property into binary-field base class. Using the same code as for prime fields was a mistake, but sharing the same code between polynomial- and normal-basis fields works just fine; but there's no point in duplicating the property-table entry when there's a perfectly good superclass to hang the property off -- and it already has a property table! --- field.c | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/field.c b/field.c index 417c550..e5f5eca 100644 --- a/field.c +++ b/field.c @@ -718,9 +718,13 @@ static PyTypeObject niceprimefield_pytype_skel = { static PyObject *bfget_m(PyObject *me, void *hunoz) { return (PyInt_FromLong(FIELD_F(me)->nbits)); } +static PyObject *bfget_p(PyObject *me, void *hunoz) + { return (gf_pywrap(MP_COPY(FIELD_F(me)->m))); } + static PyGetSetDef binfield_pygetset[] = { #define GETSETNAME(op, name) bf##op##_##name GET (m, "F.m -> field polynomial degree") + GET (p, "F.p -> field polynomial") #undef GETSETNAME { 0 } }; @@ -791,16 +795,6 @@ end: return (0); } -static PyObject *bfget_p(PyObject *me, void *hunoz) - { return (gf_pywrap(MP_COPY(FIELD_F(me)->m))); } - -static PyGetSetDef binpolyfield_pygetset[] = { -#define GETSETNAME(op, name) bf##op##_##name - GET (p, "F.p -> field polynomial") -#undef GETSETNAME - { 0 } -}; - static PyTypeObject binpolyfield_pytype_skel = { PyObject_HEAD_INIT(0) 0, /* Header */ "BinPolyField", /* @tp_name@ */ @@ -836,7 +830,7 @@ static PyTypeObject binpolyfield_pytype_skel = { 0, /* @tp_iternext@ */ 0, /* @tp_methods@ */ 0, /* @tp_members@ */ - binpolyfield_pygetset, /* @tp_getset@ */ + 0, /* @tp_getset@ */ 0, /* @tp_base@ */ 0, /* @tp_dict@ */ 0, /* @tp_descr_get@ */ @@ -874,9 +868,6 @@ static PyObject *bnfget_beta(PyObject *me, void *hunoz) } static PyGetSetDef binnormfield_pygetset[] = { -#define GETSETNAME(op, name) bf##op##_##name - GET (p, "F.p -> field polynomial") -#undef GETSETNAME #define GETSETNAME(op, name) bnf##op##_##name GET (beta, "F.beta -> conversion factor") #undef GETSETNAME -- 2.11.0