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

◆ Polynomial() [4/4]

MayaFlux::Nodes::Generator::Polynomial::Polynomial ( CoefBufferFunction  function,
PolynomialMode  mode,
size_t  buffer_size,
std::vector< double >  coefficients = {} 
)

Constructs a Polynomial generator in recursive or feedforward mode with a coefficient array.

Parameters
functionFunction receiving the history window and the coefficient array
modeProcessing mode (RECURSIVE or FEEDFORWARD)
buffer_sizeNumber of previous values to maintain
coefficientsInitial contents of the coefficient array

Definition at line 39 of file Polynomial.cpp.

40 : m_mode(mode)
41 , m_coefficients(std::move(coefficients))
42 , m_history(buffer_size)
43 , m_linear_view(buffer_size, 0.0)
44 , m_buffer_size(buffer_size)
45 , m_scale_factor(1.F)
48{
49 m_coef_function = function;
50 m_buffer_function = bind_coefficients(std::move(function));
51 m_coef_bound = true;
52}
uint32_t mode
BufferFunction bind_coefficients(CoefBufferFunction function)
Converts coefficient vector to a polynomial function.
CoefBufferFunction m_coef_function
The function behind m_buffer_function while a CoefBufferFunction is bound.
PolynomialMode m_mode
Current processing mode.
Memory::HistoryBuffer< double > m_history
Ring buffer for input/output history.
double m_scale_factor
Scaling factor for output.
size_t m_buffer_size
Maximum size of the buffers.
std::vector< double > m_linear_view
Linearized view of history for easy access.
BufferFunction m_buffer_function
Function for recursive/feedforward mode.
bool m_coef_bound
True once a CoefBufferFunction has been bound.
std::vector< double > m_coefficients
Polynomial coefficients (if using coefficient-based definition)
std::span< const float > get_gpu_data_buffer() const
Provides access to the GPU data buffer.
Definition Node.cpp:98