| 1788 | assert_raises(ValueError, f, *args, **kwargs) |
| 1789 | |
| 1790 | def t(expect, func, n, m): |
| 1791 | expect(func, np.zeros((n, m)), axis=1) |
| 1792 | expect(func, np.zeros((m, n)), axis=0) |
| 1793 | expect(func, np.zeros((n // 2, n // 2, m)), axis=2) |
| 1794 | expect(func, np.zeros((n // 2, m, n // 2)), axis=1) |
| 1795 | expect(func, np.zeros((n, m // 2, m // 2)), axis=(1, 2)) |
| 1796 | expect(func, np.zeros((m // 2, n, m // 2)), axis=(0, 2)) |
| 1797 | expect(func, np.zeros((m // 3, m // 3, m // 3, |
| 1798 | n // 2, n // 2)), |
| 1799 | axis=(0, 1, 2)) |
| 1800 | # Check what happens if the inner (resp. outer) dimensions are a |
| 1801 | # mix of zero and non-zero: |
| 1802 | expect(func, np.zeros((10, m, n)), axis=(0, 1)) |
| 1803 | expect(func, np.zeros((10, n, m)), axis=(0, 2)) |
| 1804 | expect(func, np.zeros((m, 10, n)), axis=0) |
| 1805 | expect(func, np.zeros((10, m, n)), axis=1) |
| 1806 | expect(func, np.zeros((10, n, m)), axis=2) |
| 1807 | |
| 1808 | # np.maximum is just an arbitrary ufunc with no reduction identity |
| 1809 | assert_equal(np.maximum.identity, None) |