/usr/lib64/python2.6/site-packages/numpy/lib/tests
NameSizeModeActions
test_arraysetops.py69930644editdlrm
test_arraysetops.pyc77600644editdlrm
test_arraysetops.pyo77600644editdlrm
test_arrayterator.py13150644editdlrm
test_arrayterator.pyc19640644editdlrm
test_arrayterator.pyo17100644editdlrm
test_financial.py19110644editdlrm
test_financial.pyc36830644editdlrm
test_financial.pyo36830644editdlrm
test_format.py253120644editdlrm
test_format.pyc252610644editdlrm
test_format.pyo252360644editdlrm
test_function_base.py314430644editdlrm
test_function_base.pyc434570644editdlrm
test_function_base.pyo420290644editdlrm
test_index_tricks.py39280644editdlrm
test_index_tricks.pyc71250644editdlrm
test_index_tricks.pyo65290644editdlrm
test_io.py449580644editdlrm
test_io.pyc581730644editdlrm
test_io.pyo578790644editdlrm
test_polynomial.py35660644editdlrm
test_polynomial.pyc53030644editdlrm
test_polynomial.pyo47280644editdlrm
test_recfunctions.py249420644editdlrm
test_recfunctions.pyc298950644editdlrm
test_recfunctions.pyo298130644editdlrm
test_regression.py63570644editdlrm
test_regression.pyc110690644editdlrm
test_regression.pyo109740644editdlrm
test_shape_base.py99450644editdlrm
test_shape_base.pyc161880644editdlrm
test_shape_base.pyo160590644editdlrm
test_stride_tricks.py69580644editdlrm
test_stride_tricks.pyc91830644editdlrm
test_stride_tricks.pyo91440644editdlrm
test_twodim_base.py101850644editdlrm
test_twodim_base.pyc140050644editdlrm
test_twodim_base.pyo140050644editdlrm
test_type_check.py95790644editdlrm
test_type_check.pyc188460644editdlrm
test_type_check.pyo180440644editdlrm
test_ufunclike.py17760644editdlrm
test_ufunclike.pyc21290644editdlrm
test_ufunclike.pyo21290644editdlrm
test_utils.py9100644editdlrm
test_utils.pyc22110644editdlrm
test_utils.pyo19550644editdlrm
test__datasource.py99210644editdlrm
test__datasource.pyc162600644editdlrm
test__datasource.pyo154030644editdlrm
test__iotools.py108990644editdlrm
test__iotools.pyc123970644editdlrm
test__iotools.pyo123050644editdlrm
Edit: /usr/lib64/python2.6/site-packages/numpy/lib/tests/test_stride_tricks.py (6958B)
import numpy as np from numpy.testing import * from numpy.lib.stride_tricks import broadcast_arrays def assert_shapes_correct(input_shapes, expected_shape): """ Broadcast a list of arrays with the given input shapes and check the common output shape. """ inarrays = [np.zeros(s) for s in input_shapes] outarrays = broadcast_arrays(*inarrays) outshapes = [a.shape for a in outarrays] expected = [expected_shape] * len(inarrays) assert outshapes == expected def assert_incompatible_shapes_raise(input_shapes): """ Broadcast a list of arrays with the given (incompatible) input shapes and check that they raise a ValueError. """ inarrays = [np.zeros(s) for s in input_shapes] assert_raises(ValueError, broadcast_arrays, *inarrays) def assert_same_as_ufunc(shape0, shape1, transposed=False, flipped=False): """ Broadcast two shapes against each other and check that the data layout is the same as if a ufunc did the broadcasting. """ x0 = np.zeros(shape0, dtype=int) # Note that multiply.reduce's identity element is 1.0, so when shape1==(), # this gives the desired n==1. n = int(np.multiply.reduce(shape1)) x1 = np.arange(n).reshape(shape1) if transposed: x0 = x0.T x1 = x1.T if flipped: x0 = x0[::-1] x1 = x1[::-1] # Use the add ufunc to do the broadcasting. Since we're adding 0s to x1, the # result should be exactly the same as the broadcasted view of x1. y = x0 + x1 b0, b1 = broadcast_arrays(x0, x1) assert_array_equal(y, b1) def test_same(): x = np.arange(10) y = np.arange(10) bx, by = broadcast_arrays(x, y) assert_array_equal(x, bx) assert_array_equal(y, by) def test_one_off(): x = np.array([[1,2,3]]) y = np.array([[1],[2],[3]]) bx, by = broadcast_arrays(x, y) bx0 = np.array([[1,2,3],[1,2,3],[1,2,3]]) by0 = bx0.T assert_array_equal(bx0, bx) assert_array_equal(by0, by) def test_same_input_shapes(): """ Check that the final shape is just the input shape. """ data = [ (), (1,), (3,), (0,1), (0,3), (1,0), (3,0), (1,3), (3,1), (3,3), ] for shape in data: input_shapes = [shape] # Single input. yield assert_shapes_correct, input_shapes, shape # Double input. input_shapes2 = [shape, shape] yield assert_shapes_correct, input_shapes2, shape # Triple input. input_shapes3 = [shape, shape, shape] yield assert_shapes_correct, input_shapes3, shape def test_two_compatible_by_ones_input_shapes(): """ Check that two different input shapes (of the same length but some have 1s) broadcast to the correct shape. """ data = [ [[(1,), (3,)], (3,)], [[(1,3), (3,3)], (3,3)], [[(3,1), (3,3)], (3,3)], [[(1,3), (3,1)], (3,3)], [[(1,1), (3,3)], (3,3)], [[(1,1), (1,3)], (1,3)], [[(1,1), (3,1)], (3,1)], [[(1,0), (0,0)], (0,0)], [[(0,1), (0,0)], (0,0)], [[(1,0), (0,1)], (0,0)], [[(1,1), (0,0)], (0,0)], [[(1,1), (1,0)], (1,0)], [[(1,1), (0,1)], (0,1)], ] for input_shapes, expected_shape in data: yield assert_shapes_correct, input_shapes, expected_shape # Reverse the input shapes since broadcasting should be symmetric. yield assert_shapes_correct, input_shapes[::-1], expected_shape def test_two_compatible_by_prepending_ones_input_shapes(): """ Check that two different input shapes (of different lengths) broadcast to the correct shape. """ data = [ [[(), (3,)], (3,)], [[(3,), (3,3)], (3,3)], [[(3,), (3,1)], (3,3)], [[(1,), (3,3)], (3,3)], [[(), (3,3)], (3,3)], [[(1,1), (3,)], (1,3)], [[(1,), (3,1)], (3,1)], [[(1,), (1,3)], (1,3)], [[(), (1,3)], (1,3)], [[(), (3,1)], (3,1)], [[(), (0,)], (0,)], [[(0,), (0,0)], (0,0)], [[(0,), (0,1)], (0,0)], [[(1,), (0,0)], (0,0)], [[(), (0,0)], (0,0)], [[(1,1), (0,)], (1,0)], [[(1,), (0,1)], (0,1)], [[(1,), (1,0)], (1,0)], [[(), (1,0)], (1,0)], [[(), (0,1)], (0,1)], ] for input_shapes, expected_shape in data: yield assert_shapes_correct, input_shapes, expected_shape # Reverse the input shapes since broadcasting should be symmetric. yield assert_shapes_correct, input_shapes[::-1], expected_shape def test_incompatible_shapes_raise_valueerror(): """ Check that a ValueError is raised for incompatible shapes. """ data = [ [(3,), (4,)], [(2,3), (2,)], [(3,), (3,), (4,)], [(1,3,4), (2,3,3)], ] for input_shapes in data: yield assert_incompatible_shapes_raise, input_shapes # Reverse the input shapes since broadcasting should be symmetric. yield assert_incompatible_shapes_raise, input_shapes[::-1] def test_same_as_ufunc(): """ Check that the data layout is the same as if a ufunc did the operation. """ data = [ [[(1,), (3,)], (3,)], [[(1,3), (3,3)], (3,3)], [[(3,1), (3,3)], (3,3)], [[(1,3), (3,1)], (3,3)], [[(1,1), (3,3)], (3,3)], [[(1,1), (1,3)], (1,3)], [[(1,1), (3,1)], (3,1)], [[(1,0), (0,0)], (0,0)], [[(0,1), (0,0)], (0,0)], [[(1,0), (0,1)], (0,0)], [[(1,1), (0,0)], (0,0)], [[(1,1), (1,0)], (1,0)], [[(1,1), (0,1)], (0,1)], [[(), (3,)], (3,)], [[(3,), (3,3)], (3,3)], [[(3,), (3,1)], (3,3)], [[(1,), (3,3)], (3,3)], [[(), (3,3)], (3,3)], [[(1,1), (3,)], (1,3)], [[(1,), (3,1)], (3,1)], [[(1,), (1,3)], (1,3)], [[(), (1,3)], (1,3)], [[(), (3,1)], (3,1)], [[(), (0,)], (0,)], [[(0,), (0,0)], (0,0)], [[(0,), (0,1)], (0,0)], [[(1,), (0,0)], (0,0)], [[(), (0,0)], (0,0)], [[(1,1), (0,)], (1,0)], [[(1,), (0,1)], (0,1)], [[(1,), (1,0)], (1,0)], [[(), (1,0)], (1,0)], [[(), (0,1)], (0,1)], ] for input_shapes, expected_shape in data: yield assert_same_as_ufunc, input_shapes[0], input_shapes[1] # Reverse the input shapes since broadcasting should be symmetric. yield assert_same_as_ufunc, input_shapes[1], input_shapes[0] # Try them transposed, too. yield assert_same_as_ufunc, input_shapes[0], input_shapes[1], True # ... and flipped for non-rank-0 inputs in order to test negative # strides. if () not in input_shapes: yield assert_same_as_ufunc, input_shapes[0], input_shapes[1], False, True yield assert_same_as_ufunc, input_shapes[0], input_shapes[1], True, True if __name__ == "__main__": run_module_suite()