void syten::transpose_r2 | ( | ConstSpan< Scalar > const | inp, |
MutSpan< Scalar > | out, | ||
Index const | inp_rows, | ||
Index const | inp_cols, | ||
Conj const | conj = Conj::n() |
||
) |
Standard entry point for rank-2 transposition of any continous array, handles used backend as necessary.
Scalar | scalar type of the array |
use_library | method choice selection. 1 to always use the direct implementation, 2 to always use the library implementation, 1 (default) to switch between direct and library implementation as considered to be fastest. |
inp | input span (row-major) |
out | output span (row-major) |
inp_rows | number of rows in input range |
inp_cols | number of columns in input range |
conj | whether to complex-conjugate all entries |
References syten::SpanImpl::MutSpan< T >::begin(), conj(), syten::Cuda::conj_copy(), std::copy(), if_constexpr, syten::YesNo< struct _prod_conj >::n(), transpose_r2_direct(), and transpose_r2_lib().
Referenced by syten::CudaDenseTensorImpl::cuda_transpose_r2(), herm(), and transpose().