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

◆ interpolate_linear() [2/2]

template<OperationReadyData DataType>
DataType MayaFlux::Yantra::interpolate_linear ( DataType &  input,
size_t  target_size,
std::vector< std::vector< double > > &  working_buffer 
)

Linear interpolation between data points using C++20 ranges (OUT-OF-PLACE)

Template Parameters
DataTypeOperationReadyData type
Parameters
inputInput data - will NOT be modified
target_sizeTarget size after interpolation
working_bufferBuffer for operations (will be resized if needed)
Returns
Interpolated data

Definition at line 657 of file MathematicalHelper.hpp.

658{
659 auto [target_data, structure_info] = OperationHelper::setup_operation_buffer(input, working_buffer);
660
661 for (size_t i = 0; i < target_data.size(); i++) {
662 if (target_size != target_data[i].size()) {
663 working_buffer[i].resize(target_size);
664 interpolate(target_data[i], working_buffer[i], target_size);
665 }
666 }
667
668 return OperationHelper::reconstruct_from_double<DataType>(working_buffer, structure_info);
669}
void interpolate(std::span< double > input, std::vector< double > &output, uint32_t target_size)

References interpolate(), and interpolate_linear().

+ Here is the call graph for this function: