Lines Matching refs:Start
114 RandomAccessIterator medianOf3(RandomAccessIterator Start, in medianOf3() argument
117 RandomAccessIterator Mid = Start + (std::distance(Start, End) / 2); in medianOf3()
118 return Comp(*Start, *(End - 1)) in medianOf3()
119 ? (Comp(*Mid, *(End - 1)) ? (Comp(*Start, *Mid) ? Mid : Start) in medianOf3()
121 : (Comp(*Mid, *Start) ? (Comp(*(End - 1), *Mid) ? Mid : End - 1) in medianOf3()
122 : Start); in medianOf3()
126 void parallel_quick_sort(RandomAccessIterator Start, RandomAccessIterator End, in parallel_quick_sort() argument
129 if (std::distance(Start, End) < detail::MinParallelSize || Depth == 0) { in parallel_quick_sort()
130 llvm::sort(Start, End, Comp); in parallel_quick_sort()
135 auto Pivot = medianOf3(Start, End, Comp); in parallel_quick_sort()
138 Pivot = std::partition(Start, End - 1, [&Comp, End](decltype(*Start) V) { in parallel_quick_sort()
146 parallel_quick_sort(Start, Pivot, Comp, TG, Depth - 1); in parallel_quick_sort()
152 void parallel_sort(RandomAccessIterator Start, RandomAccessIterator End, in parallel_sort() argument
155 parallel_quick_sort(Start, End, Comp, TG, in parallel_sort()
156 llvm::Log2_64(std::distance(Start, End)) + 1); in parallel_sort()
217 void parallelSort(RandomAccessIterator Start, RandomAccessIterator End,
221 parallel::detail::parallel_sort(Start, End, Comp);
225 llvm::sort(Start, End, Comp);