|
MayaFlux 0.3.0
Digital-First Multimedia Processing Framework
|
Discrete sequence sorting primitives for MayaFlux::Kinesis. More...
#include "MayaFlux/Transitive/Parallel/Execution.hpp"
Include dependency graph for Sort.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Namespaces | |
| namespace | MayaFlux |
| Main namespace for the Maya Flux audio engine. | |
| namespace | MayaFlux::Kinesis |
| namespace | MayaFlux::Kinesis::Discrete |
Functions | |
| auto | MayaFlux::Kinesis::Discrete::double_comparator (SortingDirection direction) noexcept |
| Direction-based comparator for doubles. | |
| template<typename T > requires requires(T v) { { std::abs(v) } -> std::convertible_to<double>; } | |
| auto | MayaFlux::Kinesis::Discrete::magnitude_comparator (SortingDirection direction) noexcept |
| Magnitude-based comparator for complex-like types. | |
| template<typename Container , typename Comparator > | |
| std::vector< size_t > | MayaFlux::Kinesis::Discrete::sort_indices (const Container &container, Comparator comp) |
| Generic sort-index generator for any random-access container. | |
| template<std::random_access_iterator Iterator, typename Comparator > | |
| void | MayaFlux::Kinesis::Discrete::execute (Iterator begin, Iterator end, Comparator comp, SortingAlgorithm algorithm) |
| Execute a sorting algorithm on an iterator range. | |
| void | MayaFlux::Kinesis::Discrete::sort_span (std::span< double > data, SortingDirection direction, SortingAlgorithm algorithm=SortingAlgorithm::STANDARD) |
| Sort a single span in-place. | |
| std::span< double > | MayaFlux::Kinesis::Discrete::sort_span_into (std::span< const double > data, std::vector< double > &output_storage, SortingDirection direction, SortingAlgorithm algorithm=SortingAlgorithm::STANDARD) |
| Sort a span into a caller-owned output buffer. | |
| void | MayaFlux::Kinesis::Discrete::sort_channels (std::vector< std::span< double > > &channels, SortingDirection direction, SortingAlgorithm algorithm=SortingAlgorithm::STANDARD) |
| Sort all channels in-place. | |
| std::vector< std::span< double > > | MayaFlux::Kinesis::Discrete::sort_channels_into (const std::vector< std::span< const double > > &channels, std::vector< std::vector< double > > &output_storage, SortingDirection direction, SortingAlgorithm algorithm=SortingAlgorithm::STANDARD) |
| Sort all channels into caller-owned output buffers. | |
| std::vector< size_t > | MayaFlux::Kinesis::Discrete::span_sort_indices (std::span< double > data, SortingDirection direction) |
| Indices that would sort a span in the given direction. | |
| std::vector< std::vector< size_t > > | MayaFlux::Kinesis::Discrete::channels_sort_indices (const std::vector< std::span< double > > &channels, SortingDirection direction) |
| Per-channel sort indices. | |
Discrete sequence sorting primitives for MayaFlux::Kinesis.
Span-level sorting functions and algorithm dispatch for contiguous double-precision sequences. No MayaFlux type dependencies.
SortingDirection and SortingAlgorithm are defined here and are the canonical definitions; MayaFlux::Yantra re-exports them.
Unimplemented algorithm variants (RADIX, COUNTING, BUCKET, MERGE_EXTERNAL, QUICK_OPTIMIZED, LAZY_STREAMING, PREDICTIVE_ML, GPU_ACCELERATED) fall back to STANDARD and are marked as such.
Definition in file Sort.hpp.