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