summaryrefslogtreecommitdiff
path: root/numpy/core/records.py
diff options
context:
space:
mode:
authorpierregm <pierregm@localhost>2008-09-19 03:33:40 +0000
committerpierregm <pierregm@localhost>2008-09-19 03:33:40 +0000
commita632ae1608b1c86020d30c492d9f9d1599dbd420 (patch)
tree5e192b1c6aac161b880835fe65127751ea170602 /numpy/core/records.py
parent4abde4ab7cd688e38dc2b935eac07594a06db286 (diff)
downloadnumpy-a632ae1608b1c86020d30c492d9f9d1599dbd420.tar.gz
* fixing view to recognize dtype and type parameters, for consistency with regular ndarrays.
Diffstat (limited to 'numpy/core/records.py')
-rw-r--r--numpy/core/records.py26
1 files changed, 16 insertions, 10 deletions
diff --git a/numpy/core/records.py b/numpy/core/records.py
index 6f94c3e9f..1d5b85b97 100644
--- a/numpy/core/records.py
+++ b/numpy/core/records.py
@@ -448,16 +448,22 @@ class recarray(ndarray):
else:
return self.setfield(val, *res)
- def view(self, obj):
- try:
- if issubclass(obj, ndarray):
- return ndarray.view(self, obj)
- except TypeError:
- pass
- dtype = sb.dtype(obj)
- if dtype.fields is None:
- return self.__array__().view(dtype)
- return ndarray.view(self, obj)
+ def view(self, dtype=None, type=None):
+ if dtype is None:
+ return ndarray.view(self, type)
+ elif type is None:
+ try:
+ if issubclass(dtype, ndarray):
+ return ndarray.view(self, dtype)
+ except TypeError:
+ pass
+ dtype = sb.dtype(dtype)
+ if dtype.fields is None:
+ return self.__array__().view(dtype)
+ return ndarray.view(self, dtype)
+ else:
+ return ndarray.view(self, dtype, type)
+
def fromarrays(arrayList, dtype=None, shape=None, formats=None,
names=None, titles=None, aligned=False, byteorder=None):