SyTen

◆ transpose_recursive_impl()

template<Rank rank, typename Scalar >
void syten::transpose_recursive_impl ( ConstSpan< Scalar > const  inp,
MutSpan< Scalar >  out,
[[maybe_unused] ] MutSpan< Scalar >  workspace,
[[maybe_unused] ] ConstSpan< IndexNumber perm,
[[maybe_unused] ] ConstSpan< Index dim 
)

Implementation of the recursive dense tensor transposition.

Remarks
During the recursive descend, the rank may be reduced to one or two, so we need to handle those specifically again here.

References syten::LimVec< Type, max, MaxType, type >::begin(), syten::SpanImpl::MutSpan< T >::begin(), syten::Deparallelise::cols(), std::copy(), syten::RepRegister::dim(), syten::LimVec< Type, max, MaxType, type >::end(), if_constexpr, std::is_sorted(), rank(), syten::Deparallelise::rows(), and SYTEN_ASSERT.

+ Here is the call graph for this function: