summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Berg <sebastian@sipsolutions.net>2020-01-31 17:36:44 -0800
committerSebastian Berg <sebastian@sipsolutions.net>2020-02-01 08:52:58 -0800
commit6dbfbc5da438ee6025ca26fab1c452b326061076 (patch)
tree7f13d463e1746e379df6ed94fbd4dbf961018ce1
parentfa64d4bb9f0ec5dc6518ea0cf742ba78979f046d (diff)
downloadnumpy-6dbfbc5da438ee6025ca26fab1c452b326061076.tar.gz
MAINT: Use `.identifier = val` to fill type structs
This was not used previously due to it requiring C99. Python itself acknowledges that it can be used (they do almost not use it as of now), except inside header files due to C++ compatibility. See also (Found by Eric Wieser in PR): https://mail.python.org/pipermail/python-dev/2017-January/147154.html and PEP 7: https://www.python.org/dev/peps/pep-0007/#c-dialect
-rw-r--r--numpy/core/src/multiarray/arrayobject.c66
-rw-r--r--numpy/core/src/multiarray/datetime_busdaycal.c54
-rw-r--r--numpy/core/src/multiarray/descriptor.c60
-rw-r--r--numpy/core/src/multiarray/flagsobject.c57
-rw-r--r--numpy/core/src/multiarray/iterators.c163
-rw-r--r--numpy/core/src/multiarray/mapping.c51
-rw-r--r--numpy/core/src/multiarray/nditer_pywrap.c59
-rw-r--r--numpy/core/src/multiarray/scalartypes.c.src299
-rw-r--r--numpy/core/src/umath/ufunc_object.c57
-rw-r--r--numpy/f2py/src/fortranobject.c22
10 files changed, 127 insertions, 761 deletions
diff --git a/numpy/core/src/multiarray/arrayobject.c b/numpy/core/src/multiarray/arrayobject.c
index 86129104a..06d92785c 100644
--- a/numpy/core/src/multiarray/arrayobject.c
+++ b/numpy/core/src/multiarray/arrayobject.c
@@ -1781,56 +1781,28 @@ array_free(PyObject * v)
NPY_NO_EXPORT PyTypeObject PyArray_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
- "numpy.ndarray", /* tp_name */
- NPY_SIZEOF_PYARRAYOBJECT, /* tp_basicsize */
- 0, /* tp_itemsize */
+ .tp_name = "numpy.ndarray",
+ .tp_basicsize = NPY_SIZEOF_PYARRAYOBJECT,
/* methods */
- (destructor)array_dealloc, /* tp_dealloc */
- (printfunc)NULL, /* tp_print */
- 0, /* tp_getattr */
- 0, /* tp_setattr */
- 0, /* tp_reserved */
- (reprfunc)array_repr, /* tp_repr */
- &array_as_number, /* tp_as_number */
- &array_as_sequence, /* tp_as_sequence */
- &array_as_mapping, /* tp_as_mapping */
+ .tp_dealloc = (destructor)array_dealloc,
+ .tp_repr = (reprfunc)array_repr,
+ .tp_as_number = &array_as_number,
+ .tp_as_sequence = &array_as_sequence,
+ .tp_as_mapping = &array_as_mapping,
/*
* The tp_hash slot will be set PyObject_HashNotImplemented when the
* module is loaded.
*/
- (hashfunc)0, /* tp_hash */
- (ternaryfunc)0, /* tp_call */
- (reprfunc)array_str, /* tp_str */
- (getattrofunc)0, /* tp_getattro */
- (setattrofunc)0, /* tp_setattro */
- &array_as_buffer, /* tp_as_buffer */
- (Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE), /* tp_flags */
- 0, /* tp_doc */
-
- (traverseproc)0, /* tp_traverse */
- (inquiry)0, /* tp_clear */
- (richcmpfunc)array_richcompare, /* tp_richcompare */
- offsetof(PyArrayObject_fields, weakreflist), /* tp_weaklistoffset */
- (getiterfunc)array_iter, /* tp_iter */
- (iternextfunc)0, /* tp_iternext */
- array_methods, /* tp_methods */
- 0, /* tp_members */
- array_getsetlist, /* tp_getset */
- 0, /* tp_base */
- 0, /* tp_dict */
- 0, /* tp_descr_get */
- 0, /* tp_descr_set */
- 0, /* tp_dictoffset */
- (initproc)0, /* tp_init */
- (allocfunc)array_alloc, /* tp_alloc */
- (newfunc)array_new, /* tp_new */
- (freefunc)array_free, /* tp_free */
- 0, /* tp_is_gc */
- 0, /* tp_bases */
- 0, /* tp_mro */
- 0, /* tp_cache */
- 0, /* tp_subclasses */
- 0, /* tp_weaklist */
- 0, /* tp_del */
- 0, /* tp_version_tag */
+ .tp_str = (reprfunc)array_str,
+ .tp_as_buffer = &array_as_buffer,
+ .tp_flags =(Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE),
+
+ .tp_richcompare = (richcmpfunc)array_richcompare,
+ .tp_weaklistoffset = offsetof(PyArrayObject_fields, weakreflist),
+ .tp_iter = (getiterfunc)array_iter,
+ .tp_methods = array_methods,
+ .tp_getset = array_getsetlist,
+ .tp_alloc = (allocfunc)array_alloc,
+ .tp_new = (newfunc)array_new,
+ .tp_free = (freefunc)array_free,
};
diff --git a/numpy/core/src/multiarray/datetime_busdaycal.c b/numpy/core/src/multiarray/datetime_busdaycal.c
index 1aa5f6ab1..6936a803f 100644
--- a/numpy/core/src/multiarray/datetime_busdaycal.c
+++ b/numpy/core/src/multiarray/datetime_busdaycal.c
@@ -494,51 +494,11 @@ static PyGetSetDef busdaycalendar_getsets[] = {
NPY_NO_EXPORT PyTypeObject NpyBusDayCalendar_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
- "numpy.busdaycalendar", /* tp_name */
- sizeof(NpyBusDayCalendar), /* tp_basicsize */
- 0, /* tp_itemsize */
- /* methods */
- (destructor)busdaycalendar_dealloc, /* tp_dealloc */
- 0, /* tp_print */
- 0, /* tp_getattr */
- 0, /* tp_setattr */
- 0, /* tp_reserved */
- 0, /* tp_repr */
- 0, /* tp_as_number */
- 0, /* tp_as_sequence */
- 0, /* tp_as_mapping */
- 0, /* tp_hash */
- 0, /* tp_call */
- 0, /* tp_str */
- 0, /* tp_getattro */
- 0, /* tp_setattro */
- 0, /* tp_as_buffer */
- Py_TPFLAGS_DEFAULT, /* tp_flags */
- 0, /* tp_doc */
- 0, /* tp_traverse */
- 0, /* tp_clear */
- 0, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- 0, /* tp_iter */
- 0, /* tp_iternext */
- 0, /* tp_methods */
- 0, /* tp_members */
- busdaycalendar_getsets, /* tp_getset */
- 0, /* tp_base */
- 0, /* tp_dict */
- 0, /* tp_descr_get */
- 0, /* tp_descr_set */
- 0, /* tp_dictoffset */
- (initproc)busdaycalendar_init, /* tp_init */
- 0, /* tp_alloc */
- busdaycalendar_new, /* tp_new */
- 0, /* tp_free */
- 0, /* tp_is_gc */
- 0, /* tp_bases */
- 0, /* tp_mro */
- 0, /* tp_cache */
- 0, /* tp_subclasses */
- 0, /* tp_weaklist */
- 0, /* tp_del */
- 0, /* tp_version_tag */
+ .tp_name = "numpy.busdaycalendar",
+ .tp_basicsize = sizeof(NpyBusDayCalendar),
+ .tp_dealloc = (destructor)busdaycalendar_dealloc,
+ .tp_flags = Py_TPFLAGS_DEFAULT,
+ .tp_getset = busdaycalendar_getsets,
+ .tp_init = (initproc)busdaycalendar_init,
+ .tp_new = busdaycalendar_new,
};
diff --git a/numpy/core/src/multiarray/descriptor.c b/numpy/core/src/multiarray/descriptor.c
index 0f35e867c..56a0dbef8 100644
--- a/numpy/core/src/multiarray/descriptor.c
+++ b/numpy/core/src/multiarray/descriptor.c
@@ -3484,51 +3484,19 @@ static PyMappingMethods descr_as_mapping = {
NPY_NO_EXPORT PyTypeObject PyArrayDescr_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
- "numpy.dtype", /* tp_name */
- sizeof(PyArray_Descr), /* tp_basicsize */
- 0, /* tp_itemsize */
+ .tp_name = "numpy.dtype",
+ .tp_basicsize = sizeof(PyArray_Descr),
/* methods */
- (destructor)arraydescr_dealloc, /* tp_dealloc */
- 0, /* tp_print */
- 0, /* tp_getattr */
- 0, /* tp_setattr */
- (void *)0, /* tp_reserved */
- (reprfunc)arraydescr_repr, /* tp_repr */
- &descr_as_number, /* tp_as_number */
- &descr_as_sequence, /* tp_as_sequence */
- &descr_as_mapping, /* tp_as_mapping */
- 0, /* tp_hash */
- 0, /* tp_call */
- (reprfunc)arraydescr_str, /* tp_str */
- 0, /* tp_getattro */
- 0, /* tp_setattro */
- 0, /* tp_as_buffer */
- Py_TPFLAGS_DEFAULT, /* tp_flags */
- 0, /* tp_doc */
- 0, /* tp_traverse */
- 0, /* tp_clear */
- (richcmpfunc)arraydescr_richcompare, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- 0, /* tp_iter */
- 0, /* tp_iternext */
- arraydescr_methods, /* tp_methods */
- arraydescr_members, /* tp_members */
- arraydescr_getsets, /* tp_getset */
- 0, /* tp_base */
- 0, /* tp_dict */
- 0, /* tp_descr_get */
- 0, /* tp_descr_set */
- 0, /* tp_dictoffset */
- 0, /* tp_init */
- 0, /* tp_alloc */
- arraydescr_new, /* tp_new */
- 0, /* tp_free */
- 0, /* tp_is_gc */
- 0, /* tp_bases */
- 0, /* tp_mro */
- 0, /* tp_cache */
- 0, /* tp_subclasses */
- 0, /* tp_weaklist */
- 0, /* tp_del */
- 0, /* tp_version_tag */
+ .tp_dealloc = (destructor)arraydescr_dealloc,
+ .tp_repr = (reprfunc)arraydescr_repr,
+ .tp_as_number = &descr_as_number,
+ .tp_as_sequence = &descr_as_sequence,
+ .tp_as_mapping = &descr_as_mapping,
+ .tp_str = (reprfunc)arraydescr_str,
+ .tp_flags = Py_TPFLAGS_DEFAULT,
+ .tp_richcompare = (richcmpfunc)arraydescr_richcompare,
+ .tp_methods = arraydescr_methods,
+ .tp_members = arraydescr_members,
+ .tp_getset = arraydescr_getsets,
+ .tp_new = arraydescr_new,
};
diff --git a/numpy/core/src/multiarray/flagsobject.c b/numpy/core/src/multiarray/flagsobject.c
index 6fe0eff4a..d5f24e75a 100644
--- a/numpy/core/src/multiarray/flagsobject.c
+++ b/numpy/core/src/multiarray/flagsobject.c
@@ -772,51 +772,14 @@ arrayflags_new(PyTypeObject *NPY_UNUSED(self), PyObject *args, PyObject *NPY_UNU
NPY_NO_EXPORT PyTypeObject PyArrayFlags_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
- "numpy.flagsobj",
- sizeof(PyArrayFlagsObject),
- 0, /* tp_itemsize */
- /* methods */
- (destructor)arrayflags_dealloc, /* tp_dealloc */
- 0, /* tp_print */
- 0, /* tp_getattr */
- 0, /* tp_setattr */
- 0, /* tp_reserved */
- (reprfunc)arrayflags_print, /* tp_repr */
- 0, /* tp_as_number */
- 0, /* tp_as_sequence */
- &arrayflags_as_mapping, /* tp_as_mapping */
- 0, /* tp_hash */
- 0, /* tp_call */
- (reprfunc)arrayflags_print, /* tp_str */
- 0, /* tp_getattro */
- 0, /* tp_setattro */
- 0, /* tp_as_buffer */
- Py_TPFLAGS_DEFAULT, /* tp_flags */
- 0, /* tp_doc */
- 0, /* tp_traverse */
- 0, /* tp_clear */
- arrayflags_richcompare, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- 0, /* tp_iter */
- 0, /* tp_iternext */
- 0, /* tp_methods */
- 0, /* tp_members */
- arrayflags_getsets, /* tp_getset */
- 0, /* tp_base */
- 0, /* tp_dict */
- 0, /* tp_descr_get */
- 0, /* tp_descr_set */
- 0, /* tp_dictoffset */
- 0, /* tp_init */
- 0, /* tp_alloc */
- arrayflags_new, /* tp_new */
- 0, /* tp_free */
- 0, /* tp_is_gc */
- 0, /* tp_bases */
- 0, /* tp_mro */
- 0, /* tp_cache */
- 0, /* tp_subclasses */
- 0, /* tp_weaklist */
- 0, /* tp_del */
- 0, /* tp_version_tag */
+ .tp_name = "numpy.flagsobj",
+ .tp_basicsize = sizeof(PyArrayFlagsObject),
+ .tp_dealloc = (destructor)arrayflags_dealloc,
+ .tp_repr = (reprfunc)arrayflags_print,
+ .tp_as_mapping = &arrayflags_as_mapping,
+ .tp_str = (reprfunc)arrayflags_print,
+ .tp_flags =Py_TPFLAGS_DEFAULT,
+ .tp_richcompare = arrayflags_richcompare,
+ .tp_getset = arrayflags_getsets,
+ .tp_new = arrayflags_new,
};
diff --git a/numpy/core/src/multiarray/iterators.c b/numpy/core/src/multiarray/iterators.c
index 14e70fe02..c71b7b770 100644
--- a/numpy/core/src/multiarray/iterators.c
+++ b/numpy/core/src/multiarray/iterators.c
@@ -1103,53 +1103,16 @@ static PyGetSetDef iter_getsets[] = {
NPY_NO_EXPORT PyTypeObject PyArrayIter_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
- "numpy.flatiter", /* tp_name */
- sizeof(PyArrayIterObject), /* tp_basicsize */
- 0, /* tp_itemsize */
- /* methods */
- (destructor)arrayiter_dealloc, /* tp_dealloc */
- 0, /* tp_print */
- 0, /* tp_getattr */
- 0, /* tp_setattr */
- 0, /* tp_reserved */
- 0, /* tp_repr */
- 0, /* tp_as_number */
- 0, /* tp_as_sequence */
- &iter_as_mapping, /* tp_as_mapping */
- 0, /* tp_hash */
- 0, /* tp_call */
- 0, /* tp_str */
- 0, /* tp_getattro */
- 0, /* tp_setattro */
- 0, /* tp_as_buffer */
- Py_TPFLAGS_DEFAULT, /* tp_flags */
- 0, /* tp_doc */
- 0, /* tp_traverse */
- 0, /* tp_clear */
- (richcmpfunc)iter_richcompare, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- 0, /* tp_iter */
- (iternextfunc)arrayiter_next, /* tp_iternext */
- iter_methods, /* tp_methods */
- iter_members, /* tp_members */
- iter_getsets, /* tp_getset */
- 0, /* tp_base */
- 0, /* tp_dict */
- 0, /* tp_descr_get */
- 0, /* tp_descr_set */
- 0, /* tp_dictoffset */
- 0, /* tp_init */
- 0, /* tp_alloc */
- 0, /* tp_new */
- 0, /* tp_free */
- 0, /* tp_is_gc */
- 0, /* tp_bases */
- 0, /* tp_mro */
- 0, /* tp_cache */
- 0, /* tp_subclasses */
- 0, /* tp_weaklist */
- 0, /* tp_del */
- 0, /* tp_version_tag */
+ .tp_name = "numpy.flatiter",
+ .tp_basicsize = sizeof(PyArrayIterObject),
+ .tp_dealloc = (destructor)arrayiter_dealloc,
+ .tp_as_mapping = &iter_as_mapping,
+ .tp_flags = Py_TPFLAGS_DEFAULT,
+ .tp_richcompare = (richcmpfunc)iter_richcompare,
+ .tp_iternext = (iternextfunc)arrayiter_next,
+ .tp_methods = iter_methods,
+ .tp_members = iter_members,
+ .tp_getset = iter_getsets,
};
/** END of Array Iterator **/
@@ -1552,53 +1515,15 @@ static PyMethodDef arraymultiter_methods[] = {
NPY_NO_EXPORT PyTypeObject PyArrayMultiIter_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
- "numpy.broadcast", /* tp_name */
- sizeof(PyArrayMultiIterObject), /* tp_basicsize */
- 0, /* tp_itemsize */
- /* methods */
- (destructor)arraymultiter_dealloc, /* tp_dealloc */
- 0, /* tp_print */
- 0, /* tp_getattr */
- 0, /* tp_setattr */
- 0, /* tp_reserved */
- 0, /* tp_repr */
- 0, /* tp_as_number */
- 0, /* tp_as_sequence */
- 0, /* tp_as_mapping */
- 0, /* tp_hash */
- 0, /* tp_call */
- 0, /* tp_str */
- 0, /* tp_getattro */
- 0, /* tp_setattro */
- 0, /* tp_as_buffer */
- Py_TPFLAGS_DEFAULT, /* tp_flags */
- 0, /* tp_doc */
- 0, /* tp_traverse */
- 0, /* tp_clear */
- 0, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- 0, /* tp_iter */
- (iternextfunc)arraymultiter_next, /* tp_iternext */
- arraymultiter_methods, /* tp_methods */
- arraymultiter_members, /* tp_members */
- arraymultiter_getsetlist, /* tp_getset */
- 0, /* tp_base */
- 0, /* tp_dict */
- 0, /* tp_descr_get */
- 0, /* tp_descr_set */
- 0, /* tp_dictoffset */
- (initproc)0, /* tp_init */
- 0, /* tp_alloc */
- arraymultiter_new, /* tp_new */
- 0, /* tp_free */
- 0, /* tp_is_gc */
- 0, /* tp_bases */
- 0, /* tp_mro */
- 0, /* tp_cache */
- 0, /* tp_subclasses */
- 0, /* tp_weaklist */
- 0, /* tp_del */
- 0, /* tp_version_tag */
+ .tp_name = "numpy.broadcast",
+ .tp_basicsize = sizeof(PyArrayMultiIterObject),
+ .tp_dealloc = (destructor)arraymultiter_dealloc,
+ .tp_flags = Py_TPFLAGS_DEFAULT,
+ .tp_iternext = (iternextfunc)arraymultiter_next,
+ .tp_methods = arraymultiter_methods,
+ .tp_members = arraymultiter_members,
+ .tp_getset = arraymultiter_getsetlist,
+ .tp_new = arraymultiter_new,
};
/*========================= Neighborhood iterator ======================*/
@@ -1873,50 +1798,8 @@ static void neighiter_dealloc(PyArrayNeighborhoodIterObject* iter)
NPY_NO_EXPORT PyTypeObject PyArrayNeighborhoodIter_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
- "numpy.neigh_internal_iter", /* tp_name*/
- sizeof(PyArrayNeighborhoodIterObject), /* tp_basicsize*/
- 0, /* tp_itemsize*/
- (destructor)neighiter_dealloc, /* tp_dealloc*/
- 0, /* tp_print*/
- 0, /* tp_getattr*/
- 0, /* tp_setattr*/
- 0, /* tp_reserved */
- 0, /* tp_repr*/
- 0, /* tp_as_number*/
- 0, /* tp_as_sequence*/
- 0, /* tp_as_mapping*/
- 0, /* tp_hash */
- 0, /* tp_call*/
- 0, /* tp_str*/
- 0, /* tp_getattro*/
- 0, /* tp_setattro*/
- 0, /* tp_as_buffer*/
- Py_TPFLAGS_DEFAULT, /* tp_flags*/
- 0, /* tp_doc */
- 0, /* tp_traverse */
- 0, /* tp_clear */
- 0, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- 0, /* tp_iter */
- (iternextfunc)0, /* tp_iternext */
- 0, /* tp_methods */
- 0, /* tp_members */
- 0, /* tp_getset */
- 0, /* tp_base */
- 0, /* tp_dict */
- 0, /* tp_descr_get */
- 0, /* tp_descr_set */
- 0, /* tp_dictoffset */
- (initproc)0, /* tp_init */
- 0, /* tp_alloc */
- 0, /* tp_new */
- 0, /* tp_free */
- 0, /* tp_is_gc */
- 0, /* tp_bases */
- 0, /* tp_mro */
- 0, /* tp_cache */
- 0, /* tp_subclasses */
- 0, /* tp_weaklist */
- 0, /* tp_del */
- 0, /* tp_version_tag */
+ .tp_name = "numpy.neigh_internal_iter",
+ .tp_basicsize = sizeof(PyArrayNeighborhoodIterObject),
+ .tp_dealloc = (destructor)neighiter_dealloc,
+ .tp_flags = Py_TPFLAGS_DEFAULT,
};
diff --git a/numpy/core/src/multiarray/mapping.c b/numpy/core/src/multiarray/mapping.c
index 4122d27ad..8a90d1767 100644
--- a/numpy/core/src/multiarray/mapping.c
+++ b/numpy/core/src/multiarray/mapping.c
@@ -3336,51 +3336,8 @@ arraymapiter_dealloc(PyArrayMapIterObject *mit)
*/
NPY_NO_EXPORT PyTypeObject PyArrayMapIter_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
- "numpy.mapiter", /* tp_name */
- sizeof(PyArrayMapIterObject), /* tp_basicsize */
- 0, /* tp_itemsize */
- /* methods */
- (destructor)arraymapiter_dealloc, /* tp_dealloc */
- 0, /* tp_print */
- 0, /* tp_getattr */
- 0, /* tp_setattr */
- 0, /* tp_reserved */
- 0, /* tp_repr */
- 0, /* tp_as_number */
- 0, /* tp_as_sequence */
- 0, /* tp_as_mapping */
- 0, /* tp_hash */
- 0, /* tp_call */
- 0, /* tp_str */
- 0, /* tp_getattro */
- 0, /* tp_setattro */
- 0, /* tp_as_buffer */
- Py_TPFLAGS_DEFAULT, /* tp_flags */
- 0, /* tp_doc */
- 0, /* tp_traverse */
- 0, /* tp_clear */
- 0, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- 0, /* tp_iter */
- 0, /* tp_iternext */
- 0, /* tp_methods */
- 0, /* tp_members */
- 0, /* tp_getset */
- 0, /* tp_base */
- 0, /* tp_dict */
- 0, /* tp_descr_get */
- 0, /* tp_descr_set */
- 0, /* tp_dictoffset */
- 0, /* tp_init */
- 0, /* tp_alloc */
- 0, /* tp_new */
- 0, /* tp_free */
- 0, /* tp_is_gc */
- 0, /* tp_bases */
- 0, /* tp_mro */
- 0, /* tp_cache */
- 0, /* tp_subclasses */
- 0, /* tp_weaklist */
- 0, /* tp_del */
- 0, /* tp_version_tag */
+ .tp_name = "numpy.mapiter",
+ .tp_basicsize = sizeof(PyArrayMapIterObject),
+ .tp_dealloc = (destructor)arraymapiter_dealloc,
+ .tp_flags = Py_TPFLAGS_DEFAULT,
};
diff --git a/numpy/core/src/multiarray/nditer_pywrap.c b/numpy/core/src/multiarray/nditer_pywrap.c
index b4b3c6704..add40f460 100644
--- a/numpy/core/src/multiarray/nditer_pywrap.c
+++ b/numpy/core/src/multiarray/nditer_pywrap.c
@@ -2491,51 +2491,16 @@ NPY_NO_EXPORT PyMappingMethods npyiter_as_mapping = {
NPY_NO_EXPORT PyTypeObject NpyIter_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
- "numpy.nditer", /* tp_name */
- sizeof(NewNpyArrayIterObject), /* tp_basicsize */
- 0, /* tp_itemsize */
- /* methods */
- (destructor)npyiter_dealloc, /* tp_dealloc */
- 0, /* tp_print */
- 0, /* tp_getattr */
- 0, /* tp_setattr */
- 0, /* tp_reserved */
- 0, /* tp_repr */
- 0, /* tp_as_number */
- &npyiter_as_sequence, /* tp_as_sequence */
- &npyiter_as_mapping, /* tp_as_mapping */
- 0, /* tp_hash */
- 0, /* tp_call */
- 0, /* tp_str */
- 0, /* tp_getattro */
- 0, /* tp_setattro */
- 0, /* tp_as_buffer */
- Py_TPFLAGS_DEFAULT, /* tp_flags */
- 0, /* tp_doc */
- 0, /* tp_traverse */
- 0, /* tp_clear */
- 0, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- 0, /* tp_iter */
- (iternextfunc)npyiter_next, /* tp_iternext */
- npyiter_methods, /* tp_methods */
- npyiter_members, /* tp_members */
- npyiter_getsets, /* tp_getset */
- 0, /* tp_base */
- 0, /* tp_dict */
- 0, /* tp_descr_get */
- 0, /* tp_descr_set */
- 0, /* tp_dictoffset */
- (initproc)npyiter_init, /* tp_init */
- 0, /* tp_alloc */
- npyiter_new, /* tp_new */
- 0, /* tp_free */
- 0, /* tp_is_gc */
- 0, /* tp_bases */
- 0, /* tp_mro */
- 0, /* tp_cache */
- 0, /* tp_subclasses */
- 0, /* tp_weaklist */
- 0, /* tp_del */
- 0, /* tp_version_tag */
+ .tp_name = "numpy.nditer",
+ .tp_basicsize = sizeof(NewNpyArrayIterObject),
+ .tp_dealloc = (destructor)npyiter_dealloc,
+ .tp_as_sequence = &npyiter_as_sequence,
+ .tp_as_mapping = &npyiter_as_mapping,
+ .tp_flags = Py_TPFLAGS_DEFAULT,
+ .tp_iternext = (iternextfunc)npyiter_next,
+ .tp_methods = npyiter_methods,
+ .tp_members = npyiter_members,
+ .tp_getset = npyiter_getsets,
+ .tp_init = (initproc)npyiter_init,
+ .tp_new = npyiter_new,
};
diff --git a/numpy/core/src/multiarray/scalartypes.c.src b/numpy/core/src/multiarray/scalartypes.c.src
index d8f8c3159..55d74873a 100644
--- a/numpy/core/src/multiarray/scalartypes.c.src
+++ b/numpy/core/src/multiarray/scalartypes.c.src
@@ -55,53 +55,8 @@ NPY_NO_EXPORT PyTypeObject PyTimeIntegerArrType_Type;
*/
NPY_NO_EXPORT PyTypeObject Py@NAME@ArrType_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
- "numpy.@name@", /* tp_name*/
- sizeof(PyObject), /* tp_basicsize*/
- 0, /* tp_itemsize */
- /* methods */
- 0, /* tp_dealloc */
- 0, /* tp_print */
- 0, /* tp_getattr */
- 0, /* tp_setattr */
- 0, /* tp_reserved */
- 0, /* tp_repr */
- 0, /* tp_as_number */
- 0, /* tp_as_sequence */
- 0, /* tp_as_mapping */
- 0, /* tp_hash */
- 0, /* tp_call */
- 0, /* tp_str */
- 0, /* tp_getattro */
- 0, /* tp_setattro */
- 0, /* tp_as_buffer */
- 0, /* tp_flags */
- 0, /* tp_doc */
- 0, /* tp_traverse */
- 0, /* tp_clear */
- 0, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- 0, /* tp_iter */
- 0, /* tp_iternext */
- 0, /* tp_methods */
- 0, /* tp_members */
- 0, /* tp_getset */
- 0, /* tp_base */
- 0, /* tp_dict */
- 0, /* tp_descr_get */
- 0, /* tp_descr_set */
- 0, /* tp_dictoffset */
- 0, /* tp_init */
- 0, /* tp_alloc */
- 0, /* tp_new */
- 0, /* tp_free */
- 0, /* tp_is_gc */
- 0, /* tp_bases */
- 0, /* tp_mro */
- 0, /* tp_cache */
- 0, /* tp_subclasses */
- 0, /* tp_weaklist */
- 0, /* tp_del */
- 0, /* tp_version_tag */
+ .tp_name = "numpy.@name@",
+ .tp_basicsize = sizeof(PyObject),
};
/**end repeat**/
@@ -2453,53 +2408,8 @@ static PyBufferProcs gentype_as_buffer = {
NPY_NO_EXPORT PyTypeObject PyGenericArrType_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
- "numpy.generic", /* tp_name*/
- sizeof(PyObject), /* tp_basicsize*/
- 0, /* tp_itemsize */
- /* methods */
- 0, /* tp_dealloc */
- 0, /* tp_print */
- 0, /* tp_getattr */
- 0, /* tp_setattr */
- 0, /* tp_reserved */
- 0, /* tp_repr */
- 0, /* tp_as_number */
- 0, /* tp_as_sequence */
- 0, /* tp_as_mapping */
- 0, /* tp_hash */
- 0, /* tp_call */
- 0, /* tp_str */
- 0, /* tp_getattro */
- 0, /* tp_setattro */
- 0, /* tp_as_buffer */
- 0, /* tp_flags */
- 0, /* tp_doc */
- 0, /* tp_traverse */
- 0, /* tp_clear */
- 0, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- 0, /* tp_iter */
- 0, /* tp_iternext */
- 0, /* tp_methods */
- 0, /* tp_members */
- 0, /* tp_getset */
- 0, /* tp_base */
- 0, /* tp_dict */
- 0, /* tp_descr_get */
- 0, /* tp_descr_set */
- 0, /* tp_dictoffset */
- 0, /* tp_init */
- 0, /* tp_alloc */
- 0, /* tp_new */
- 0, /* tp_free */
- 0, /* tp_is_gc */
- 0, /* tp_bases */
- 0, /* tp_mro */
- 0, /* tp_cache */
- 0, /* tp_subclasses */
- 0, /* tp_weaklist */
- 0, /* tp_del */
- 0, /* tp_version_tag */
+ .tp_name = "numpy.generic",
+ .tp_basicsize = sizeof(PyObject),
};
static void
@@ -3266,52 +3176,15 @@ object_arrtype_call(PyObjectScalarObject *obj, PyObject *args, PyObject *kwds)
NPY_NO_EXPORT PyTypeObject PyObjectArrType_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
- "numpy.object_", /* tp_name*/
- sizeof(PyObjectScalarObject), /* tp_basicsize*/
- 0, /* tp_itemsize */
- (destructor)object_arrtype_dealloc, /* tp_dealloc */
- 0, /* tp_print */
- 0, /* tp_getattr */
- 0, /* tp_setattr */
- 0, /* tp_reserved */
- 0, /* tp_repr */
- 0, /* tp_as_number */
- &object_arrtype_as_sequence, /* tp_as_sequence */
- &object_arrtype_as_mapping, /* tp_as_mapping */
- 0, /* tp_hash */
- (ternaryfunc)object_arrtype_call, /* tp_call */
- 0, /* tp_str */
- (getattrofunc)object_arrtype_getattro, /* tp_getattro */
- (setattrofunc)object_arrtype_setattro, /* tp_setattro */
- &object_arrtype_as_buffer, /* tp_as_buffer */
- 0, /* tp_flags */
- 0, /* tp_doc */
- 0, /* tp_traverse */
- 0, /* tp_clear */
- 0, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- 0, /* tp_iter */
- 0, /* tp_iternext */
- 0, /* tp_methods */
- 0, /* tp_members */
- 0, /* tp_getset */
- 0, /* tp_base */
- 0, /* tp_dict */
- 0, /* tp_descr_get */
- 0, /* tp_descr_set */
- 0, /* tp_dictoffset */
- 0, /* tp_init */
- 0, /* tp_alloc */
- 0, /* tp_new */
- 0, /* tp_free */
- 0, /* tp_is_gc */
- 0, /* tp_bases */
- 0, /* tp_mro */
- 0, /* tp_cache */
- 0, /* tp_subclasses */
- 0, /* tp_weaklist */
- 0, /* tp_del */
- 0, /* tp_version_tag */
+ .tp_name = "numpy.object_",
+ .tp_basicsize = sizeof(PyObjectScalarObject),
+ .tp_dealloc = (destructor)object_arrtype_dealloc,
+ .tp_as_sequence = &object_arrtype_as_sequence,
+ .tp_as_mapping = &object_arrtype_as_mapping,
+ .tp_call = (ternaryfunc)object_arrtype_call,
+ .tp_getattro = (getattrofunc)object_arrtype_getattro,
+ .tp_setattro = (setattrofunc)object_arrtype_setattro,
+ .tp_as_buffer = &object_arrtype_as_buffer,
};
static PyObject *
@@ -3350,52 +3223,8 @@ gen_arrtype_subscript(PyObject *self, PyObject *key)
*/
NPY_NO_EXPORT PyTypeObject Py@NAME@ArrType_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
- "numpy." NAME_@name@ "@ex@", /* tp_name*/
- sizeof(Py@NAME@ScalarObject), /* tp_basicsize*/
- 0, /* tp_itemsize */
- 0, /* tp_dealloc */
- 0, /* tp_print */
- 0, /* tp_getattr */
- 0, /* tp_setattr */
- 0, /* tp_reserved */
- 0, /* tp_repr */
- 0, /* tp_as_number */
- 0, /* tp_as_sequence */
- 0, /* tp_as_mapping */
- 0, /* tp_hash */
- 0, /* tp_call */
- 0, /* tp_str */
- 0, /* tp_getattro */
- 0, /* tp_setattro */
- 0, /* tp_as_buffer */
- 0, /* tp_flags */
- 0, /* tp_doc */
- 0, /* tp_traverse */
- 0, /* tp_clear */
- 0, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- 0, /* tp_iter */
- 0, /* tp_iternext */
- 0, /* tp_methods */
- 0, /* tp_members */
- 0, /* tp_getset */
- 0, /* tp_base */
- 0, /* tp_dict */
- 0, /* tp_descr_get */
- 0, /* tp_descr_set */
- 0, /* tp_dictoffset */
- 0, /* tp_init */
- 0, /* tp_alloc */
- 0, /* tp_new */
- 0, /* tp_free */
- 0, /* tp_is_gc */
- 0, /* tp_bases */
- 0, /* tp_mro */
- 0, /* tp_cache */
- 0, /* tp_subclasses */
- 0, /* tp_weaklist */
- 0, /* tp_del */
- 0, /* tp_version_tag */
+ .tp_name = "numpy." NAME_@name@ "@ex@",
+ .tp_basicsize = sizeof(Py@NAME@ScalarObject),
};
/**end repeat**/
@@ -3430,54 +3259,11 @@ NPY_NO_EXPORT PyTypeObject Py@NAME@ArrType_Type = {
#endif
NPY_NO_EXPORT PyTypeObject Py@NAME@ArrType_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
- "numpy.@name@" _THIS_SIZE, /* tp_name*/
- sizeof(Py@NAME@ScalarObject), /* tp_basicsize*/
- 0, /* tp_itemsize */
- 0, /* tp_dealloc */
- 0, /* tp_print */
- 0, /* tp_getattr */
- 0, /* tp_setattr */
- 0, /* tp_reserved */
- 0, /* tp_repr */
- 0, /* tp_as_number */
- 0, /* tp_as_sequence */
- 0, /* tp_as_mapping */
- 0, /* tp_hash */
- 0, /* tp_call */
- 0, /* tp_str */
- 0, /* tp_getattro */
- 0, /* tp_setattro */
- 0, /* tp_as_buffer */
- 0, /* tp_flags */
- 0, /* tp_doc */
- 0, /* tp_traverse */
- 0, /* tp_clear */
- 0, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- 0, /* tp_iter */
- 0, /* tp_iternext */
- 0, /* tp_methods */
- 0, /* tp_members */
- 0, /* tp_getset */
- 0, /* tp_base */
- 0, /* tp_dict */
- 0, /* tp_descr_get */
- 0, /* tp_descr_set */
- 0, /* tp_dictoffset */
- 0, /* tp_init */
- 0, /* tp_alloc */
- 0, /* tp_new */
- 0, /* tp_free */
- 0, /* tp_is_gc */
- 0, /* tp_bases */
- 0, /* tp_mro */
- 0, /* tp_cache */
- 0, /* tp_subclasses */
- 0, /* tp_weaklist */
- 0, /* tp_del */
- 0, /* tp_version_tag */
+ .tp_name = "numpy.@name@" _THIS_SIZE,
+ .tp_basicsize = sizeof(Py@NAME@ScalarObject),
};
+
#undef _THIS_SIZE
/**end repeat**/
@@ -3512,52 +3298,9 @@ static PyMappingMethods gentype_as_mapping = {
NPY_NO_EXPORT PyTypeObject Py@NAME@ArrType_Type = {
PyVarObject_HEAD_INIT(0, 0)
- "numpy.@name@" _THIS_SIZE, /* tp_name*/
- sizeof(Py@NAME@ScalarObject), /* tp_basicsize*/
- 0, /* tp_itemsize*/
- 0, /* tp_dealloc*/
- 0, /* tp_print*/
- 0, /* tp_getattr*/
- 0, /* tp_setattr*/
- 0, /* tp_reserved */
- 0, /* tp_repr*/
- 0, /* tp_as_number*/
- 0, /* tp_as_sequence*/
- 0, /* tp_as_mapping*/
- 0, /* tp_hash */
- 0, /* tp_call*/
- 0, /* tp_str*/
- 0, /* tp_getattro*/
- 0, /* tp_setattro*/
- 0, /* tp_as_buffer*/
- Py_TPFLAGS_DEFAULT, /* tp_flags*/
- 0, /* tp_doc */
- 0, /* tp_traverse */
- 0, /* tp_clear */
- 0, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- 0, /* tp_iter */
- 0, /* tp_iternext */
- 0, /* tp_methods */
- 0, /* tp_members */
- 0, /* tp_getset */
- 0, /* tp_base */
- 0, /* tp_dict */
- 0, /* tp_descr_get */
- 0, /* tp_descr_set */
- 0, /* tp_dictoffset */
- 0, /* tp_init */
- 0, /* tp_alloc */
- 0, /* tp_new */
- 0, /* tp_free */
- 0, /* tp_is_gc */
- 0, /* tp_bases */
- 0, /* tp_mro */
- 0, /* tp_cache */
- 0, /* tp_subclasses */
- 0, /* tp_weaklist */
- 0, /* tp_del */
- 0, /* tp_version_tag */
+ .tp_name = "numpy.@name@" _THIS_SIZE,
+ .tp_basicsize = sizeof(Py@NAME@ScalarObject),
+ .tp_flags = Py_TPFLAGS_DEFAULT,
};
#undef _THIS_SIZE
diff --git a/numpy/core/src/umath/ufunc_object.c b/numpy/core/src/umath/ufunc_object.c
index 5f9f4655b..9f9b6830e 100644
--- a/numpy/core/src/umath/ufunc_object.c
+++ b/numpy/core/src/umath/ufunc_object.c
@@ -6040,53 +6040,16 @@ static PyGetSetDef ufunc_getset[] = {
NPY_NO_EXPORT PyTypeObject PyUFunc_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
- "numpy.ufunc", /* tp_name */
- sizeof(PyUFuncObject), /* tp_basicsize */
- 0, /* tp_itemsize */
- /* methods */
- (destructor)ufunc_dealloc, /* tp_dealloc */
- 0, /* tp_print */
- 0, /* tp_getattr */
- 0, /* tp_setattr */
- 0, /* tp_reserved */
- (reprfunc)ufunc_repr, /* tp_repr */
- 0, /* tp_as_number */
- 0, /* tp_as_sequence */
- 0, /* tp_as_mapping */
- 0, /* tp_hash */
- (ternaryfunc)ufunc_generic_call, /* tp_call */
- (reprfunc)ufunc_repr, /* tp_str */
- 0, /* tp_getattro */
- 0, /* tp_setattro */
- 0, /* tp_as_buffer */
- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, /* tp_flags */
- 0, /* tp_doc */
- (traverseproc)ufunc_traverse, /* tp_traverse */
- 0, /* tp_clear */
- 0, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- 0, /* tp_iter */
- 0, /* tp_iternext */
- ufunc_methods, /* tp_methods */
- 0, /* tp_members */
- ufunc_getset, /* tp_getset */
- 0, /* tp_base */
- 0, /* tp_dict */
- 0, /* tp_descr_get */
- 0, /* tp_descr_set */
- 0, /* tp_dictoffset */
- 0, /* tp_init */
- 0, /* tp_alloc */
- 0, /* tp_new */
- 0, /* tp_free */
- 0, /* tp_is_gc */
- 0, /* tp_bases */
- 0, /* tp_mro */
- 0, /* tp_cache */
- 0, /* tp_subclasses */
- 0, /* tp_weaklist */
- 0, /* tp_del */
- 0, /* tp_version_tag */
+ .tp_name = "numpy.ufunc",
+ .tp_basicsize = sizeof(PyUFuncObject),
+ .tp_dealloc = (destructor)ufunc_dealloc,
+ .tp_repr = (reprfunc)ufunc_repr,
+ .tp_call = (ternaryfunc)ufunc_generic_call,
+ .tp_str = (reprfunc)ufunc_repr,
+ .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC,
+ .tp_traverse = (traverseproc)ufunc_traverse,
+ .tp_methods = ufunc_methods,
+ .tp_getset = ufunc_getset,
};
/* End of code for ufunc objects */
diff --git a/numpy/f2py/src/fortranobject.c b/numpy/f2py/src/fortranobject.c
index 644339218..b3a04bcf0 100644
--- a/numpy/f2py/src/fortranobject.c
+++ b/numpy/f2py/src/fortranobject.c
@@ -426,21 +426,13 @@ fortran_repr(PyFortranObject *fp)
PyTypeObject PyFortran_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
- "fortran", /*tp_name*/
- sizeof(PyFortranObject), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- /* methods */
- (destructor)fortran_dealloc, /*tp_dealloc*/
- 0, /*tp_print*/
- (getattrfunc)fortran_getattr, /*tp_getattr*/
- (setattrfunc)fortran_setattr, /*tp_setattr*/
- 0, /*tp_compare/tp_reserved*/
- (reprfunc)fortran_repr, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- (ternaryfunc)fortran_call, /*tp_call*/
+ .tp_name ="fortran",
+ .tp_basicsize = sizeof(PyFortranObject),
+ .tp_dealloc = (destructor)fortran_dealloc,
+ .tp_getattr = (getattrfunc)fortran_getattr,
+ .tp_setattr = (setattrfunc)fortran_setattr,
+ .tp_repr = (reprfunc)fortran_repr,
+ .tp_call = (ternaryfunc)fortran_call,
};
/************************* f2py_report_atexit *******************************/