Thrill
0.1
|
Namespaces | |
tlx::parallel_mergesort_detail | |
tlx::sort_strings_detail | |
Parallel Sorting Algorithms | |
template<bool Stable, typename RandomAccessIterator , typename Comparator > | |
void | parallel_mergesort_base (RandomAccessIterator begin, RandomAccessIterator end, Comparator comp, size_t num_threads=std::thread::hardware_concurrency(), MultiwayMergeSplittingAlgorithm mwmsa=MWMSA_DEFAULT) |
Parallel multiway mergesort main call. More... | |
template<typename RandomAccessIterator , typename Comparator = std::less< typename std::iterator_traits<RandomAccessIterator>::value_type>> | |
void | parallel_mergesort (RandomAccessIterator begin, RandomAccessIterator end, Comparator comp=Comparator(), size_t num_threads=std::thread::hardware_concurrency(), MultiwayMergeSplittingAlgorithm mwmsa=MWMSA_DEFAULT) |
Parallel multiway mergesort. More... | |
template<typename RandomAccessIterator , typename Comparator = std::less< typename std::iterator_traits<RandomAccessIterator>::value_type>> | |
void | stable_parallel_mergesort (RandomAccessIterator begin, RandomAccessIterator end, Comparator comp=Comparator(), size_t num_threads=std::thread::hardware_concurrency(), MultiwayMergeSplittingAlgorithm mwmsa=MWMSA_DEFAULT) |
Stable parallel multiway mergesort. More... | |
String Sorting Algorithms | |
static void | sort_strings (unsigned char **strings, size_t size, size_t memory=0) |
Sort a set of strings represented by C-style uint8_t* in place. More... | |
static void | sort_strings (char **strings, size_t size, size_t memory=0) |
Sort a set of strings represented by C-style char* in place. More... | |
static void | sort_strings (const unsigned char **strings, size_t size, size_t memory=0) |
Sort a set of strings represented by C-style uint8_t* in place. More... | |
static void | sort_strings (const char **strings, size_t size, size_t memory=0) |
Sort a set of strings represented by C-style char* in place. More... | |
static void | sort_strings (std::vector< char *> &strings, size_t memory=0) |
Sort a set of strings represented by C-style char* in place. More... | |
static void | sort_strings (std::vector< unsigned char *> &strings, size_t memory=0) |
Sort a set of strings represented by C-style uint8_t* in place. More... | |
static void | sort_strings (std::vector< const char *> &strings, size_t memory=0) |
Sort a set of strings represented by C-style char* in place. More... | |
static void | sort_strings (std::vector< const unsigned char *> &strings, size_t memory=0) |
Sort a set of strings represented by C-style uint8_t* in place. More... | |
static void | sort_strings (std::string *strings, size_t size, size_t memory=0) |
Sort a set of std::strings in place. More... | |
static void | sort_strings (std::vector< std::string > &strings, size_t memory=0) |
Sort a vector of std::strings in place. More... | |
static void | sort_strings_lcp (unsigned char **strings, size_t size, uint32_t *lcp, size_t memory=0) |
Sort a set of strings represented by C-style uint8_t* in place. More... | |
static void | sort_strings_lcp (char **strings, size_t size, uint32_t *lcp, size_t memory=0) |
Sort a set of strings represented by C-style char* in place. More... | |
static void | sort_strings_lcp (const unsigned char **strings, size_t size, uint32_t *lcp, size_t memory=0) |
Sort a set of strings represented by C-style uint8_t* in place. More... | |
static void | sort_strings_lcp (const char **strings, size_t size, uint32_t *lcp, size_t memory=0) |
Sort a set of strings represented by C-style char* in place. More... | |
static void | sort_strings_lcp (std::vector< char *> &strings, uint32_t *lcp, size_t memory=0) |
Sort a set of strings represented by C-style char* in place. More... | |
static void | sort_strings_lcp (std::vector< unsigned char *> &strings, uint32_t *lcp, size_t memory=0) |
Sort a set of strings represented by C-style uint8_t* in place. More... | |
static void | sort_strings_lcp (std::vector< const char *> &strings, uint32_t *lcp, size_t memory=0) |
Sort a set of strings represented by C-style char* in place. More... | |
static void | sort_strings_lcp (std::vector< const unsigned char *> &strings, uint32_t *lcp, size_t memory=0) |
Sort a set of strings represented by C-style uint8_t* in place. More... | |
static void | sort_strings_lcp (std::string *strings, size_t size, uint32_t *lcp, size_t memory=0) |
Sort a set of std::strings in place. More... | |
static void | sort_strings_lcp (std::vector< std::string > &strings, uint32_t *lcp, size_t memory=0) |
Sort a vector of std::strings in place. More... | |
static void | sort_strings_parallel (unsigned char **strings, size_t size, size_t memory=0) |
Sort a set of strings in parallel represented by C-style uint8_t* in place. More... | |
static void | sort_strings_parallel (char **strings, size_t size, size_t memory=0) |
Sort a set of strings in parallel represented by C-style char* in place. More... | |
static void | sort_strings_parallel (const unsigned char **strings, size_t size, size_t memory=0) |
Sort a set of strings in parallel represented by C-style uint8_t* in place. More... | |
static void | sort_strings_parallel (const char **strings, size_t size, size_t memory=0) |
Sort a set of strings in parallel represented by C-style char* in place. More... | |
static void | sort_strings_parallel (std::vector< char *> &strings, size_t memory=0) |
Sort a set of strings in parallel represented by C-style char* in place. More... | |
static void | sort_strings_parallel (std::vector< unsigned char *> &strings, size_t memory=0) |
Sort a set of strings in parallel represented by C-style uint8_t* in place. More... | |
static void | sort_strings_parallel (std::vector< const char *> &strings, size_t memory=0) |
Sort a set of strings in parallel represented by C-style char* in place. More... | |
static void | sort_strings_parallel (std::vector< const unsigned char *> &strings, size_t memory=0) |
Sort a set of strings in parallel represented by C-style uint8_t* in place. More... | |
static void | sort_strings_parallel (std::string *strings, size_t size, size_t memory=0) |
Sort a set of std::strings in place in parallel. More... | |
static void | sort_strings_parallel (std::vector< std::string > &strings, size_t memory=0) |
Sort a vector of std::strings in place in parallel. More... | |
static void | sort_strings_parallel_lcp (unsigned char **strings, size_t size, uint32_t *lcp, size_t memory=0) |
Sort a set of strings in parallel represented by C-style uint8_t* in place. More... | |
static void | sort_strings_parallel_lcp (char **strings, size_t size, uint32_t *lcp, size_t memory=0) |
Sort a set of strings in parallel represented by C-style char* in place. More... | |
static void | sort_strings_parallel_lcp (const unsigned char **strings, size_t size, uint32_t *lcp, size_t memory=0) |
Sort a set of strings in parallel represented by C-style uint8_t* in place. More... | |
static void | sort_strings_parallel_lcp (const char **strings, size_t size, uint32_t *lcp, size_t memory=0) |
Sort a set of strings in parallel represented by C-style char* in place. More... | |
static void | sort_strings_parallel_lcp (std::vector< char *> &strings, uint32_t *lcp, size_t memory=0) |
Sort a set of strings in parallel represented by C-style char* in place. More... | |
static void | sort_strings_parallel_lcp (std::vector< unsigned char *> &strings, uint32_t *lcp, size_t memory=0) |
Sort a set of strings in parallel represented by C-style uint8_t* in place. More... | |
static void | sort_strings_parallel_lcp (std::vector< const char *> &strings, uint32_t *lcp, size_t memory=0) |
Sort a set of strings in parallel represented by C-style char* in place. More... | |
static void | sort_strings_parallel_lcp (std::vector< const unsigned char *> &strings, uint32_t *lcp, size_t memory=0) |
Sort a set of strings in parallel represented by C-style uint8_t* in place. More... | |
static void | sort_strings_parallel_lcp (std::string *strings, size_t size, uint32_t *lcp, size_t memory=0) |
Sort a set of std::strings in place in parallel. More... | |
static void | sort_strings_parallel_lcp (std::vector< std::string > &strings, uint32_t *lcp, size_t memory=0) |
Sort a vector of std::strings in place in parallel. More... | |
Specialized Sorting Algorithms
void tlx::parallel_mergesort | ( | RandomAccessIterator | begin, |
RandomAccessIterator | end, | ||
Comparator | comp = Comparator() , |
||
size_t | num_threads = std::thread::hardware_concurrency() , |
||
MultiwayMergeSplittingAlgorithm | mwmsa = MWMSA_DEFAULT |
||
) |
Parallel multiway mergesort.
begin | Begin iterator of sequence. |
end | End iterator of sequence. |
comp | Comparator. |
num_threads | Number of threads to use. |
mwmsa | MultiwayMergeSplittingAlgorithm to use. |
Definition at line 361 of file parallel_mergesort.hpp.
References PMWMSPiece< DiffType >::begin, PMWMSPiece< DiffType >::end, and tlx::parallel_mergesort_base().
void tlx::parallel_mergesort_base | ( | RandomAccessIterator | begin, |
RandomAccessIterator | end, | ||
Comparator | comp, | ||
size_t | num_threads = std::thread::hardware_concurrency() , |
||
MultiwayMergeSplittingAlgorithm | mwmsa = MWMSA_DEFAULT |
||
) |
Parallel multiway mergesort main call.
begin | Begin iterator of sequence. |
end | End iterator of sequence. |
comp | Comparator. |
num_threads | Number of threads to use. |
mwmsa | MultiwayMergeSplittingAlgorithm to use. |
Stable | Stable sorting. |
Definition at line 280 of file parallel_mergesort.hpp.
References PMWMSPiece< DiffType >::begin, tlx::MWMSA_SAMPLING, tlx::parallel_multiway_merge_oversampling, and tlx::split().
Referenced by tlx::parallel_mergesort(), and tlx::stable_parallel_mergesort().
|
inlinestatic |
Sort a set of strings represented by C-style uint8_t* in place.
If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.
Definition at line 40 of file strings.hpp.
References tlx::sort_strings_detail::radixsort_CE3().
Referenced by tlx::sort_strings().
|
inlinestatic |
Sort a set of strings represented by C-style char* in place.
The strings are sorted as unsigned 8-bit characters, not signed characters! If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.
Definition at line 55 of file strings.hpp.
References tlx::sort_strings().
|
inlinestatic |
Sort a set of strings represented by C-style uint8_t* in place.
If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.
Definition at line 67 of file strings.hpp.
References tlx::sort_strings_detail::radixsort_CE3().
|
inlinestatic |
Sort a set of strings represented by C-style char* in place.
The strings are sorted as unsigned 8-bit characters, not signed characters! If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.
Definition at line 83 of file strings.hpp.
References tlx::sort_strings().
|
inlinestatic |
Sort a set of strings represented by C-style char* in place.
The strings are sorted as unsigned 8-bit characters, not signed characters! If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.
Definition at line 98 of file strings.hpp.
References tlx::sort_strings().
|
inlinestatic |
Sort a set of strings represented by C-style uint8_t* in place.
If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.
Definition at line 109 of file strings.hpp.
References tlx::sort_strings().
|
inlinestatic |
Sort a set of strings represented by C-style char* in place.
The strings are sorted as unsigned 8-bit characters, not signed characters! If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.
Definition at line 121 of file strings.hpp.
References tlx::sort_strings().
|
inlinestatic |
Sort a set of strings represented by C-style uint8_t* in place.
If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.
Definition at line 132 of file strings.hpp.
References tlx::sort_strings().
|
inlinestatic |
Sort a set of std::strings in place.
The strings are sorted as unsigned 8-bit characters, not signed characters! If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.
Definition at line 147 of file strings.hpp.
References tlx::sort_strings_detail::radixsort_CE3().
|
inlinestatic |
Sort a vector of std::strings in place.
The strings are sorted as unsigned 8-bit characters, not signed characters! If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.
Definition at line 162 of file strings.hpp.
References tlx::sort_strings().
|
inlinestatic |
Sort a set of strings represented by C-style uint8_t* in place.
If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.
Definition at line 177 of file strings.hpp.
References tlx::sort_strings_detail::radixsort_CE3().
Referenced by tlx::sort_strings_lcp().
|
inlinestatic |
Sort a set of strings represented by C-style char* in place.
The strings are sorted as unsigned 8-bit characters, not signed characters! If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.
Definition at line 194 of file strings.hpp.
References tlx::sort_strings_lcp().
|
inlinestatic |
Sort a set of strings represented by C-style uint8_t* in place.
If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.
Definition at line 207 of file strings.hpp.
References tlx::sort_strings_detail::radixsort_CE3().
|
inlinestatic |
Sort a set of strings represented by C-style char* in place.
The strings are sorted as unsigned 8-bit characters, not signed characters! If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.
Definition at line 224 of file strings.hpp.
References tlx::sort_strings_lcp().
|
inlinestatic |
Sort a set of strings represented by C-style char* in place.
The strings are sorted as unsigned 8-bit characters, not signed characters! If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.
Definition at line 240 of file strings.hpp.
References tlx::sort_strings_lcp().
|
inlinestatic |
Sort a set of strings represented by C-style uint8_t* in place.
If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.
Definition at line 252 of file strings.hpp.
References tlx::sort_strings_lcp().
|
inlinestatic |
Sort a set of strings represented by C-style char* in place.
The strings are sorted as unsigned 8-bit characters, not signed characters! If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.
Definition at line 265 of file strings.hpp.
References tlx::sort_strings_lcp().
|
inlinestatic |
Sort a set of strings represented by C-style uint8_t* in place.
If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.
Definition at line 277 of file strings.hpp.
References tlx::sort_strings_lcp().
|
inlinestatic |
Sort a set of std::strings in place.
The strings are sorted as unsigned 8-bit characters, not signed characters! If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.
Definition at line 292 of file strings.hpp.
References tlx::sort_strings_detail::radixsort_CE3().
|
inlinestatic |
Sort a vector of std::strings in place.
The strings are sorted as unsigned 8-bit characters, not signed characters! If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.
Definition at line 309 of file strings.hpp.
References tlx::sort_strings_lcp().
|
inlinestatic |
Sort a set of strings in parallel represented by C-style uint8_t* in place.
The memory limit is currently not used.
Definition at line 37 of file strings_parallel.hpp.
References tlx::sort_strings_detail::parallel_sample_sort().
Referenced by tlx::sort_strings_parallel().
|
inlinestatic |
Sort a set of strings in parallel represented by C-style char* in place.
The strings are sorted as unsigned 8-bit characters, not signed characters! The memory limit is currently not used.
Definition at line 52 of file strings_parallel.hpp.
References tlx::sort_strings_parallel().
|
inlinestatic |
Sort a set of strings in parallel represented by C-style uint8_t* in place.
The memory limit is currently not used.
Definition at line 63 of file strings_parallel.hpp.
References tlx::sort_strings_detail::parallel_sample_sort().
|
inlinestatic |
Sort a set of strings in parallel represented by C-style char* in place.
The strings are sorted as unsigned 8-bit characters, not signed characters! The memory limit is currently not used.
Definition at line 78 of file strings_parallel.hpp.
References tlx::sort_strings_parallel().
|
inlinestatic |
Sort a set of strings in parallel represented by C-style char* in place.
The strings are sorted as unsigned 8-bit characters, not signed characters! The memory limit is currently not used.
Definition at line 93 of file strings_parallel.hpp.
References tlx::sort_strings_parallel().
|
inlinestatic |
Sort a set of strings in parallel represented by C-style uint8_t* in place.
The memory limit is currently not used.
Definition at line 103 of file strings_parallel.hpp.
References tlx::sort_strings_parallel().
|
inlinestatic |
Sort a set of strings in parallel represented by C-style char* in place.
The strings are sorted as unsigned 8-bit characters, not signed characters! The memory limit is currently not used.
Definition at line 115 of file strings_parallel.hpp.
References tlx::sort_strings_parallel().
|
inlinestatic |
Sort a set of strings in parallel represented by C-style uint8_t* in place.
The memory limit is currently not used.
Definition at line 126 of file strings_parallel.hpp.
References tlx::sort_strings_parallel().
|
inlinestatic |
Sort a set of std::strings in place in parallel.
The strings are sorted as unsigned 8-bit characters, not signed characters! The memory limit is currently not used.
Definition at line 140 of file strings_parallel.hpp.
References tlx::sort_strings_detail::parallel_sample_sort().
|
inlinestatic |
Sort a vector of std::strings in place in parallel.
The strings are sorted as unsigned 8-bit characters, not signed characters! The memory limit is currently not used.
Definition at line 155 of file strings_parallel.hpp.
References tlx::sort_strings_parallel().
|
inlinestatic |
Sort a set of strings in parallel represented by C-style uint8_t* in place.
The memory limit is currently not used.
Definition at line 170 of file strings_parallel.hpp.
References tlx::sort_strings_detail::parallel_sample_sort().
Referenced by tlx::sort_strings_parallel_lcp().
|
inlinestatic |
Sort a set of strings in parallel represented by C-style char* in place.
The strings are sorted as unsigned 8-bit characters, not signed characters! The memory limit is currently not used.
Definition at line 186 of file strings_parallel.hpp.
References tlx::sort_strings_parallel_lcp().
|
inlinestatic |
Sort a set of strings in parallel represented by C-style uint8_t* in place.
The memory limit is currently not used.
Definition at line 198 of file strings_parallel.hpp.
References tlx::sort_strings_detail::parallel_sample_sort().
|
inlinestatic |
Sort a set of strings in parallel represented by C-style char* in place.
The strings are sorted as unsigned 8-bit characters, not signed characters! The memory limit is currently not used.
Definition at line 214 of file strings_parallel.hpp.
References tlx::sort_strings_parallel_lcp().
|
inlinestatic |
Sort a set of strings in parallel represented by C-style char* in place.
The strings are sorted as unsigned 8-bit characters, not signed characters! The memory limit is currently not used.
Definition at line 229 of file strings_parallel.hpp.
References tlx::sort_strings_parallel_lcp().
|
inlinestatic |
Sort a set of strings in parallel represented by C-style uint8_t* in place.
The memory limit is currently not used.
Definition at line 241 of file strings_parallel.hpp.
References tlx::sort_strings_parallel_lcp().
|
inlinestatic |
Sort a set of strings in parallel represented by C-style char* in place.
The strings are sorted as unsigned 8-bit characters, not signed characters! The memory limit is currently not used.
Definition at line 254 of file strings_parallel.hpp.
References tlx::sort_strings_parallel_lcp().
|
inlinestatic |
Sort a set of strings in parallel represented by C-style uint8_t* in place.
The memory limit is currently not used.
Definition at line 266 of file strings_parallel.hpp.
References tlx::sort_strings_parallel_lcp().
|
inlinestatic |
Sort a set of std::strings in place in parallel.
The strings are sorted as unsigned 8-bit characters, not signed characters! The memory limit is currently not used.
Definition at line 281 of file strings_parallel.hpp.
References tlx::sort_strings_detail::parallel_sample_sort().
|
inlinestatic |
Sort a vector of std::strings in place in parallel.
The strings are sorted as unsigned 8-bit characters, not signed characters! The memory limit is currently not used.
Definition at line 297 of file strings_parallel.hpp.
References tlx::sort_strings_parallel_lcp().
void tlx::stable_parallel_mergesort | ( | RandomAccessIterator | begin, |
RandomAccessIterator | end, | ||
Comparator | comp = Comparator() , |
||
size_t | num_threads = std::thread::hardware_concurrency() , |
||
MultiwayMergeSplittingAlgorithm | mwmsa = MWMSA_DEFAULT |
||
) |
Stable parallel multiway mergesort.
begin | Begin iterator of sequence. |
end | End iterator of sequence. |
comp | Comparator. |
num_threads | Number of threads to use. |
mwmsa | MultiwayMergeSplittingAlgorithm to use. |
Definition at line 384 of file parallel_mergesort.hpp.
References PMWMSPiece< DiffType >::begin, PMWMSPiece< DiffType >::end, and tlx::parallel_mergesort_base().