MayaFlux 0.3.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ setup_operation_buffer()

template<OperationReadyData T>
static auto MayaFlux::Yantra::OperationHelper::setup_operation_buffer ( T &  input,
std::vector< std::vector< double > > &  working_buffer 
)
inlinestatic

Setup operation buffer from Datum or ComputeData type.

Template Parameters
TDatum or ComputeData type
Parameters
inputDatum container or direct ComputeData
working_bufferBuffer to setup (will be resized)
Returns
Tuple of [working_spans, structure_info]

Definition at line 307 of file OperationHelper.hpp.

308 {
309 auto [data_spans, structure_info] = extract_structured_double(input);
310
311 if (working_buffer.size() != data_spans.size()) {
312 working_buffer.resize(data_spans.size());
313 }
314
315 std::vector<std::span<double>> working_spans(working_buffer.size());
316
317 for (size_t i = 0; i < data_spans.size(); i++) {
318 working_buffer[i].resize(data_spans[i].size());
319 std::ranges::copy(data_spans[i], working_buffer[i].begin());
320 working_spans[i] = std::span<double>(working_buffer[i].data(), working_buffer[i].size());
321 }
322
323 return std::make_tuple(working_spans, structure_info);
324 }
static std::tuple< std::vector< std::span< double > >, DataStructureInfo > extract_structured_double(T &compute_data)
Extract structured double data from Datum container or direct ComputeData with automatic container ha...

References extract_structured_double().

Referenced by MayaFlux::Yantra::sort_compute_data_extract(), MayaFlux::Yantra::sort_compute_data_extract(), MayaFlux::Yantra::transform_by_energy(), MayaFlux::Yantra::transform_channel_operation(), MayaFlux::Yantra::transform_crossfade_regions(), MayaFlux::Yantra::transform_matrix(), MayaFlux::Yantra::transform_matrix_multichannel(), MayaFlux::Yantra::transform_outliers(), and MayaFlux::Yantra::transform_regions().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: