/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck/utility/container_helper.hpp File Reference#
container_helper.hpp File Reference
#include "sequence.hpp"
#include "sequence_helper.hpp"
#include "array.hpp"
#include "tuple.hpp"
#include "tuple_helper.hpp"
#include "statically_indexed_array.hpp"
#include "container_element_picker.hpp"
Go to the source code of this file.
Namespaces | |
ck | |
Functions | |
template<typename TData , index_t NSize> | |
__host__ constexpr __device__ auto | ck::container_push_back (const Array< TData, NSize > &a, const TData &x) |
template<typename... Ts, typename T > | |
__host__ constexpr __device__ auto | ck::container_push_front (const Tuple< Ts... > &a, const T &x) |
template<typename... Ts, typename T > | |
__host__ constexpr __device__ auto | ck::container_push_back (const Tuple< Ts... > &a, const T &x) |
template<typename TData , index_t NSize, index_t... IRs> | |
__host__ constexpr __device__ auto | ck::container_reorder_given_new2old (const Array< TData, NSize > &old_array, Sequence< IRs... >) |
template<typename TData , index_t NSize, index_t... IRs> | |
__host__ constexpr __device__ auto | ck::container_reorder_given_old2new (const Array< TData, NSize > &old_array, Sequence< IRs... > old2new) |
template<typename... Ts, index_t... IRs> | |
__host__ constexpr __device__ auto | ck::container_reorder_given_new2old (const Tuple< Ts... > &old_tuple, Sequence< IRs... >) |
template<typename... Ts, index_t... IRs> | |
__host__ constexpr __device__ auto | ck::container_reorder_given_old2new (const Tuple< Ts... > &old_tuple, Sequence< IRs... > old2new) |
template<index_t... Is, index_t... IRs> | |
__host__ constexpr __device__ auto | ck::container_reorder_given_new2old (Sequence< Is... >, Sequence< IRs... >) |
template<index_t... Is, index_t... IRs> | |
__host__ constexpr __device__ auto | ck::container_reorder_given_old2new (Sequence< Is... > old_seq, Sequence< IRs... >) |
template<typename Container , typename Reduce , typename Init , index_t IBegin = 0, index_t IEnd = Container::Size(), index_t IStep = 1> | |
__host__ constexpr __device__ auto | ck::container_reduce (const Container &x, Reduce reduce, Init init, Number< IBegin >=Number< 0 >{}, Number< IEnd >=Number< Container::Size()>{}, Number< IStep >=Number< 1 >{}) |
template<typename TData , index_t NSize, typename Reduce > | |
__host__ constexpr __device__ auto | ck::container_reverse_inclusive_scan (const Array< TData, NSize > &x, Reduce f, TData init) |
template<typename TData , index_t NSize, typename Reduce > | |
__host__ constexpr __device__ auto | ck::container_reverse_exclusive_scan (const Array< TData, NSize > &x, Reduce f, TData init) |
template<index_t... Is, typename Reduce , index_t Init> | |
__host__ constexpr __device__ auto | ck::container_reverse_exclusive_scan (const Sequence< Is... > &seq, Reduce f, Number< Init >) |
template<typename... Xs, typename Reduce , typename Init > | |
__host__ constexpr __device__ auto | ck::container_reverse_exclusive_scan (const Tuple< Xs... > &x, Reduce reduce, Init init) |
template<typename... Xs, typename Reduce , typename TData > | |
__host__ constexpr __device__ auto | ck::container_reverse_inclusive_scan (const Tuple< Xs... > &x, Reduce f, TData init) |
template<typename X , typename... Ys> | |
__host__ constexpr __device__ auto | ck::container_concat (const X &x, const Ys &... ys) |
template<typename T , index_t NX, index_t NY> | |
__host__ constexpr __device__ auto | ck::container_concat (const Array< T, NX > &ax, const Array< T, NY > &ay) |
template<typename... X, typename... Y> | |
__host__ constexpr __device__ auto | ck::container_concat (const Tuple< X... > &tx, const Tuple< Y... > &ty) |
template<typename Container > | |
__host__ constexpr __device__ auto | ck::container_concat (const Container &x) |
template<typename T , index_t N, index_t... Is> | |
__host__ constexpr __device__ auto | ck::get_container_subset (const Array< T, N > &arr, Sequence< Is... >) |
template<typename... Ts, index_t... Is> | |
__host__ constexpr __device__ auto | ck::get_container_subset (const Tuple< Ts... > &tup, Sequence< Is... >) |
template<typename T , index_t N, index_t... Is> | |
__host__ constexpr __device__ void | ck::set_container_subset (Array< T, N > &y, Sequence< Is... > picks, const Array< T, sizeof...(Is)> &x) |
template<typename... Ys, index_t... Is, typename... Xs> | |
__host__ constexpr __device__ void | ck::set_container_subset (Tuple< Ys... > &y, Sequence< Is... > picks, const Tuple< Xs... > &x) |
template<index_t... Is> | |
__host__ constexpr __device__ auto | ck::sequence_to_tuple_of_number (Sequence< Is... >) |