Author: Brian Kearns <bdkea...@gmail.com> Branch: Changeset: r69275:acb4d3bbfda9 Date: 2014-02-22 17:39 -0500 http://bitbucket.org/pypy/pypy/changeset/acb4d3bbfda9/
Log: fix hash(np.dtype) 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 @@ -289,6 +289,9 @@ return space.wrap(0) return space.wrap(len(self.fields)) + def descr_hash(self, space): + return space.hash(self.descr_reduce(space)) + def descr_reduce(self, space): w_class = space.type(self) @@ -465,6 +468,7 @@ __getitem__ = interp2app(W_Dtype.descr_getitem), __len__ = interp2app(W_Dtype.descr_len), + __hash__ = interp2app(W_Dtype.descr_hash), __reduce__ = interp2app(W_Dtype.descr_reduce), __setstate__ = interp2app(W_Dtype.descr_setstate), newbyteorder = interp2app(W_Dtype.descr_newbyteorder), 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 @@ -351,13 +351,13 @@ dt2 = dt.newbyteorder("<") dt3 = dt.newbyteorder(">") assert dt.byteorder != dt1.byteorder - #assert hash(dt) == hash(dt1) + assert hash(dt) == hash(dt1) if dt == dt2: assert dt.byteorder != dt2.byteorder - #assert hash(dt) == hash(dt2) + assert hash(dt) == hash(dt2) else: assert dt.byteorder != dt3.byteorder - #assert hash(dt) == hash(dt3) + assert hash(dt) == hash(dt3) exc = raises(ValueError, dt.newbyteorder, 'XX') assert exc.value[0] == 'XX is an unrecognized byteorder' _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit