[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