Author: Brian Kearns <bdkea...@gmail.com> 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 pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit