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

◆ set_buffer_function()

void MayaFlux::Nodes::Generator::Polynomial::set_buffer_function ( BufferFunction  function,
PolynomialMode  mode,
size_t  buffer_size 
)

Sets a custom buffer function.

Parameters
functionFunction that processes a buffer of values
modeProcessing mode (RECURSIVE or FEEDFORWARD)
buffer_sizeNumber of previous values to maintain

Updates the generator to use the specified buffer function and mode.

Definition at line 138 of file Polynomial.cpp.

139{
140 m_buffer_function = std::move(function);
141 m_mode = mode;
142
143 if (buffer_size != m_buffer_size) {
144 m_buffer_size = buffer_size;
145 m_history.resize(buffer_size);
146 m_linear_view.resize(buffer_size);
147 }
148}
void resize(size_t new_capacity)
Resize buffer capacity.
PolynomialMode m_mode
Converts coefficient vector to a polynomial function.
Memory::HistoryBuffer< double > m_history
Ring buffer for input/output history.
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.
std::vector< double > mode(std::span< const double > data, size_t n_windows, uint32_t hop_size, uint32_t window_size)
Mode per window via tolerance-bucketed frequency count.
Definition Analysis.cpp:559

References m_buffer_function, m_buffer_size, m_history, m_linear_view, m_mode, and MayaFlux::Memory::HistoryBuffer< T >::resize().

+ Here is the call graph for this function: