Author: Brian Kearns <[email protected]>
Branch:
Changeset: r69407:6928506f34e4
Date: 2014-02-25 03:22 -0500
http://bitbucket.org/pypy/pypy/changeset/6928506f34e4/
Log: fixes for newbyteorder on flexible dtypes
diff --git a/pypy/module/micronumpy/interp_dtype.py
b/pypy/module/micronumpy/interp_dtype.py
--- a/pypy/module/micronumpy/interp_dtype.py
+++ b/pypy/module/micronumpy/interp_dtype.py
@@ -409,7 +409,9 @@
endian = newendian
itemtype = self.itemtype.__class__(endian in (NPY.NATIVE, NPY.NATBYTE))
return W_Dtype(itemtype, self.num, self.kind, self.char,
- self.w_box_type, byteorder=endian, elsize=self.elsize)
+ self.w_box_type, byteorder=endian, elsize=self.elsize,
+ names=self.names, fields=self.fields,
+ shape=self.shape, subdtype=self.subdtype)
@specialize.arg(2)
diff --git a/pypy/module/micronumpy/test/test_dtypes.py
b/pypy/module/micronumpy/test/test_dtypes.py
--- a/pypy/module/micronumpy/test/test_dtypes.py
+++ b/pypy/module/micronumpy/test/test_dtypes.py
@@ -428,6 +428,20 @@
s2 = np.array(123, dtype=dt2).byteswap().tostring()
assert s1 == s2
+ d = np.dtype([('', '<i8')]).newbyteorder()
+ assert d.shape == ()
+ assert d.names == ('f0',)
+ #assert d.fields['f0'] == ('>i8', 0)
+ assert d.subdtype is None
+ #assert d.descr == [('f0', '>i8')]
+ #assert str(d) == "[('f0', '>i8')]"
+ d = np.dtype(('<i8', 2)).newbyteorder()
+ assert d.shape == (2,)
+ assert d.names is None
+ assert d.fields is None
+ assert d.descr == [('', '|V16')]
+ #assert str(d) == "('>i8', (2,))"
+
def test_object(self):
import numpy as np
import sys
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit