summaryrefslogtreecommitdiff
path: root/numpy/core/src/arrayobject.c
diff options
context:
space:
mode:
Diffstat (limited to 'numpy/core/src/arrayobject.c')
-rw-r--r--numpy/core/src/arrayobject.c23
1 files changed, 18 insertions, 5 deletions
diff --git a/numpy/core/src/arrayobject.c b/numpy/core/src/arrayobject.c
index 1a126e3e2..4cfb02a4a 100644
--- a/numpy/core/src/arrayobject.c
+++ b/numpy/core/src/arrayobject.c
@@ -11086,6 +11086,12 @@ arraydescr_str(PyArray_Descr *self)
PyObject *p;
PyObject *t = PyString_FromString("(");
p = arraydescr_str(self->subarray->base);
+ if (!self->subarray->base->names && !self->subarray->base->subarray) {
+ PyObject *t=PyString_FromString("'");
+ PyString_Concat(&p, t);
+ PyString_ConcatAndDel(&t, p);
+ p = t;
+ }
PyString_ConcatAndDel(&t, p);
PyString_ConcatAndDel(&t, PyString_FromString(","));
PyString_ConcatAndDel(&t, PyObject_Str(self->subarray->shape));
@@ -11093,11 +11099,12 @@ arraydescr_str(PyArray_Descr *self)
sub = t;
}
else {
- PyObject *t=PyString_FromString("'");
- sub = arraydescr_protocol_typestr_get(self);
- PyString_Concat(&sub, t);
- PyString_ConcatAndDel(&t, sub);
- sub = t;
+ if (!PyArray_ISNBO(self->byteorder)) {
+ sub = arraydescr_protocol_typestr_get(self);
+ }
+ else {
+ sub = arraydescr_typename_get(self);
+ }
}
return sub;
}
@@ -11108,6 +11115,12 @@ arraydescr_repr(PyArray_Descr *self)
PyObject *sub, *s;
s = PyString_FromString("dtype(");
sub = arraydescr_str(self);
+ if (!self->names && !self->subarray) {
+ PyObject *t=PyString_FromString("'");
+ PyString_Concat(&sub, t);
+ PyString_ConcatAndDel(&t, sub);
+ sub = t;
+ }
PyString_ConcatAndDel(&s, sub);
sub = PyString_FromString(")");
PyString_ConcatAndDel(&s, sub);