Run clang-format

This commit is contained in:
Bassem Girgis
2018-10-18 00:40:34 -05:00
parent fffe4528da
commit 31c32e368a
149 changed files with 5974 additions and 6287 deletions

View File

@@ -1,58 +1,49 @@
template<typename T>
struct sorter
{
thread_pool pool;
std::list<T> do_sort(std::list<T>& chunk_data)
{
if(chunk_data.empty())
{
return chunk_data;
}
std::list<T> result;
result.splice(result.begin(),chunk_data,chunk_data.begin());
T const& partition_val=*result.begin();
typename std::list<T>::iterator divide_point=
std::partition(
chunk_data.begin(),chunk_data.end(),
[&](T const& val){return val<partition_val;});
template <typename T>
struct sorter {
thread_pool pool;
std::list<T> new_lower_chunk;
new_lower_chunk.splice(
new_lower_chunk.end(),
chunk_data,chunk_data.begin(),
divide_point);
thread_pool::task_handle<std::list<T> > new_lower=
pool.submit(
std::bind(
&sorter::do_sort,this,
std::move(new_lower_chunk)));
std::list<T> new_higher(do_sort(chunk_data));
result.splice(result.end(),new_higher);
while(!new_lower.is_ready())
{
pool.run_pending_task();
}
result.splice(result.begin(),new_lower.get());
return result;
std::list<T> do_sort(std::list<T>& chunk_data)
{
if (chunk_data.empty()) {
return chunk_data;
}
std::list<T> result;
result.splice(result.begin(), chunk_data, chunk_data.begin());
T const& partition_val = *result.begin();
typename std::list<T>::iterator divide_point =
std::partition(chunk_data.begin(), chunk_data.end(), [&](T const& val) {
return val < partition_val;
});
std::list<T> new_lower_chunk;
new_lower_chunk.splice(
new_lower_chunk.end(), chunk_data, chunk_data.begin(), divide_point);
thread_pool::task_handle<std::list<T>> new_lower = pool.submit(
std::bind(&sorter::do_sort, this, std::move(new_lower_chunk)));
std::list<T> new_higher(do_sort(chunk_data));
result.splice(result.end(), new_higher);
while (!new_lower.is_ready()) {
pool.run_pending_task();
}
result.splice(result.begin(), new_lower.get());
return result;
}
};
template<typename T>
std::list<T> parallel_quick_sort(std::list<T> input)
template <typename T>
std::list<T>
parallel_quick_sort(std::list<T> input)
{
if(input.empty())
{
return input;
}
sorter<T> s;
return s.do_sort(input);
if (input.empty()) {
return input;
}
sorter<T> s;
return s.do_sort(input);
}