|
MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
|
#include <numeric>#include "MayaFlux/Yantra/OperationSpec/OperationHelper.hpp"#include "UniversalSorter.hpp"#include "MayaFlux/Parallel.hpp"
Include dependency graph for SortingHelper.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::Yantra |
Enumerations | |
| enum class | MayaFlux::Yantra::SortingAlgorithm : uint8_t { MayaFlux::Yantra::STANDARD , MayaFlux::Yantra::STABLE , MayaFlux::Yantra::PARTIAL , MayaFlux::Yantra::NTH_ELEMENT , MayaFlux::Yantra::HEAP , MayaFlux::Yantra::PARALLEL , MayaFlux::Yantra::RADIX , MayaFlux::Yantra::COUNTING , MayaFlux::Yantra::BUCKET , MayaFlux::Yantra::MERGE_EXTERNAL , MayaFlux::Yantra::QUICK_OPTIMIZED , MayaFlux::Yantra::LAZY_STREAMING , MayaFlux::Yantra::PREDICTIVE_ML , MayaFlux::Yantra::EIGEN_OPTIMIZED , MayaFlux::Yantra::GPU_ACCELERATED } |
| Available sorting algorithms for different use cases. More... | |
Functions | |
| void | MayaFlux::Yantra::sort_span_inplace (std::span< double > data, SortingDirection direction, SortingAlgorithm algorithm) |
| Sort a single span of doubles in-place. | |
| std::span< double > | MayaFlux::Yantra::sort_span_extract (std::span< const double > data, std::vector< double > &output_storage, SortingDirection direction, SortingAlgorithm algorithm) |
| Sort a single span and return copy in output vector. | |
| void | MayaFlux::Yantra::sort_channels_inplace (std::vector< std::span< double > > &channels, SortingDirection direction, SortingAlgorithm algorithm) |
| Sort multiple channels (spans) in-place. | |
| std::vector< std::span< double > > | MayaFlux::Yantra::sort_channels_extract (const std::vector< std::span< const double > > &channels, std::vector< std::vector< double > > &output_storage, SortingDirection direction, SortingAlgorithm algorithm) |
| Sort multiple channels and return copies. | |
| std::vector< size_t > | MayaFlux::Yantra::generate_span_sort_indices (std::span< double > data, SortingDirection direction) |
| Generate sort indices for a single span. | |
| std::vector< std::vector< size_t > > | MayaFlux::Yantra::generate_channels_sort_indices (const std::vector< std::span< double > > &channels, SortingDirection direction) |
| Generate sort indices for multiple channels. | |
| template<std::random_access_iterator Iterator, typename Comparator > | |
| void | MayaFlux::Yantra::execute_sorting_algorithm (Iterator begin, Iterator end, Comparator comp, SortingAlgorithm algorithm) |
| Execute sorting algorithm on iterator range. | |
| auto | MayaFlux::Yantra::create_double_comparator (SortingDirection direction) |
| Create standard direction-based comparator for doubles. | |
| template<ComplexData T> | |
| auto | MayaFlux::Yantra::create_complex_magnitude_comparator (SortingDirection direction) |
| Create magnitude-based comparator for complex numbers. | |
| template<typename Container , typename Comparator > | |
| std::vector< size_t > | MayaFlux::Yantra::generate_sort_indices (const Container &container, Comparator comp) |
| Generate sort indices for any container with custom comparator. | |
| template<ComputeData T> | |
| void | MayaFlux::Yantra::sort_compute_data_inplace (IO< T > &data, SortingDirection direction, SortingAlgorithm algorithm) |
| Universal sort function - handles extraction/conversion internally. | |
| template<ComputeData T> | |
| T | MayaFlux::Yantra::sort_compute_data_extract (const T &data, SortingDirection direction, SortingAlgorithm algorithm) |
| Universal sort function - returns sorted copy. | |
| template<typename T > | |
| T | MayaFlux::Yantra::sort_compute_data_extract (const IO< T > &data, SortingDirection direction, SortingAlgorithm algorithm) |
| Universal sort function - returns sorted copy. | |
| template<ComputeData T> | |
| T | MayaFlux::Yantra::sort_compute_data (const T &data, SortingDirection direction=SortingDirection::ASCENDING) |
| Convenience function with default algorithm. | |
| template<ComputeData T> | |
| std::vector< std::vector< size_t > > | MayaFlux::Yantra::generate_compute_data_indices (const IO< T > &data, SortingDirection direction) |
| Generate sort indices for any ComputeData type. | |
| template<typename T > | |
| auto | MayaFlux::Yantra::create_multi_key_comparator (const std::vector< SortKey > &keys) |
| Creates a multi-key comparator for complex sorting. | |
| template<typename T > | |
| double | MayaFlux::Yantra::get_temporal_position (const T &item) |
| Helper function to get temporal position from various types Used by TemporalSortable concept. | |
| template<typename T > | |
| SortKey | MayaFlux::Yantra::create_universal_sort_key (const std::string &name, SortingDirection direction=SortingDirection::ASCENDING) |
| Create universal sort key extractor for common data types. | |