260 {
261 std::vector<InputType> chunks;
262
263 for (
size_t start = 0; start < channels[0].size(); start +=
m_chunk_size) {
264 std::vector<std::vector<double>> chunk_data;
265 chunk_data.resize(channels.size());
266
267 for (size_t ch = 0; ch < channels.size(); ++ch) {
268 size_t end = std::min(start +
m_chunk_size, channels[ch].size());
269 auto chunk_span = channels[ch].subspan(start, end - start);
270
271 chunk_data[ch].assign(chunk_span.begin(), chunk_span.end());
273 }
274
275 chunks.push_back(OperationHelper::reconstruct_from_double<InputType>(chunk_data, info));
276 }
277
278 return chunks;
279 }
SortingAlgorithm m_algorithm
SortingDirection get_direction() const
void sort_span_inplace(std::span< double > data, SortingDirection direction, SortingAlgorithm algorithm)
Sort a single span of doubles in-place.