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

◆ transform_exponential() [2/2]

template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_exponential ( DataType &  input,
double  a,
double  b,
std::vector< std::vector< double > > &  working_buffer,
double  base = std::numbers::e 
)

Exponential transformation y = a * base^(b * x) (OUT-OF-PLACE)

Template Parameters
DataTypeOperationReadyData type
Parameters
inputInput data - will NOT be modified
aScale factor
bExponential rate
working_bufferBuffer for operations (will be resized if needed)
bExponential rate
Returns
Transformed data

Definition at line 218 of file MathematicalHelper.hpp.

219{
220 auto [target_data, structure_info] = OperationHelper::setup_operation_buffer(input, working_buffer);
221
222 for (auto& span : target_data) {
223 std::ranges::transform(span, span.begin(),
224 [a, b, base](double x) {
225 if (base == std::numbers::e) {
226 return a * std::exp(b * x);
227 }
228 return a * std::pow(base, b * x);
229 });
230 }
231
232 return OperationHelper::reconstruct_from_double<DataType>(working_buffer, structure_info);
233}

References transform_exponential().

+ Here is the call graph for this function: