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

◆ Logic() [4/6]

MayaFlux::Nodes::Generator::Logic::Logic ( MultiInputFunction  function,
size_t  input_count 
)

Constructs a Logic node for parallel input evaluation.

Parameters
functionFunction implementing multi-input boolean logic
input_countNumber of parallel inputs to process

Creates a Logic node that evaluates multiple inputs simultaneously, enabling implementation of complex decision functions like voting systems, majority logic, or custom multi-input boolean operations.

Definition at line 60 of file Logic.cpp.

63 , m_multi_input_function(std::move(function))
65 , m_input_count(input_count)
66 , m_threshold(0.5)
67 , m_low_threshold(0.45)
68 , m_high_threshold(0.5)
72{
73 m_input_buffer.resize(input_count, 0.0);
74}
size_t m_history_size
Maximum size of the history buffer.
Definition Logic.hpp:574
EdgeType m_edge_type
Type of edge to detect.
Definition Logic.hpp:579
double m_threshold
Threshold for boolean conversion.
Definition Logic.hpp:576
double m_high_threshold
High threshold for hysteresis.
Definition Logic.hpp:578
std::vector< double > m_input_buffer
Definition Logic.hpp:584
LogicOperator m_operator
Current logic operator.
Definition Logic.hpp:567
double m_low_threshold
Low threshold for hysteresis.
Definition Logic.hpp:577
MultiInputFunction m_multi_input_function
Function for recursive/feedforward mode.
Definition Logic.hpp:569
bool m_edge_detected
Whether an edge was detected in the last processing.
Definition Logic.hpp:580
LogicMode m_mode
Current processing mode.
Definition Logic.hpp:566
size_t m_input_count
Expected number of inputs for multi-input mode.
Definition Logic.hpp:575
std::span< const float > get_gpu_data_buffer() const
Provides access to the GPU data buffer.
Definition Node.cpp:78
@ MULTI_INPUT
Parallel evaluation of multiple input signals.
@ CUSTOM
User-defined boolean function.