unmerge< UpLengths, Use24BitIntegerCalculation > Struct Template Reference#
Public Types |
Public Member Functions |
Static Public Member Functions |
Public Attributes |
Static Public Attributes |
List of all members
ck_tile::unmerge< UpLengths, Use24BitIntegerCalculation > Struct Template Reference
#include <coordinate_transform.hpp>
Inheritance diagram for ck_tile::unmerge< UpLengths, Use24BitIntegerCalculation >:

Public Types | |
using | LowerIndex = multi_index< 1 > |
using | UpperIndex = multi_index< NDimUp > |
using | UpLengthsScan = decltype(container_reverse_exclusive_scan(UpLengths{}, multiplies{}, number< 1 >{})) |
Public Member Functions | |
constexpr CK_TILE_HOST_DEVICE | unmerge ()=default |
constexpr CK_TILE_HOST_DEVICE | unmerge (const UpLengths &up_lengths) |
constexpr CK_TILE_HOST_DEVICE const auto & | get_upper_lengths () const |
template<typename LowIdx , typename UpIdx > | |
constexpr CK_TILE_HOST_DEVICE void | calculate_lower_index (LowIdx &idx_low, const UpIdx &idx_up) const |
template<typename LowIdxDiff , typename UpIdxDiff , typename LowIdx , typename UpIdx > | |
CK_TILE_HOST_DEVICE void | update_lower_index (LowIdxDiff &idx_diff_low, const UpIdxDiff &idx_diff_up, LowIdx &idx_low, const UpIdx &) const |
CK_TILE_HOST_DEVICE void | print () const |
Static Public Member Functions | |
static constexpr CK_TILE_HOST_DEVICE auto | get_type_enum () |
static constexpr CK_TILE_HOST_DEVICE bool | is_valid_upper_index_always_mapped_to_valid_lower_index () |
template<typename UpIdx > | |
static constexpr CK_TILE_HOST_DEVICE bool | is_valid_upper_index_mapped_to_valid_lower_index (const UpIdx &) |
static constexpr CK_TILE_HOST_DEVICE bool | is_known_at_compile_time () |
template<typename LowVectorLengths , typename LowVectorStrides > | |
static constexpr CK_TILE_HOST_DEVICE auto | calculate_upper_dimension_safe_vector_length_strides (const LowVectorLengths &low_vector_lengths, const LowVectorStrides &low_vector_strides) |
![]() | |
static constexpr CK_TILE_HOST_DEVICE auto | get_type_enum () |
static constexpr CK_TILE_HOST_DEVICE index_t | get_num_of_lower_dimension () |
static constexpr CK_TILE_HOST_DEVICE index_t | get_num_of_upper_dimension () |
static constexpr CK_TILE_HOST_DEVICE auto | calculate_upper_dimension_safe_vector_length_strides (const LowVectorLengths &, const LowVectorStrides &) |
Public Attributes | |
UpLengths | up_lengths_ |
UpLengthsScan | up_lengths_scan_ |
Static Public Attributes | |
static constexpr index_t | NDimUp = UpLengths::size() |
Member Typedef Documentation
◆ LowerIndex
template<typename UpLengths , bool Use24BitIntegerCalculation>
using ck_tile::unmerge< UpLengths, Use24BitIntegerCalculation >::LowerIndex = multi_index<1> |
◆ UpLengthsScan
template<typename UpLengths , bool Use24BitIntegerCalculation>
using ck_tile::unmerge< UpLengths, Use24BitIntegerCalculation >::UpLengthsScan = decltype(container_reverse_exclusive_scan(UpLengths{}, multiplies{}, number<1>{})) |
◆ UpperIndex
template<typename UpLengths , bool Use24BitIntegerCalculation>
using ck_tile::unmerge< UpLengths, Use24BitIntegerCalculation >::UpperIndex = multi_index<NDimUp> |
Constructor & Destructor Documentation
◆ unmerge() [1/2]
template<typename UpLengths , bool Use24BitIntegerCalculation>
|
constexprdefault |
◆ unmerge() [2/2]
template<typename UpLengths , bool Use24BitIntegerCalculation>
|
inlineconstexpr |
Member Function Documentation
◆ calculate_lower_index()
template<typename UpLengths , bool Use24BitIntegerCalculation>
template<typename LowIdx , typename UpIdx >
|
inlineconstexpr |
◆ calculate_upper_dimension_safe_vector_length_strides()
template<typename UpLengths , bool Use24BitIntegerCalculation>
template<typename LowVectorLengths , typename LowVectorStrides >
|
inlinestaticconstexpr |
◆ get_type_enum()
template<typename UpLengths , bool Use24BitIntegerCalculation>
|
inlinestaticconstexpr |
◆ get_upper_lengths()
template<typename UpLengths , bool Use24BitIntegerCalculation>
|
inlineconstexpr |
◆ is_known_at_compile_time()
template<typename UpLengths , bool Use24BitIntegerCalculation>
|
inlinestaticconstexpr |
◆ is_valid_upper_index_always_mapped_to_valid_lower_index()
template<typename UpLengths , bool Use24BitIntegerCalculation>
|
inlinestaticconstexpr |
◆ is_valid_upper_index_mapped_to_valid_lower_index()
template<typename UpLengths , bool Use24BitIntegerCalculation>
template<typename UpIdx >
|
inlinestaticconstexpr |
◆ print()
template<typename UpLengths , bool Use24BitIntegerCalculation>
|
inline |
◆ update_lower_index()
template<typename UpLengths , bool Use24BitIntegerCalculation>
template<typename LowIdxDiff , typename UpIdxDiff , typename LowIdx , typename UpIdx >
|
inline |
Member Data Documentation
◆ NDimUp
template<typename UpLengths , bool Use24BitIntegerCalculation>
|
staticconstexpr |
◆ up_lengths_
template<typename UpLengths , bool Use24BitIntegerCalculation>
UpLengths ck_tile::unmerge< UpLengths, Use24BitIntegerCalculation >::up_lengths_ |
◆ up_lengths_scan_
template<typename UpLengths , bool Use24BitIntegerCalculation>
UpLengthsScan ck_tile::unmerge< UpLengths, Use24BitIntegerCalculation >::up_lengths_scan_ |
The documentation for this struct was generated from the following file:
- include/ck_tile/core/algorithm/coordinate_transform.hpp