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

◆ process_multi_input()

double MayaFlux::Nodes::Generator::Logic::process_multi_input ( const std::vector< double > &  inputs)

Processes multiple parallel inputs.

Parameters
inputsVector of input values to evaluate together
Returns
1.0 for true result, 0.0 for false result

Evaluates multiple inputs simultaneously according to the configured multi-input logic function, producing a single binary output.

Definition at line 346 of file Logic.cpp.

347{
351 m_coef_bound = false;
352
353 if (m_input_buffer.size() < inputs.size()) {
354 m_input_buffer.resize(inputs.size(), 0.0);
355 m_input_count = inputs.size();
356 }
357
361 }
362 }
363
364 // Copy inputs to our buffer
365 for (size_t i = 0; i < inputs.size() && i < m_input_buffer.size(); ++i) {
366 m_input_buffer[i] = inputs[i];
367 }
368
369 const double current = m_multi_input_function(m_input_buffer) ? 1.0 : 0.0;
370
372
374 return m_last_output;
375}
glm::vec2 current
std::vector< double > m_input_buffer
Definition Logic.hpp:712
bool m_coef_bound
True while the active mode runs a coefficient function.
Definition Logic.hpp:723
LogicOperator m_operator
Current logic operator.
Definition Logic.hpp:695
bool m_default_multi_input
True while the parallel function is the built in all-above-threshold one.
Definition Logic.hpp:724
MultiInputFunction m_multi_input_function
Function for recursive/feedforward mode.
Definition Logic.hpp:697
MultiInputFunction default_multi_input_function()
Definition Logic.cpp:377
LogicMode m_mode
Current processing mode.
Definition Logic.hpp:694
void notify_tick(double value) override
Notifies all registered callbacks about a new sample.
Definition Logic.cpp:708
size_t m_input_count
Expected number of inputs for multi-input mode.
Definition Logic.hpp:703
double m_last_output
The most recent sample value generated by this oscillator.
Definition Node.hpp:441
@ MULTI_INPUT
Parallel evaluation of multiple input signals.
@ CUSTOM
User-defined boolean function.

References current, MayaFlux::Nodes::Generator::CUSTOM, default_multi_input_function(), m_coef_bound, m_default_multi_input, m_input_buffer, m_input_count, MayaFlux::Nodes::Node::m_last_output, m_mode, m_multi_input_function, m_operator, MayaFlux::Nodes::Generator::MULTI_INPUT, and notify_tick().

+ Here is the call graph for this function: