Sequence< Is > Struct Template Reference

Sequence&lt; Is &gt; Struct Template Reference#

Composable Kernel: ck::Sequence< Is > Struct Template Reference

#include <sequence.hpp>

Public Types

using Type = Sequence
 
using data_type = index_t
 

Public Member Functions

template<typename I >
__host__ constexpr __device__ auto operator[] (I i) const
 

Static Public Member Functions

__host__ static constexpr __device__ auto Size ()
 
__host__ static constexpr __device__ auto GetSize ()
 
__host__ static constexpr __device__ index_t At (index_t I)
 
template<index_t I>
__host__ static constexpr __device__ auto At (Number< I >)
 
template<index_t I>
__host__ static constexpr __device__ auto Get (Number< I >)
 
template<index_t... IRs>
__host__ static constexpr __device__ auto ReorderGivenNew2Old (Sequence< IRs... >)
 
template<typename MapOld2New >
__host__ static constexpr __device__ auto ReorderGivenOld2New (MapOld2New)
 
__host__ static constexpr __device__ auto Reverse ()
 
__host__ static constexpr __device__ auto Front ()
 
__host__ static constexpr __device__ auto Back ()
 
__host__ static constexpr __device__ auto PopFront ()
 
__host__ static constexpr __device__ auto PopBack ()
 
template<index_t... Xs>
__host__ static constexpr __device__ auto PushFront (Sequence< Xs... >)
 
template<index_t... Xs>
__host__ static constexpr __device__ auto PushFront (Number< Xs >...)
 
template<index_t... Xs>
__host__ static constexpr __device__ auto PushBack (Sequence< Xs... >)
 
template<index_t... Xs>
__host__ static constexpr __device__ auto PushBack (Number< Xs >...)
 
template<index_t... Ns>
__host__ static constexpr __device__ auto Extract (Number< Ns >...)
 
template<index_t... Ns>
__host__ static constexpr __device__ auto Extract (Sequence< Ns... >)
 
template<index_t I, index_t X>
__host__ static constexpr __device__ auto Modify (Number< I >, Number< X >)
 
template<typename F >
__host__ static constexpr __device__ auto Transform (F f)
 
__host__ static __device__ void Print ()
 

Static Public Attributes

static constexpr index_t mSize = sizeof...(Is)
 

Member Typedef Documentation

◆ data_type

template<index_t... Is>
using ck::Sequence< Is >::data_type = index_t

◆ Type

template<index_t... Is>
using ck::Sequence< Is >::Type = Sequence

Member Function Documentation

◆ At() [1/2]

template<index_t... Is>
__host__ static constexpr __device__ index_t ck::Sequence< Is >::At ( index_t  I)
inlinestaticconstexpr

◆ At() [2/2]

template<index_t... Is>
template<index_t I>
__host__ static constexpr __device__ auto ck::Sequence< Is >::At ( Number< I >  )
inlinestaticconstexpr

◆ Back()

template<index_t... Is>
__host__ static constexpr __device__ auto ck::Sequence< Is >::Back ( )
inlinestaticconstexpr

◆ Extract() [1/2]

template<index_t... Is>
template<index_t... Ns>
__host__ static constexpr __device__ auto ck::Sequence< Is >::Extract ( Number< Ns >  ...)
inlinestaticconstexpr

◆ Extract() [2/2]

template<index_t... Is>
template<index_t... Ns>
__host__ static constexpr __device__ auto ck::Sequence< Is >::Extract ( Sequence< Ns... >  )
inlinestaticconstexpr

◆ Front()

template<index_t... Is>
__host__ static constexpr __device__ auto ck::Sequence< Is >::Front ( )
inlinestaticconstexpr

◆ Get()

template<index_t... Is>
template<index_t I>
__host__ static constexpr __device__ auto ck::Sequence< Is >::Get ( Number< I >  )
inlinestaticconstexpr

◆ GetSize()

template<index_t... Is>
__host__ static constexpr __device__ auto ck::Sequence< Is >::GetSize ( )
inlinestaticconstexpr

◆ Modify()

template<index_t... Is>
template<index_t I, index_t X>
__host__ static constexpr __device__ auto ck::Sequence< Is >::Modify ( Number< I >  ,
Number< X >   
)
inlinestaticconstexpr

◆ operator[]()

template<index_t... Is>
template<typename I >
__host__ constexpr __device__ auto ck::Sequence< Is >::operator[] ( i) const
inlineconstexpr

◆ PopBack()

template<index_t... Is>
__host__ static constexpr __device__ auto ck::Sequence< Is >::PopBack ( )
inlinestaticconstexpr

◆ PopFront()

template<index_t... Is>
__host__ static constexpr __device__ auto ck::Sequence< Is >::PopFront ( )
inlinestaticconstexpr

◆ Print()

template<index_t... Is>
__host__ static __device__ void ck::Sequence< Is >::Print ( )
inlinestatic

◆ PushBack() [1/2]

template<index_t... Is>
template<index_t... Xs>
__host__ static constexpr __device__ auto ck::Sequence< Is >::PushBack ( Number< Xs >  ...)
inlinestaticconstexpr

◆ PushBack() [2/2]

template<index_t... Is>
template<index_t... Xs>
__host__ static constexpr __device__ auto ck::Sequence< Is >::PushBack ( Sequence< Xs... >  )
inlinestaticconstexpr

◆ PushFront() [1/2]

template<index_t... Is>
template<index_t... Xs>
__host__ static constexpr __device__ auto ck::Sequence< Is >::PushFront ( Number< Xs >  ...)
inlinestaticconstexpr

◆ PushFront() [2/2]

template<index_t... Is>
template<index_t... Xs>
__host__ static constexpr __device__ auto ck::Sequence< Is >::PushFront ( Sequence< Xs... >  )
inlinestaticconstexpr

◆ ReorderGivenNew2Old()

template<index_t... Is>
template<index_t... IRs>
__host__ static constexpr __device__ auto ck::Sequence< Is >::ReorderGivenNew2Old ( Sequence< IRs... >  )
inlinestaticconstexpr

◆ ReorderGivenOld2New()

template<index_t... Is>
template<typename MapOld2New >
__host__ static constexpr __device__ auto ck::Sequence< Is >::ReorderGivenOld2New ( MapOld2New  )
inlinestaticconstexpr

◆ Reverse()

template<index_t... Is>
__host__ static constexpr __device__ auto ck::Sequence< Is >::Reverse ( )
inlinestaticconstexpr

◆ Size()

template<index_t... Is>
__host__ static constexpr __device__ auto ck::Sequence< Is >::Size ( )
inlinestaticconstexpr

◆ Transform()

template<index_t... Is>
template<typename F >
__host__ static constexpr __device__ auto ck::Sequence< Is >::Transform ( f)
inlinestaticconstexpr

Member Data Documentation

◆ mSize

template<index_t... Is>
constexpr index_t ck::Sequence< Is >::mSize = sizeof...(Is)
staticconstexpr

The documentation for this struct was generated from the following file:
  • /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck/utility/sequence.hpp