/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck/utility/sequence.hpp File Reference#
sequence.hpp File Reference
#include <ostream>#include "ck/utility/integral_constant.hpp"#include "ck/utility/type.hpp"#include "ck/utility/functional.hpp"#include "ck/utility/math.hpp"Go to the source code of this file.
Namespaces | |
| ck | |
| ck::impl | |
| ck::sort_impl | |
| ck::detail | |
Typedefs | |
| template<index_t N> | |
| using | ck::make_index_sequence = typename __make_integer_seq< impl::__integer_sequence, index_t, N >::seq_type |
| template<bool Unique, typename Seq , typename Compare , typename Equal > | |
| using | ck::sort_impl::sorted_sequences_t = SortedSequences< Unique, Seq, Compare, Equal, typename arithmetic_sequence_gen< 0, SortedCache< Unique, Seq, Compare, Equal >::data.size, 1 >::type > |
| using | ck::sort_impl::Equal = ck::math::equal< index_t > |
| template<typename Sx , typename Sy > | |
| using | ck::sequence_merge_t = typename sequence_merge< Sx, Sy >::type |
| template<index_t NSize, index_t I> | |
| using | ck::uniform_sequence_gen_t = typename uniform_sequence_gen< NSize, I >::type |
Enumerations | |
| enum class | ck::sort_impl::SortField { ck::sort_impl::Values , ck::sort_impl::Ids } |
Functions | |
| template<index_t I, index_t... Is> | |
| __host__ constexpr __device__ auto | ck::sequence_pop_front (Sequence< I, Is... >) |
| template<typename Seq > | |
| __host__ constexpr __device__ auto | ck::sequence_pop_back (Seq) |
| template<index_t... Is> | |
| constexpr auto | ck::sort_impl::make_indexed_value_array (Sequence< Is... >) |
| template<index_t N, typename Compare > | |
| constexpr auto | ck::sort_impl::insertion_sort (IndexedValueArray< N > arr, Compare comp) |
| template<index_t N, typename Equal > | |
| constexpr auto | ck::sort_impl::unique (const IndexedValueArray< N > &sorted, Equal eq) |
| template<bool Unique, typename Compare , typename Equal , index_t... Is> | |
| constexpr auto | ck::sort_impl::compute_sorted (Sequence< Is... > seq, Compare comp, Equal eq) |
| template<SortField Field, bool Unique, typename Seq , typename Compare , typename Equal , index_t I> | |
| constexpr index_t | ck::sort_impl::get_sorted_field () |
| template<index_t... Xs, index_t... Ys> | |
| __host__ constexpr __device__ bool | ck::operator== (Sequence< Xs... >, Sequence< Ys... >) |
| template<index_t... Xs, index_t... Ys> | |
| __host__ constexpr __device__ auto | ck::operator+ (Sequence< Xs... >, Sequence< Ys... >) |
| template<index_t... Xs, index_t... Ys> | |
| __host__ constexpr __device__ auto | ck::operator- (Sequence< Xs... >, Sequence< Ys... >) |
| template<index_t... Xs, index_t... Ys> | |
| __host__ constexpr __device__ auto | ck::operator* (Sequence< Xs... >, Sequence< Ys... >) |
| template<index_t... Xs, index_t... Ys> | |
| __host__ constexpr __device__ auto | ck::operator/ (Sequence< Xs... >, Sequence< Ys... >) |
| template<index_t... Xs, index_t... Ys> | |
| __host__ constexpr __device__ auto | ck::operator% (Sequence< Xs... >, Sequence< Ys... >) |
| template<index_t... Xs, index_t Y> | |
| __host__ constexpr __device__ auto | ck::operator+ (Sequence< Xs... >, Number< Y >) |
| template<index_t... Xs, index_t Y> | |
| __host__ constexpr __device__ auto | ck::operator- (Sequence< Xs... >, Number< Y >) |
| template<index_t... Xs, index_t Y> | |
| __host__ constexpr __device__ auto | ck::operator* (Sequence< Xs... >, Number< Y >) |
| template<index_t... Xs, index_t Y> | |
| __host__ constexpr __device__ auto | ck::operator/ (Sequence< Xs... >, Number< Y >) |
| template<index_t... Xs, index_t Y> | |
| __host__ constexpr __device__ auto | ck::operator% (Sequence< Xs... >, Number< Y >) |
| template<index_t Y, index_t... Xs> | |
| __host__ constexpr __device__ auto | ck::operator+ (Number< Y >, Sequence< Xs... >) |
| template<index_t Y, index_t... Xs> | |
| __host__ constexpr __device__ auto | ck::operator- (Number< Y >, Sequence< Xs... >) |
| template<index_t Y, index_t... Xs> | |
| __host__ constexpr __device__ auto | ck::operator* (Number< Y >, Sequence< Xs... >) |
| template<index_t Y, index_t... Xs> | |
| __host__ constexpr __device__ auto | ck::operator/ (Number< Y >, Sequence< Xs... >) |
| template<index_t Y, index_t... Xs> | |
| __host__ constexpr __device__ auto | ck::operator% (Number< Y >, Sequence< Xs... >) |
| template<typename... Seqs> | |
| __host__ constexpr __device__ auto | ck::merge_sequences (Seqs...) |
| template<typename F , index_t... Xs> | |
| __host__ constexpr __device__ auto | ck::transform_sequences (F f, Sequence< Xs... >) |
| template<typename F , index_t... Xs, index_t... Ys> | |
| __host__ constexpr __device__ auto | ck::transform_sequences (F f, Sequence< Xs... >, Sequence< Ys... >) |
| template<typename F , index_t... Xs, index_t... Ys, index_t... Zs> | |
| __host__ constexpr __device__ auto | ck::transform_sequences (F f, Sequence< Xs... >, Sequence< Ys... >, Sequence< Zs... >) |
| template<typename Seq , typename Reduce , index_t Init> | |
| __host__ constexpr __device__ auto | ck::reverse_inclusive_scan_sequence (Seq, Reduce, Number< Init >) |
| template<typename Seq , typename Reduce , index_t Init> | |
| __host__ constexpr __device__ auto | ck::reverse_exclusive_scan_sequence (Seq, Reduce, Number< Init >) |
| template<typename Seq , typename Reduce , index_t Init> | |
| __host__ constexpr __device__ auto | ck::inclusive_scan_sequence (Seq, Reduce, Number< Init >) |
| template<typename Seq , index_t... Is> | |
| __host__ constexpr __device__ auto | ck::pick_sequence_elements_by_ids (Seq, Sequence< Is... >) |
| template<typename Seq , typename Mask > | |
| __host__ constexpr __device__ auto | ck::pick_sequence_elements_by_mask (Seq, Mask) |
| template<typename Seq , typename Values , typename Ids > | |
| __host__ constexpr __device__ auto | ck::modify_sequence_elements_by_ids (Seq, Values, Ids) |
| template<typename Seq , typename Reduce , index_t Init> | |
| __host__ constexpr __device__ index_t | ck::reduce_on_sequence (Seq, Reduce f, Number< Init >) |
| template<typename Seq , typename F > | |
| __host__ constexpr __device__ bool | ck::sequence_any_of (Seq, F f) |
| template<typename Seq , typename F > | |
| __host__ constexpr __device__ bool | ck::sequence_all_of (Seq, F f) |
| template<ck::index_t... Is> | |
| std::ostream & | operator<< (std::ostream &os, const ck::Sequence< Is... >) |
Function Documentation
◆ operator<<()
template<ck::index_t... Is>
| std::ostream& operator<< | ( | std::ostream & | os, |
| const ck::Sequence< Is... > | |||
| ) |