sequence_sort_impl< Values, Ids, Compare > Struct Template Reference

sequence_sort_impl&lt; Values, Ids, Compare &gt; Struct Template Reference#

Composable Kernel: ck_tile::sequence_sort_impl< Values, Ids, Compare > Struct Template Reference
ck_tile::sequence_sort_impl< Values, Ids, Compare > Struct Template Reference

#include <sequence.hpp>

Classes

struct  sorted_sequence_merge_impl
struct  sorted_sequence_merge_impl< LeftValues, LeftIds, sequence<>, sequence<>, MergedValues, MergedIds, Comp >
struct  sorted_sequence_merge_impl< sequence<>, sequence<>, RightValues, RightIds, MergedValues, MergedIds, Comp >
struct  sorted_sequence_merge

Public Types

using split_unsorted_values = sequence_split<Values, nsize / 2>
using split_unsorted_ids = sequence_split<Ids, nsize / 2>
using left_unsorted_values = typename split_unsorted_values::left_type
using left_unsorted_ids = typename split_unsorted_ids::left_type
using left_sort = sequence_sort_impl<left_unsorted_values, left_unsorted_ids, Compare>
using left_sorted_values = typename left_sort::sorted_values
using left_sorted_ids = typename left_sort::sorted_ids
using right_unsorted_values = typename split_unsorted_values::right_type
using right_unsorted_ids = typename split_unsorted_ids::right_type
using right_sort = sequence_sort_impl<right_unsorted_values, right_unsorted_ids, Compare>
using right_sorted_values = typename right_sort::sorted_values
using right_sorted_ids = typename right_sort::sorted_ids
using merged_sorted
using sorted_values = typename merged_sorted::merged_values
using sorted_ids = typename merged_sorted::merged_ids

Static Public Attributes

static constexpr index_t nsize = Values::size()

Member Typedef Documentation

◆ left_sort

template<typename Values, typename Ids, typename Compare>
using ck_tile::sequence_sort_impl< Values, Ids, Compare >::left_sort = sequence_sort_impl<left_unsorted_values, left_unsorted_ids, Compare>

◆ left_sorted_ids

template<typename Values, typename Ids, typename Compare>
using ck_tile::sequence_sort_impl< Values, Ids, Compare >::left_sorted_ids = typename left_sort::sorted_ids

◆ left_sorted_values

template<typename Values, typename Ids, typename Compare>
using ck_tile::sequence_sort_impl< Values, Ids, Compare >::left_sorted_values = typename left_sort::sorted_values

◆ left_unsorted_ids

template<typename Values, typename Ids, typename Compare>
using ck_tile::sequence_sort_impl< Values, Ids, Compare >::left_unsorted_ids = typename split_unsorted_ids::left_type

◆ left_unsorted_values

template<typename Values, typename Ids, typename Compare>
using ck_tile::sequence_sort_impl< Values, Ids, Compare >::left_unsorted_values = typename split_unsorted_values::left_type

◆ merged_sorted

template<typename Values, typename Ids, typename Compare>
using ck_tile::sequence_sort_impl< Values, Ids, Compare >::merged_sorted
Initial value:
Compare>
Definition utility/sequence.hpp:466
typename left_sort::sorted_values left_sorted_values
Definition utility/sequence.hpp:487
typename right_sort::sorted_values right_sorted_values
Definition utility/sequence.hpp:493
typename left_sort::sorted_ids left_sorted_ids
Definition utility/sequence.hpp:488
typename right_sort::sorted_ids right_sorted_ids
Definition utility/sequence.hpp:494

◆ right_sort

template<typename Values, typename Ids, typename Compare>
using ck_tile::sequence_sort_impl< Values, Ids, Compare >::right_sort = sequence_sort_impl<right_unsorted_values, right_unsorted_ids, Compare>

◆ right_sorted_ids

template<typename Values, typename Ids, typename Compare>
using ck_tile::sequence_sort_impl< Values, Ids, Compare >::right_sorted_ids = typename right_sort::sorted_ids

◆ right_sorted_values

template<typename Values, typename Ids, typename Compare>
using ck_tile::sequence_sort_impl< Values, Ids, Compare >::right_sorted_values = typename right_sort::sorted_values

◆ right_unsorted_ids

template<typename Values, typename Ids, typename Compare>
using ck_tile::sequence_sort_impl< Values, Ids, Compare >::right_unsorted_ids = typename split_unsorted_ids::right_type

◆ right_unsorted_values

template<typename Values, typename Ids, typename Compare>
using ck_tile::sequence_sort_impl< Values, Ids, Compare >::right_unsorted_values = typename split_unsorted_values::right_type

◆ sorted_ids

template<typename Values, typename Ids, typename Compare>
using ck_tile::sequence_sort_impl< Values, Ids, Compare >::sorted_ids = typename merged_sorted::merged_ids

◆ sorted_values

template<typename Values, typename Ids, typename Compare>
using ck_tile::sequence_sort_impl< Values, Ids, Compare >::sorted_values = typename merged_sorted::merged_values

◆ split_unsorted_ids

template<typename Values, typename Ids, typename Compare>
using ck_tile::sequence_sort_impl< Values, Ids, Compare >::split_unsorted_ids = sequence_split<Ids, nsize / 2>

◆ split_unsorted_values

template<typename Values, typename Ids, typename Compare>
using ck_tile::sequence_sort_impl< Values, Ids, Compare >::split_unsorted_values = sequence_split<Values, nsize / 2>

Member Data Documentation

◆ nsize

template<typename Values, typename Ids, typename Compare>
index_t ck_tile::sequence_sort_impl< Values, Ids, Compare >::nsize = Values::size()
staticconstexpr

The documentation for this struct was generated from the following file: