SyTen

◆ transpose_r2() [1/2]

template<typename Scalar , Index use_library = 1>
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.

Template Parameters
Scalarscalar type of the array
use_librarymethod 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.
Parameters
inpinput span (row-major)
outoutput span (row-major)
inp_rowsnumber of rows in input range
inp_colsnumber of columns in input range
conjwhether 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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: