diff options
author | Travis Oliphant <oliphant@enthought.com> | 2006-07-11 04:48:54 +0000 |
---|---|---|
committer | Travis Oliphant <oliphant@enthought.com> | 2006-07-11 04:48:54 +0000 |
commit | 1e689a2210534c18e035cf511d9ececd1f2d833c (patch) | |
tree | 0155a5424d194bb4db291c400dbce6633edf7184 /numpy/core/records.py | |
parent | 9e82f3ccc4063fbd06d206e923fc7d42f1b7df30 (diff) | |
download | numpy-1e689a2210534c18e035cf511d9ececd1f2d833c.tar.gz |
Add the dtype= keyword to records.py functions
Diffstat (limited to 'numpy/core/records.py')
-rw-r--r-- | numpy/core/records.py | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/numpy/core/records.py b/numpy/core/records.py index 7e5e9981d..fcd6aac0a 100644 --- a/numpy/core/records.py +++ b/numpy/core/records.py @@ -152,6 +152,8 @@ class recarray(sb.ndarray): if dtype is not None: formats = sb.dtype(dtype) + if byteorder is not None: + byteorder = formats.byteorder if isinstance(formats, sb.dtype): descr = formats @@ -239,7 +241,7 @@ class recarray(sb.ndarray): return sb.ndarray.view(self, obj) def fromarrays(arrayList, formats=None, names=None, titles=None, shape=None, - aligned=0, dtype=None): + aligned=0, byteorder=None, dtype=None): """ create a record array from a (flat) list of arrays >>> x1=array([1,2,3,4]) @@ -255,6 +257,8 @@ def fromarrays(arrayList, formats=None, names=None, titles=None, shape=None, if dtype is not None: formats = sb.dtype(dtype) + if byteorder is not None: + byteorder = formats.byteorder if shape is None or shape == 0: shape = arrayList[0].shape @@ -286,7 +290,7 @@ def fromarrays(arrayList, formats=None, names=None, titles=None, shape=None, parsed = format_parser(formats, names, titles, aligned) _names = parsed._names descr = parsed._descr - _array = recarray(shape, descr) + _array = recarray(shape, descr, byteorder=byteorder) # populate the record array (makes a copy) for i in range(len(arrayList)): @@ -370,6 +374,8 @@ def fromstring(datastring, formats, shape=None, names=None, titles=None, if dtype is not None: formats = sb.dtype(dtype) + if byteorder is not None: + byteorder = formats.byteorder if isinstance(formats, sb.dtype): descr = formats @@ -414,6 +420,8 @@ def fromfile(fd, formats, shape=None, names=None, titles=None, if dtype is not None: formats = sb.dtype(dtype) + if byteorder is not None: + byteorder = formats.byteorder if (shape is None or shape == 0): shape = (-1,) @@ -465,9 +473,10 @@ def array(obj, formats=None, names=None, titles=None, shape=None, """ if dtype is not None: - dtype = sb.dtype(dtype) - formats = dtype - + formats = sb.dtype(dtype) + if byteorder is not None: + byteorder = formats.byteorder + if isinstance(obj, (type(None), str, file)) and (formats is None): raise ValueError("Must define formats if object is "\ "None, string, or an open file") |