summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Oliphant <oliphant@enthought.com>2005-12-06 00:57:13 +0000
committerTravis Oliphant <oliphant@enthought.com>2005-12-06 00:57:13 +0000
commit50fefdff2667d55fe6c068b26dd62b2aaddae880 (patch)
tree90a5224c01a5470dea0928faae20df524be619a8
parentcb2f58fe323d9753b45ecd9f877f6acb99c7c94b (diff)
downloadnumpy-50fefdff2667d55fe6c068b26dd62b2aaddae880.tar.gz
Added handling of output of fields returned from dtypedescr to constructor. Fixed itemsize reference in fortranobject.c
-rw-r--r--scipy/base/_internal.py5
-rw-r--r--scipy/f2py/src/fortranobject.c1
2 files changed, 4 insertions, 2 deletions
diff --git a/scipy/base/_internal.py b/scipy/base/_internal.py
index 626a8439f..654188f41 100644
--- a/scipy/base/_internal.py
+++ b/scipy/base/_internal.py
@@ -216,7 +216,10 @@ def _usefields(adict):
raise ValueError, "invalid offset."
names.append(fname)
offsets.append(num)
- formats.append(dtypedescr(obj[0]))
+ format = dtypedescr(obj[0])
+ if (format.itemsize == 0):
+ raise ValueError, "all itemsizes must be given."
+ formats.append(format)
if (n > 2):
title = obj[2]
else:
diff --git a/scipy/f2py/src/fortranobject.c b/scipy/f2py/src/fortranobject.c
index e1fde0afa..d5da43a88 100644
--- a/scipy/f2py/src/fortranobject.c
+++ b/scipy/f2py/src/fortranobject.c
@@ -468,7 +468,6 @@ static int swap_arrays(PyArrayObject* arr1, PyArrayObject* arr2) {
SWAPTYPE(arr1->base,arr2->base,PyObject*);
SWAPTYPE(arr1->descr,arr2->descr,PyArray_Descr*);
SWAPTYPE(arr1->flags,arr2->flags,int);
- SWAPTYPE(arr1->itemsize, arr2->itemsize, int);
/* SWAPTYPE(arr1->weakreflist,arr2->weakreflist,PyObject*); */
return 0;
}