Author: Brian Kearns <bdkea...@gmail.com>
Branch: 
Changeset: r68009:b9b04c08e3d3
Date: 2013-11-13 20:28 -0500
http://bitbucket.org/pypy/pypy/changeset/b9b04c08e3d3/

Log:    support eq/ne for array.flags

diff --git a/pypy/module/micronumpy/interp_flagsobj.py 
b/pypy/module/micronumpy/interp_flagsobj.py
--- a/pypy/module/micronumpy/interp_flagsobj.py
+++ b/pypy/module/micronumpy/interp_flagsobj.py
@@ -7,6 +7,7 @@
 class W_FlagsObject(W_Root):
     def __init__(self, arr):
         self.arr = arr
+        self.flags = 0
 
     def descr_get_contiguous(self, space):
         return space.w_True
@@ -32,10 +33,23 @@
         raise OperationError(space.w_KeyError, space.wrap(
             "Unknown flag"))
 
+    def eq(self, space, w_other):
+        if not isinstance(w_other, W_FlagsObject):
+            return False
+        return self.flags == w_other.flags
+
+    def descr_eq(self, space, w_other):
+        return space.wrap(self.eq(space, w_other))
+
+    def descr_ne(self, space, w_other):
+        return space.wrap(not self.eq(space, w_other))
+
 W_FlagsObject.typedef = TypeDef("flagsobj",
     __module__ = "numpy",
     __getitem__ = interp2app(W_FlagsObject.descr_getitem),
     __setitem__ = interp2app(W_FlagsObject.descr_setitem),
+    __eq__ = interp2app(W_FlagsObject.descr_eq),
+    __ne__ = interp2app(W_FlagsObject.descr_ne),
 
     contiguous = GetSetProperty(W_FlagsObject.descr_get_contiguous),
     c_contiguous = GetSetProperty(W_FlagsObject.descr_get_contiguous),
diff --git a/pypy/module/micronumpy/test/test_flagsobj.py 
b/pypy/module/micronumpy/test/test_flagsobj.py
--- a/pypy/module/micronumpy/test/test_flagsobj.py
+++ b/pypy/module/micronumpy/test/test_flagsobj.py
@@ -20,3 +20,10 @@
         import numpy as np
         a = np.int32(2)
         assert a.flags.c_contiguous == True
+
+    def test_compare(self):
+        import numpy as np
+        a = np.array([1,2,3])
+        b = np.array([4,5,6,7])
+        assert a.flags == b.flags
+        assert not a.flags != b.flags
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to