X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb-python/blobdiff_plain/810542b01716cfd7017315c25a165ebfbe45afe5..591bf41b5e4fa2d55e00d1e418b1b9ed53b4489c:/mp.c diff --git a/mp.c b/mp.c index 2f8594d..93dd137 100644 --- a/mp.c +++ b/mp.c @@ -45,12 +45,12 @@ mp *mp_frompylong(PyObject *obj) mp *x; mpw *p; - sz = l->ob_size; + sz = Py_SIZE(l); if (sz < 0) sz = -sz; assert(MPW_BITS >= SHIFT); bits = (unsigned long)sz * SHIFT; w = (bits + MPW_BITS - 1)/MPW_BITS; - x = mp_new(w, l->ob_size < 0 ? MP_NEG : 0); + x = mp_new(w, Py_SIZE(l) < 0 ? MP_NEG : 0); p = x->v; for (i = 0; i < sz; i++) { r |= (mpd)l->ob_digit[i] << b; @@ -94,7 +94,7 @@ PyObject *mp_topylong(mp *x) l->ob_digit[i++] = r & MASK; r >>= SHIFT; } - l->ob_size = (x->f & MP_NEG) ? -sz : sz; + Py_SIZE(l) = (x->f & MP_NEG) ? -sz : sz; return ((PyObject *)l); } @@ -238,7 +238,7 @@ mp *getmp(PyObject *o) if (!o) return (0); if ((x = tomp(o)) == 0) { PyErr_Format(PyExc_TypeError, "can't convert %.100s to mp", - o->ob_type->tp_name); + Py_TYPE(o)->tp_name); } return (x); } @@ -257,7 +257,7 @@ mp *getgf(PyObject *o) if (!o) return (0); if ((x = tomp(o)) == 0) { PyErr_Format(PyExc_TypeError, "can't convert %.100s to gf", - o->ob_type->tp_name); + Py_TYPE(o)->tp_name); } return (x); } @@ -536,7 +536,7 @@ static PyObject *mp_pynew(PyTypeObject *ty, PyObject *arg, PyObject *kw) if (!good_radix_p(radix, 1)) VALERR("bad radix"); if ((z = mp_frompyobject(x, radix)) == 0) { PyErr_Format(PyExc_TypeError, "can't convert %.100s to mp", - x->ob_type->tp_name); + Py_TYPE(x)->tp_name); goto end; } zz = (mp_pyobj *)ty->tp_alloc(ty, 0); @@ -932,7 +932,7 @@ static const PyNumberMethods mp_pynumber = { }; static const PyTypeObject mp_pytype_skel = { - PyObject_HEAD_INIT(0) 0, /* Header */ + PyVarObject_HEAD_INIT(0, 0) /* Header */ "MP", /* @tp_name@ */ sizeof(mp_pyobj), /* @tp_basicsize@ */ 0, /* @tp_itemsize@ */ @@ -1091,7 +1091,7 @@ static const PyMethodDef mpmul_pymethods[] = { }; static const PyTypeObject mpmul_pytype_skel = { - PyObject_HEAD_INIT(0) 0, /* Header */ + PyVarObject_HEAD_INIT(0, 0) /* Header */ "MPMul", /* @tp_name@ */ sizeof(mpmul_pyobj), /* @tp_basicsize@ */ 0, /* @tp_itemsize@ */ @@ -1360,7 +1360,7 @@ static const PyMethodDef mpmont_pymethods[] = { }; static const PyTypeObject mpmont_pytype_skel = { - PyObject_HEAD_INIT(0) 0, /* Header */ + PyVarObject_HEAD_INIT(0, 0) /* Header */ "MPMont", /* @tp_name@ */ sizeof(mpmont_pyobj), /* @tp_basicsize@ */ 0, /* @tp_itemsize@ */ @@ -1501,7 +1501,7 @@ static const PyMethodDef mpbarrett_pymethods[] = { }; static const PyTypeObject mpbarrett_pytype_skel = { - PyObject_HEAD_INIT(0) 0, /* Header */ + PyVarObject_HEAD_INIT(0, 0) /* Header */ "MPBarrett", /* @tp_name@ */ sizeof(mpbarrett_pyobj), /* @tp_basicsize@ */ 0, /* @tp_itemsize@ */ @@ -1631,7 +1631,7 @@ static const const PyMethodDef mpreduce_pymethods[] = { }; static const PyTypeObject mpreduce_pytype_skel = { - PyObject_HEAD_INIT(0) 0, /* Header */ + PyVarObject_HEAD_INIT(0, 0) /* Header */ "MPReduce", /* @tp_name@ */ sizeof(mpreduce_pyobj), /* @tp_basicsize@ */ 0, /* @tp_itemsize@ */ @@ -1815,7 +1815,7 @@ static const PyMethodDef mpcrt_pymethods[] = { }; static const PyTypeObject mpcrt_pytype_skel = { - PyObject_HEAD_INIT(0) 0, /* Header */ + PyVarObject_HEAD_INIT(0, 0) /* Header */ "MPCRT", /* @tp_name@ */ sizeof(mpcrt_pyobj), /* @tp_basicsize@ */ 0, /* @tp_itemsize@ */ @@ -1907,7 +1907,7 @@ static PyObject *gf_pynew(PyTypeObject *ty, PyObject *arg, PyObject *kw) if (!good_radix_p(radix, 1)) VALERR("radix out of range"); if ((z = mp_frompyobject(x, radix)) == 0) { PyErr_Format(PyExc_TypeError, "can't convert %.100s to gf", - x->ob_type->tp_name); + Py_TYPE(x)->tp_name); goto end; } if (MP_NEGP(z)) { @@ -2115,7 +2115,7 @@ static const PyNumberMethods gf_pynumber = { }; static const PyTypeObject gf_pytype_skel = { - PyObject_HEAD_INIT(0) 0, /* Header */ + PyVarObject_HEAD_INIT(0, 0) /* Header */ "GF", /* @tp_name@ */ sizeof(mp_pyobj), /* @tp_basicsize@ */ 0, /* @tp_itemsize@ */ @@ -2316,7 +2316,7 @@ static const PyMethodDef gfreduce_pymethods[] = { }; static const PyTypeObject gfreduce_pytype_skel = { - PyObject_HEAD_INIT(0) 0, /* Header */ + PyVarObject_HEAD_INIT(0, 0) /* Header */ "GFReduce", /* @tp_name@ */ sizeof(gfreduce_pyobj), /* @tp_basicsize@ */ 0, /* @tp_itemsize@ */ @@ -2454,7 +2454,7 @@ static const PyMethodDef gfn_pymethods[] = { }; static const PyTypeObject gfn_pytype_skel = { - PyObject_HEAD_INIT(0) 0, /* Header */ + PyVarObject_HEAD_INIT(0, 0) /* Header */ "GFN", /* @tp_name@ */ sizeof(gfn_pyobj), /* @tp_basicsize@ */ 0, /* @tp_itemsize@ */