19 template<
typename TDim,
typename TIdx>
34 template<
typename TDim,
typename TIdx>
35 struct DimType<bt::IdxBtLinear<TDim, TIdx>>
41 template<
typename TDim,
typename TIdx>
42 struct GetIdx<bt::IdxBtLinear<TDim, TIdx>, origin::Block, unit::Threads>
45 template<
typename TWorkDiv>
48 return mapIdx<TDim::value>(
50 getWorkDiv<Block, Threads>(workDiv));
54 template<
typename TIdx>
55 struct GetIdx<bt::IdxBtLinear<DimInt<1u>, TIdx>, origin::Block, unit::Threads>
58 template<
typename TWorkDiv>
61 return idx.m_blockThreadIdx;
66 template<
typename TDim,
typename TIdx>
67 struct IdxType<bt::IdxBtLinear<TDim, TIdx>>
General ND bt index provider based on a linear index.
IdxBtLinear(TIdx blockThreadIdx)
const TIdx m_blockThreadIdx
The alpaka accelerator library.
std::integral_constant< std::size_t, N > DimInt
Tag used in class inheritance hierarchies that describes that a specific interface (TInterface) is im...
The dimension getter type trait.
static auto getIdx(bt::IdxBtLinear< DimInt< 1u >, TIdx > const &idx, TWorkDiv const &) -> Vec< DimInt< 1u >, TIdx >
static auto getIdx(bt::IdxBtLinear< TDim, TIdx > const &idx, TWorkDiv const &workDiv) -> Vec< TDim, TIdx >