Author: Brian Kearns <[email protected]>
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
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit