mp: Replace MP.product() by an MPMul class. Much more useful.
[catacomb-python] / ec.c
diff --git a/ec.c b/ec.c
index c38c6c4..a64ae45 100644 (file)
--- a/ec.c
+++ b/ec.c
@@ -507,7 +507,7 @@ static PyObject *ecpt_pylong(PyObject *me)
   PyObject *rc = 0;
   if (EC_ATINF(ECPT_P(me))) VALERR("point at infinity");
   getecptout(&p, me);
-  rc = (PyObject *)mp_topylong(p.x);
+  rc = mp_topylong(p.x);
 end:
   EC_DESTROY(&p);
   return (rc);
@@ -589,7 +589,7 @@ static PyNumberMethods ecpt_pynumber = {
 };
 
 static PyTypeObject ecpt_pytype_skel = {
-  PyObject_HEAD_INIT(&PyType_Type) 0,  /* Header */
+  PyObject_HEAD_INIT(0) 0,             /* Header */
   "catacomb.ECPt",                     /* @tp_name@ */
   sizeof(ecpt_pyobj),                  /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -621,7 +621,7 @@ static PyTypeObject ecpt_pytype_skel = {
   ecpt_pyrichcompare,                  /* @tp_richcompare@ */
   0,                                   /* @tp_weaklistoffset@ */
   0,                                   /* @tp_iter@ */
-  0,                                   /* @tp_iternexr@ */
+  0,                                   /* @tp_iternext@ */
   ecptnc_pymethods,                    /* @tp_methods@ */
   0,                                   /* @tp_members@ */
   ecptnc_pygetset,                     /* @tp_getset@ */
@@ -703,7 +703,7 @@ static PyNumberMethods ecptcurve_pynumber = {
 };
 
 static PyTypeObject ecptcurve_pytype_skel = {
-  PyObject_HEAD_INIT(&PyType_Type) 0,  /* Header */
+  PyObject_HEAD_INIT(0) 0,             /* Header */
   "catacomb.ECPtCurve",                        /* @tp_name@ */
   sizeof(ecpt_pyobj),                  /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -735,7 +735,7 @@ static PyTypeObject ecptcurve_pytype_skel = {
   0,                                   /* @tp_richcompare@ */
   0,                                   /* @tp_weaklistoffset@ */
   0,                                   /* @tp_iter@ */
-  0,                                   /* @tp_iternexr@ */
+  0,                                   /* @tp_iternext@ */
   ecpt_pymethods,                      /* @tp_methods@ */
   0,                                   /* @tp_members@ */
   ecpt_pygetset,                       /* @tp_getset@ */
@@ -967,7 +967,7 @@ static PyObject *meth__ECCurve_parse(PyObject *me, PyObject *arg)
   ec_curve *c;
   PyObject *rc = 0;
 
-  if (!PyArg_ParseTuple(arg, "Os", &me, &p))
+  if (!PyArg_ParseTuple(arg, "Os:parse", &me, &p))
     goto end;
   qd.p = p;
   qd.e = 0;
@@ -1015,7 +1015,7 @@ E.mmul([(P0, N0), (P1, N1), ...]) = N0 P0 + N1 P1 + ...")
 };
 
 static PyTypeObject eccurve_pytype_skel = {
-  PyObject_HEAD_INIT(&PyType_Type) 0,  /* Header */
+  PyObject_HEAD_INIT(0) 0,             /* Header */
   "catacomb.ECCurve",                  /* @tp_name@ */
   sizeof(eccurve_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1046,7 +1046,7 @@ static PyTypeObject eccurve_pytype_skel = {
   eccurve_pyrichcompare,               /* @tp_richcompare@ */
   0,                                   /* @tp_weaklistoffset@ */
   0,                                   /* @tp_iter@ */
-  0,                                   /* @tp_iternexr@ */
+  0,                                   /* @tp_iternext@ */
   eccurve_pymethods,                   /* @tp_methods@ */
   0,                                   /* @tp_members@ */
   eccurve_pygetset,                    /* @tp_getset@ */
@@ -1069,7 +1069,7 @@ static PyObject *ecprimecurve_pynew(PyTypeObject *ty,
 }
 
 static PyTypeObject ecprimecurve_pytype_skel = {
-  PyObject_HEAD_INIT(&PyType_Type) 0,  /* Header */
+  PyObject_HEAD_INIT(0) 0,             /* Header */
   "catacomb.ECPrimeCurve",             /* @tp_name@ */
   sizeof(eccurve_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1100,7 +1100,7 @@ static PyTypeObject ecprimecurve_pytype_skel = {
   eccurve_pyrichcompare,               /* @tp_richcompare@ */
   0,                                   /* @tp_weaklistoffset@ */
   0,                                   /* @tp_iter@ */
-  0,                                   /* @tp_iternexr@ */
+  0,                                   /* @tp_iternext@ */
   0,                                   /* @tp_methods@ */
   0,                                   /* @tp_members@ */
   0,                                   /* @tp_getset@ */
@@ -1123,7 +1123,7 @@ static PyObject *ecprimeprojcurve_pynew(PyTypeObject *ty,
 }
 
 static PyTypeObject ecprimeprojcurve_pytype_skel = {
-  PyObject_HEAD_INIT(&PyType_Type) 0,  /* Header */
+  PyObject_HEAD_INIT(0) 0,             /* Header */
   "catacomb.ECPrimeProjCurve",         /* @tp_name@ */
   sizeof(eccurve_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1154,7 +1154,7 @@ static PyTypeObject ecprimeprojcurve_pytype_skel = {
   eccurve_pyrichcompare,               /* @tp_richcompare@ */
   0,                                   /* @tp_weaklistoffset@ */
   0,                                   /* @tp_iter@ */
-  0,                                   /* @tp_iternexr@ */
+  0,                                   /* @tp_iternext@ */
   0,                                   /* @tp_methods@ */
   0,                                   /* @tp_members@ */
   0,                                   /* @tp_getset@ */
@@ -1177,7 +1177,7 @@ static PyObject *ecbincurve_pynew(PyTypeObject *ty,
 }
 
 static PyTypeObject ecbincurve_pytype_skel = {
-  PyObject_HEAD_INIT(&PyType_Type) 0,  /* Header */
+  PyObject_HEAD_INIT(0) 0,             /* Header */
   "catacomb.ECBinCurve",               /* @tp_name@ */
   sizeof(eccurve_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1208,7 +1208,7 @@ static PyTypeObject ecbincurve_pytype_skel = {
   eccurve_pyrichcompare,               /* @tp_richcompare@ */
   0,                                   /* @tp_weaklistoffset@ */
   0,                                   /* @tp_iter@ */
-  0,                                   /* @tp_iternexr@ */
+  0,                                   /* @tp_iternext@ */
   0,                                   /* @tp_methods@ */
   0,                                   /* @tp_members@ */
   0,                                   /* @tp_getset@ */
@@ -1231,7 +1231,7 @@ static PyObject *ecbinprojcurve_pynew(PyTypeObject *ty,
 }
 
 static PyTypeObject ecbinprojcurve_pytype_skel = {
-  PyObject_HEAD_INIT(&PyType_Type) 0,  /* Header */
+  PyObject_HEAD_INIT(0) 0,             /* Header */
   "catacomb.ECBinProjCurve",           /* @tp_name@ */
   sizeof(eccurve_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1262,7 +1262,7 @@ static PyTypeObject ecbinprojcurve_pytype_skel = {
   eccurve_pyrichcompare,               /* @tp_richcompare@ */
   0,                                   /* @tp_weaklistoffset@ */
   0,                                   /* @tp_iter@ */
-  0,                                   /* @tp_iternexr@ */
+  0,                                   /* @tp_iternext@ */
   0,                                   /* @tp_methods@ */
   0,                                   /* @tp_members@ */
   0,                                   /* @tp_getset@ */
@@ -1436,7 +1436,7 @@ static PyMethodDef ecinfo_pymethods[] = {
 };
 
 static PyTypeObject ecinfo_pytype_skel = {
-  PyObject_HEAD_INIT(&PyType_Type) 0,  /* Header */
+  PyObject_HEAD_INIT(0) 0,             /* Header */
   "catacomb.ECInfo",                   /* @tp_name@ */
   sizeof(ecinfo_pyobj),                        /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
@@ -1467,7 +1467,7 @@ static PyTypeObject ecinfo_pytype_skel = {
   ecinfo_pyrichcompare,                        /* @tp_richcompare@ */
   0,                                   /* @tp_weaklistoffset@ */
   0,                                   /* @tp_iter@ */
-  0,                                   /* @tp_iternexr@ */
+  0,                                   /* @tp_iternext@ */
   ecinfo_pymethods,                    /* @tp_methods@ */
   0,                                   /* @tp_members@ */
   ecinfo_pygetset,                     /* @tp_getset@ */