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

Reply via email to