diff options
Diffstat (limited to 'numpy/core')
-rw-r--r-- | numpy/core/include/numpy/arrayobject.h | 4 | ||||
-rw-r--r-- | numpy/core/numeric.py | 2 | ||||
-rw-r--r-- | numpy/core/numerictypes.py | 6 | ||||
-rw-r--r-- | numpy/core/src/arrayobject.c | 28 | ||||
-rw-r--r-- | numpy/core/src/scalartypes.inc.src | 13 |
5 files changed, 33 insertions, 20 deletions
diff --git a/numpy/core/include/numpy/arrayobject.h b/numpy/core/include/numpy/arrayobject.h index d4298975b..06717f541 100644 --- a/numpy/core/include/numpy/arrayobject.h +++ b/numpy/core/include/numpy/arrayobject.h @@ -977,8 +977,8 @@ typedef int (PyArray_FinalizeFunc)(PyArrayObject *, PyObject *); /* Size of internal buffers used for alignment */ /* Make BUFSIZE a multiple of sizeof(cdouble) -- ususally 16 */ /* So that ufunc buffers are aligned */ -#define NPY_MIN_BUFSIZE sizeof(cdouble) -#define NPY_MAX_BUFSIZE sizeof(cdouble)*1000000 +#define NPY_MIN_BUFSIZE ((int)sizeof(cdouble)) +#define NPY_MAX_BUFSIZE (((int)sizeof(cdouble))*1000000) #define NPY_BUFSIZE 10000 /* #define NPY_BUFSIZE 80*/ diff --git a/numpy/core/numeric.py b/numpy/core/numeric.py index 8099a1273..b28d13bde 100644 --- a/numpy/core/numeric.py +++ b/numpy/core/numeric.py @@ -328,7 +328,7 @@ def array_repr(arr, max_line_width=None, precision=None, suppress_small=None): if typeless and arr.size: return cName + "(%s)" % lst else: - typename=arr.dtype.type.__name__[:-6] + typename=arr.dtype.name lf = '' if issubclass(arr.dtype.type, flexible): typename = str(arr.dtype) diff --git a/numpy/core/numerictypes.py b/numpy/core/numerictypes.py index 5ffb79045..cfe77c50a 100644 --- a/numpy/core/numerictypes.py +++ b/numpy/core/numerictypes.py @@ -106,7 +106,7 @@ def _evalname(name): def bitname(obj): """Return a bit-width name for a given type object""" - name = obj.__name__[:-6] + name = obj.__name__ base = '' char = '' try: @@ -323,7 +323,7 @@ def maximum_sctype(t): if g is None: return t t = g - name = t.__name__[:-6] + name = t.__name__ base, bits = _evalname(name) if bits == 0: return t @@ -334,7 +334,7 @@ _python_types = {int : 'int_', float: 'float_', complex: 'complex_', bool: 'bool_', - str: 'string', + str: 'string_', unicode: 'unicode_', _types.BufferType: 'void', } diff --git a/numpy/core/src/arrayobject.c b/numpy/core/src/arrayobject.c index 03b37326a..51dc4f9b9 100644 --- a/numpy/core/src/arrayobject.c +++ b/numpy/core/src/arrayobject.c @@ -10441,18 +10441,30 @@ arraydescr_typename_get(PyArray_Descr *self) int len; PyTypeObject *typeobj = self->typeobj; PyObject *res; - static int suffix_len=0; + char *s; + static int prefix_len=0; if (PyTypeNum_ISUSERDEF(self->type_num)) { - res = PyString_FromString(typeobj->tp_name); + s = strrchr(typeobj->tp_name, '.'); + if (s == NULL) { + res = PyString_FromString(typeobj->tp_name); + } + else { + res = PyString_FromStringAndSize(s+1, strlen(s)-1); + } + return res; } else { - if (suffix_len == 0) - suffix_len = strlen("scalar"); - len = strlen(typeobj->tp_name) - suffix_len; - res = PyString_FromStringAndSize(typeobj->tp_name, len); - } - if (PyTypeNum_ISEXTENDED(self->type_num) && self->elsize != 0) { + if (prefix_len == 0) + prefix_len = strlen("numpy."); + + len = strlen(typeobj->tp_name); + if (*(typeobj->tp_name + (len-1)) == '_') + len-=1; + len -= prefix_len; + res = PyString_FromStringAndSize(typeobj->tp_name+prefix_len, len); + } + if (PyTypeNum_ISFLEXIBLE(self->type_num) && self->elsize != 0) { PyObject *p; p = PyString_FromFormat("%d", self->elsize * 8); PyString_ConcatAndDel(&res, p); diff --git a/numpy/core/src/scalartypes.inc.src b/numpy/core/src/scalartypes.inc.src index 25e3454f7..e839c65bb 100644 --- a/numpy/core/src/scalartypes.inc.src +++ b/numpy/core/src/scalartypes.inc.src @@ -23,7 +23,7 @@ character# static PyTypeObject Py@NAME@ArrType_Type = { PyObject_HEAD_INIT(NULL) 0, /*ob_size*/ - "@name@scalar", /*tp_name*/ + "numpy.@name@", /*tp_name*/ sizeof(PyObject), /*tp_basicsize*/ }; /**end repeat**/ @@ -1652,7 +1652,7 @@ static PyBufferProcs gentype_as_buffer = { static PyTypeObject PyGenericArrType_Type = { PyObject_HEAD_INIT(NULL) 0, /*ob_size*/ - "genericscalar", /*tp_name*/ + "numpy.generic", /*tp_name*/ sizeof(PyObject), /*tp_basicsize*/ }; @@ -2195,7 +2195,7 @@ object_arrtype_call(PyObjectScalarObject *obj, PyObject *args, PyObject *kwds) static PyTypeObject PyObjectArrType_Type = { PyObject_HEAD_INIT(NULL) 0, /*ob_size*/ - "objectscalar", /*tp_name*/ + "numpy.object_", /*tp_name*/ sizeof(PyObjectScalarObject), /*tp_basicsize*/ 0, /* tp_itemsize */ (destructor)object_arrtype_dealloc, /* tp_dealloc */ @@ -2219,11 +2219,12 @@ static PyTypeObject PyObjectArrType_Type = { /**begin repeat #name=bool, string, unicode, void# #NAME=Bool, String, Unicode, Void# +#ex=_,_,_,# */ static PyTypeObject Py@NAME@ArrType_Type = { PyObject_HEAD_INIT(NULL) 0, /*ob_size*/ - "@name@scalar", /*tp_name*/ + "numpy.@name@@ex@", /*tp_name*/ sizeof(Py@NAME@ScalarObject), /*tp_basicsize*/ }; /**end repeat**/ @@ -2253,7 +2254,7 @@ static PyTypeObject Py@NAME@ArrType_Type = { static PyTypeObject Py@NAME@ArrType_Type = { PyObject_HEAD_INIT(NULL) 0, /*ob_size*/ - "@name@" _THIS_SIZE "scalar", /*tp_name*/ + "numpy.@name@" _THIS_SIZE, /*tp_name*/ sizeof(Py@NAME@ScalarObject), /*tp_basicsize*/ }; @@ -2290,7 +2291,7 @@ static PyTypeObject Py@NAME@ArrType_Type = { static PyTypeObject Py@NAME@ArrType_Type = { PyObject_HEAD_INIT(NULL) 0, /*ob_size*/ - "@name@" _THIS_SIZE1 "scalar", /*tp_name*/ + "numpy.@name@" _THIS_SIZE1, /*tp_name*/ sizeof(Py@NAME@ScalarObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ 0, /*tp_dealloc*/ |