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

Documentation

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

Outer algorithm automatic loop unwinding.

Template Parameters
NThe number of steps to unwind

Definition at line 94 of file outer.h.

Public Types

typedef OuterVectorOpUnwind< N - 1 > OuterVectorOpUnwindN1
 

Static Public Member Functions

template<typename X , typename Y , typename Result , typename Op >
static TILEDARRAY_FORCE_INLINE void outer (const X *const x_block, const Y *const y_block, Result *const result, const std::size_t stride, const Op &op)
 
template<typename X , typename Y , typename Init , typename Result , typename Op >
static TILEDARRAY_FORCE_INLINE void fill (const X *const x_block, const Y *const y_block, const Init *const init, Result *const result, const std::size_t stride, const Op &op)
 
template<typename X , typename Y , typename Result , typename Op >
static TILEDARRAY_FORCE_INLINE void fill (const X *const x_block, const Y *const y_block, Result *MADNESS_RESTRICT const result, const std::size_t stride, const Op &op)
 

Static Public Attributes

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

Member Typedef Documentation

◆ OuterVectorOpUnwindN1

Definition at line 96 of file outer.h.

Member Function Documentation

◆ fill() [1/2]

template<std::size_t N>
template<typename X , typename Y , typename Init , typename Result , typename Op >
static TILEDARRAY_FORCE_INLINE void TiledArray::math::OuterVectorOpUnwind< N >::fill ( const X *const  x_block,
const Y *const  y_block,
const Init *const  init,
Result *const  result,
const std::size_t  stride,
const Op &  op 
)
inlinestatic

Definition at line 121 of file outer.h.

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

◆ fill() [2/2]

template<std::size_t N>
template<typename X , typename Y , typename Result , typename Op >
static TILEDARRAY_FORCE_INLINE void TiledArray::math::OuterVectorOpUnwind< N >::fill ( const X *const  x_block,
const Y *const  y_block,
Result *MADNESS_RESTRICT const  result,
const std::size_t  stride,
const Op &  op 
)
inlinestatic

Definition at line 140 of file outer.h.

Here is the call graph for this function:

◆ outer()

template<std::size_t N>
template<typename X , typename Y , typename Result , typename Op >
static TILEDARRAY_FORCE_INLINE void TiledArray::math::OuterVectorOpUnwind< N >::outer ( const X *const  x_block,
const Y *const  y_block,
Result *const  result,
const std::size_t  stride,
const Op &  op 
)
inlinestatic

Definition at line 101 of file outer.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>
const std::size_t TiledArray::math::OuterVectorOpUnwind< N >::offset = TILEDARRAY_LOOP_UNWIND - N - 1
static

Definition at line 98 of file outer.h.


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