[pypy-commit] pypy numpypy-complex2: test, fix maximum, minimum, max, min

mattip noreply at buildbot.pypy.org
Tue Sep 25 12:50:13 CEST 2012


Author: mattip <matti.picus at gmail.com>
Branch: numpypy-complex2
Changeset: r57562:a52995488667
Date: 2012-09-25 12:36 +0200
http://bitbucket.org/pypy/pypy/changeset/a52995488667/

Log:	test, fix maximum, minimum, max, min

diff --git a/pypy/module/micronumpy/interp_ufuncs.py b/pypy/module/micronumpy/interp_ufuncs.py
--- a/pypy/module/micronumpy/interp_ufuncs.py
+++ b/pypy/module/micronumpy/interp_ufuncs.py
@@ -526,8 +526,8 @@
             ('logical_xor', 'logical_xor', 2, {'comparison_func': True}),
             ('logical_not', 'logical_not', 1, {'bool_result': True}),
 
-            ("maximum", "max", 2, {"allow_complex": False}),
-            ("minimum", "min", 2, {"allow_complex": False}),
+            ("maximum", "max", 2),
+            ("minimum", "min", 2),
 
             ("copysign", "copysign", 2, {"promote_to_float": True,
                                          "allow_complex": False}),
diff --git a/pypy/module/micronumpy/test/test_complex.py b/pypy/module/micronumpy/test/test_complex.py
--- a/pypy/module/micronumpy/test/test_complex.py
+++ b/pypy/module/micronumpy/test/test_complex.py
@@ -431,6 +431,24 @@
                 == [False, True, True, False]).all()
         assert (logical_not([c1, c0]) == [False, True]).all()
 
+    def test_minimum(self):
+        from _numpypy import array, minimum
+
+        a = array([-5.0+5j, -5.0-5j, -0.0-10j, 1.0+10j])
+        b = array([ 3.0+10.0j, 3.0, -2.0+2.0j, -3.0+4.0j])
+        c = minimum(a, b)
+        for i in range(4):
+            assert c[i] == min(a[i], b[i])
+
+    def test_maximum(self):
+        from _numpypy import array, maximum
+
+        a = array([-5.0+5j, -5.0-5j, -0.0-10j, 1.0+10j])
+        b = array([ 3.0+10.0j, 3.0, -2.0+2.0j, -3.0+4.0j])
+        c = maximum(a, b)
+        for i in range(4):
+            assert c[i] == max(a[i], b[i])
+
     def test_basic(self):
         from _numpypy import (complex128, complex64, add,
             subtract as sub, multiply, divide, negative, abs, 
diff --git a/pypy/module/micronumpy/types.py b/pypy/module/micronumpy/types.py
--- a/pypy/module/micronumpy/types.py
+++ b/pypy/module/micronumpy/types.py
@@ -1134,6 +1134,12 @@
     def logical_xor(self, v1, v2):
         return self._bool(v1) ^ self._bool(v2)
 
+    def min(self, v1, v2):
+        return self.fmin(v1, v2)
+
+    def max(self, v1, v2):
+        return self.fmax(v1, v2)
+
     @complex_binary_op
     def floordiv(self, v1, v2):
         try:


More information about the pypy-commit mailing list