pub trait MultichannelAlgorithm<T: Transcendental>: Send {
// Required methods
fn num_inputs(&self) -> usize;
fn num_outputs(&self) -> usize;
fn process(
&mut self,
inputs: &[&[T]],
outputs: &mut [&mut [T]],
) -> ProcessResult<()>;
fn reset(&mut self);
}Expand description
A signal processing algorithm with multiple inputs and outputs.
Unlike Algorithm<T> which is strictly single-input/single-output (SISO),
this trait supports N-to-M channel processing in a single call.
Required Methods§
Sourcefn num_inputs(&self) -> usize
fn num_inputs(&self) -> usize
Number of signal input channels.
Sourcefn num_outputs(&self) -> usize
fn num_outputs(&self) -> usize
Number of signal output channels.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".