MCPcopy Create free account
hub / github.com/DedalusProject/dedalus / test_transpose_explicit

Function test_transpose_explicit

dedalus/tests/test_cartesian_operators.py:218–229  ·  view source on GitHub ↗

Test explicit evaluation of transpose operator for correctness.

(basis, N, dealias, dtype, layout)

Source from the content-addressed store, hash-verified

216@pytest.mark.parametrize('dtype', dtype_range)
217@pytest.mark.parametrize('layout', ['c', 'g'])
218def 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])

Callers

nothing calls this directly

Calls 4

TensorFieldMethod · 0.80
fill_randomMethod · 0.80
change_layoutMethod · 0.80
evaluateMethod · 0.45

Tested by

no test coverage detected