| 263 | [[(5, 6, 7), (2, 3, 4)], [(5, 6, 7), (2, 6, 4)], [(5, 6, 7), (5, 6, 7)]], |
| 264 | ) |
| 265 | def test_fftshift_identity(funcname1, funcname2, shape, chunks, axes): |
| 266 | da_func1 = getattr(da.fft, funcname1) |
| 267 | da_func2 = getattr(da.fft, funcname2) |
| 268 | |
| 269 | a = np.arange(np.prod(shape)).reshape(shape) |
| 270 | d = da.from_array(a, chunks=chunks) |
| 271 | |
| 272 | d_r = da_func1(da_func2(d, axes), axes) |
| 273 | |
| 274 | for each_d_chunks, each_d_r_chunks in zip(d.chunks, d_r.chunks): |
| 275 | if len(each_d_chunks) == 1: |
| 276 | assert len(each_d_r_chunks) == 1 |
| 277 | assert each_d_r_chunks == each_d_chunks |
| 278 | else: |
| 279 | assert len(each_d_r_chunks) != 1 |
| 280 | |
| 281 | assert_eq(d_r, d) |
| 282 | |
| 283 | |
| 284 | @pytest.mark.parametrize("modname", ["numpy.fft", "scipy.fft", "scipy.fftpack"]) |