[pypy-commit] pypy default: addded __pos__ and __invert__ to numpy boxes

alex_gaynor noreply at buildbot.pypy.org
Wed Feb 8 17:24:25 CET 2012


Author: Alex Gaynor <alex.gaynor at gmail.com>
Branch: 
Changeset: r52246:69d95ab3a482
Date: 2012-02-08 11:24 -0500
http://bitbucket.org/pypy/pypy/changeset/69d95ab3a482/

Log:	addded __pos__ and __invert__ to numpy boxes

diff --git a/pypy/module/micronumpy/interp_boxes.py b/pypy/module/micronumpy/interp_boxes.py
--- a/pypy/module/micronumpy/interp_boxes.py
+++ b/pypy/module/micronumpy/interp_boxes.py
@@ -96,8 +96,10 @@
     descr_rmul = _binop_right_impl("multiply")
     descr_rpow = _binop_right_impl("power")
 
+    descr_pos = _unaryop_impl("positive")
     descr_neg = _unaryop_impl("negative")
     descr_abs = _unaryop_impl("absolute")
+    descr_invert = _unaryop_impl("invert")
 
     def item(self, space):
         return self.get_dtype(space).itemtype.to_builtin_type(space, self)
@@ -194,8 +196,10 @@
     __gt__ = interp2app(W_GenericBox.descr_gt),
     __ge__ = interp2app(W_GenericBox.descr_ge),
 
+    __pos__ = interp2app(W_GenericBox.descr_pos),
     __neg__ = interp2app(W_GenericBox.descr_neg),
     __abs__ = interp2app(W_GenericBox.descr_abs),
+    __invert__ = interp2app(W_GenericBox.descr_invert),
 
     tolist = interp2app(W_GenericBox.item),
 )
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
@@ -410,3 +410,7 @@
         assert 2 ** int_(3) == int_(8)
         assert int_(3) & int_(1) == int_(1)
         raises(TypeError, lambda: float64(3) & 1)
+
+        assert +int_(3) == int_(3)
+        assert ~int_(3) == int_(-4)
+


More information about the pypy-commit mailing list