[pypy-commit] pypy fix-result-types: fix for -A testing
mattip
noreply at buildbot.pypy.org
Fri May 29 07:23:12 CEST 2015
Author: mattip <matti.picus at gmail.com>
Branch: fix-result-types
Changeset: r77674:4c3bd88381d5
Date: 2015-05-29 08:23 +0300
http://bitbucket.org/pypy/pypy/changeset/4c3bd88381d5/
Log: fix for -A testing
diff --git a/pypy/module/micronumpy/test/test_ufuncs.py b/pypy/module/micronumpy/test/test_ufuncs.py
--- a/pypy/module/micronumpy/test/test_ufuncs.py
+++ b/pypy/module/micronumpy/test/test_ufuncs.py
@@ -129,6 +129,10 @@
assert (res[1] == a).all()
def test_frompyfunc_outerloop(self):
+ import sys
+ from numpy import frompyfunc, dtype, arange
+ if '__pypy__' not in sys.builtin_module_names:
+ skip('PyPy only frompyfunc extension')
def int_times2(in_array, out_array):
assert in_array.dtype == int
in_flat = in_array.flat
@@ -141,7 +145,6 @@
out_flat = out_array.flat
for i in range(in_array.size):
out_flat[i] = in_flat[i] * 2
- from numpy import frompyfunc, dtype, arange
ufunc = frompyfunc([int_times2, double_times2], 1, 1,
signature='()->()',
dtypes=[dtype(int), dtype(int),
@@ -160,12 +163,15 @@
ac1 = ufunc(ac)
def test_frompyfunc_2d_sig(self):
+ import sys
+ from numpy import frompyfunc, dtype, arange
+ if '__pypy__' not in sys.builtin_module_names:
+ skip('PyPy only frompyfunc extension')
def times_2(in_array, out_array):
assert len(in_array.shape) == 2
assert in_array.shape == out_array.shape
out_array[:] = in_array * 2
- from numpy import frompyfunc, dtype, arange
ufunc = frompyfunc([times_2], 1, 1,
signature='(m,n)->(n,m)',
dtypes=[dtype(int), dtype(int)],
@@ -194,11 +200,14 @@
assert (ai2 == aiV * 2).all()
def test_frompyfunc_needs_nditer(self):
+ import sys
+ from numpy import frompyfunc, dtype, arange
+ if '__pypy__' not in sys.builtin_module_names:
+ skip('PyPy only frompyfunc extension')
def summer(in0):
print 'in summer, in0=',in0,'in0.shape=',in0.shape
return in0.sum()
- from numpy import frompyfunc, dtype, arange
ufunc = frompyfunc([summer], 1, 1,
signature='(m,m)->()',
dtypes=[dtype(int), dtype(int)],
@@ -209,13 +218,16 @@
assert ao.size == 3
def test_frompyfunc_sig_broadcast(self):
+ import sys
+ from numpy import frompyfunc, dtype, arange
+ if '__pypy__' not in sys.builtin_module_names:
+ skip('PyPy only frompyfunc extension')
def sum_along_0(in_array, out_array):
out_array[...] = in_array.sum(axis=0)
def add_two(in0, in1, out):
out[...] = in0 + in1
- from numpy import frompyfunc, dtype, arange
ufunc_add = frompyfunc(add_two, 2, 1,
signature='(m,n),(m,n)->(m,n)',
dtypes=[dtype(int), dtype(int), dtype(int)],
@@ -233,7 +245,10 @@
assert aout.shape == (3, 3)
def test_frompyfunc_fortran(self):
+ import sys
import numpy as np
+ if '__pypy__' not in sys.builtin_module_names:
+ skip('PyPy only frompyfunc extension')
def tofrom_fortran(in0, out0):
out0[:] = in0.T
@@ -352,6 +367,8 @@
# test on the base-class dtypes: int, bool, float, complex, object
# We need this test since they have no common base class.
import numpy as np
+ not_implemented = set(['ldexp', 'frexp', 'cbrt', 'spacing',
+ 'hypot', 'modf', 'remainder', 'nextafter'])
def find_uncallable_ufuncs(dtype):
uncallable = set()
array = np.array(1, dtype)
@@ -371,16 +388,22 @@
return uncallable
assert find_uncallable_ufuncs('int') == set()
assert find_uncallable_ufuncs('bool') == set(['sign'])
- assert find_uncallable_ufuncs('float') == set(
+ uncallable = find_uncallable_ufuncs('float')
+ uncallable = uncallable.difference(not_implemented)
+ assert uncallable == set(
['bitwise_and', 'bitwise_not', 'bitwise_or', 'bitwise_xor',
'left_shift', 'right_shift', 'invert'])
- assert find_uncallable_ufuncs('complex') == set(
+ uncallable = find_uncallable_ufuncs('complex')
+ uncallable = uncallable.difference(not_implemented)
+ assert uncallable == set(
['bitwise_and', 'bitwise_not', 'bitwise_or', 'bitwise_xor',
'arctan2', 'deg2rad', 'degrees', 'rad2deg', 'radians',
'fabs', 'fmod', 'invert', 'mod',
'logaddexp', 'logaddexp2', 'left_shift', 'right_shift',
'copysign', 'signbit', 'ceil', 'floor', 'trunc'])
- assert find_uncallable_ufuncs('object') == set(
+ uncallable = find_uncallable_ufuncs('object')
+ uncallable = uncallable.difference(not_implemented)
+ assert uncallable == set(
['isnan', 'logaddexp2', 'copysign', 'isfinite', 'signbit',
'isinf', 'logaddexp'])
More information about the pypy-commit
mailing list