Test explicit evaluation of transpose operator for correctness.
(basis, N, dealias, dtype, layout)
| 216 | @pytest.mark.parametrize('dtype', dtype_range) |
| 217 | @pytest.mark.parametrize('layout', ['c', 'g']) |
| 218 | def test_transpose_explicit(basis, N, dealias, dtype, layout): |
| 219 | """Test explicit evaluation of transpose operator for correctness.""" |
| 220 | c, d, b, r = basis(N, dealias, dtype) |
| 221 | # Random tensor field |
| 222 | f = d.TensorField((c,c), bases=b) |
| 223 | f.fill_random(layout='g') |
| 224 | # Evaluate transpose |
| 225 | f.change_layout(layout) |
| 226 | g = d3.transpose(f).evaluate() |
| 227 | order = np.arange(2 + len(r)) |
| 228 | order[:2] = [1, 0] |
| 229 | assert np.allclose(g[layout], np.transpose(f[layout], order)) |
| 230 | |
| 231 | |
| 232 | @pytest.mark.parametrize('basis', [build_FF, build_FC, build_CC, build_FFF, build_FFC]) |
nothing calls this directly
no test coverage detected