TiledArray::math::TransposeUnwind< N > Class Template Reference

Documentation

template<std::size_t N>
class TiledArray::math::TransposeUnwind< N >

Partial transpose algorithm automatic loop unwinding.

Template Parameters
NThe number of steps to unwind

Definition at line 69 of file transpose.h.

Public Types

typedef TransposeUnwind< N - 1 > TransposeUnwindN1
 

Static Public Member Functions

template<typename Op , typename Result , typename... Args>
static TILEDARRAY_FORCE_INLINE void gather_trans (Op &&op, Result *MADNESS_RESTRICT const result, const std::size_t arg_stride, const Args *MADNESS_RESTRICT const ... args)
 
template<typename Op , typename Result >
static TILEDARRAY_FORCE_INLINE void block_scatter (Op &&op, Result *const result, const Result *const arg, const std::size_t result_stride)
 

Static Public Attributes

static constexpr std::size_t offset = TILEDARRAY_LOOP_UNWIND - N - 1
 

Member Typedef Documentation

◆ TransposeUnwindN1

template<std::size_t N>
typedef TransposeUnwind<N - 1> TiledArray::math::TransposeUnwind< N >::TransposeUnwindN1

Definition at line 71 of file transpose.h.

Member Function Documentation

◆ block_scatter()

template<std::size_t N>
template<typename Op , typename Result >
static TILEDARRAY_FORCE_INLINE void TiledArray::math::TransposeUnwind< N >::block_scatter ( Op &&  op,
Result *const  result,
const Result *const  arg,
const std::size_t  result_stride 
)
inlinestatic

Definition at line 94 of file transpose.h.

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

◆ gather_trans()

template<std::size_t N>
template<typename Op , typename Result , typename... Args>
static TILEDARRAY_FORCE_INLINE void TiledArray::math::TransposeUnwind< N >::gather_trans ( Op &&  op,
Result *MADNESS_RESTRICT const  result,
const std::size_t  arg_stride,
const Args *MADNESS_RESTRICT const ...  args 
)
inlinestatic

Definition at line 76 of file transpose.h.

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

Member Data Documentation

◆ offset

template<std::size_t N>
constexpr std::size_t TiledArray::math::TransposeUnwind< N >::offset = TILEDARRAY_LOOP_UNWIND - N - 1
staticconstexpr

Definition at line 73 of file transpose.h.


The documentation for this class was generated from the following file: