pub trait Process<X: Copy, Y = X> {
// Required method
fn process(&mut self, x: X) -> Y;
// Provided method
fn block(&mut self, x: &[X], y: &mut [Y]) { ... }
}Expand description
Processing block
Single input, single output
Required Methods§
Provided Methods§
Implementations on Foreign Types§
Implementors§
impl<T: Copy + Ord> Process<T> for &Clamp<T>
impl<T: Copy + Neg<Output = T>> Process<T> for &Neg
impl<T: Copy> Process<T> for &Identity
impl<X0: Copy + Add<X1, Output = Y>, X1: Copy, Y> Process<(X0, X1), Y> for &Add
impl<X0: Copy + Mul<X1, Output = Y>, X1: Copy, Y> Process<(X0, X1), Y> for &Mul
impl<X0: Copy + Sub<X1, Output = Y>, X1: Copy, Y> Process<(X0, X1), Y> for &Sub
impl<X: Copy + Default, const N: usize> Process<X, [X; N]> for &Rate
impl<X: Copy + Add<Output = Y> + Sub<Output = Y>, Y> Process<[X; 2], [Y; 2]> for &Butterfly
impl<X: Copy + Add<T, Output = Y>, Y, T: Copy> Process<X, Y> for &Offset<T>
Offset using Add
impl<X: Copy + Add<X, Output = Y>, Y, const N: usize> Process<X, Y> for Nyquist<[X; N]>
impl<X: Copy + Mul<T, Output = Y>, Y, T: Copy> Process<X, Y> for &Gain<T>
Gain using Mul
impl<X: Copy + Sub<Output = Y>, Y> Process<[X; 2], Y> for &Sub
impl<X: Copy + Sub<X, Output = Y>, Y, const N: usize> Process<X, Y> for Comb<[X; N]>
impl<X: Copy> Process<[X; 1], X> for &Identity
Flatten
impl<X: Copy> Process<X, (X, X)> for &Identity
Fan out
impl<X: Copy, Y, S: ?Sized, C: SplitProcess<X, Y, S> + ?Sized> Process<X, Y> for Split<&C, &mut S>
impl<X: Copy, Y: Product<X>, const N: usize> Process<[X; N], Y> for &Mul
impl<X: Copy, Y: Sum<X>, const N: usize> Process<[X; N], Y> for &Add
impl<X: Copy, Y: AddAssign<X> + Copy> Process<X, Y> for Integrator<Y>
impl<X: Copy, const N: usize> Process<Option<[X; N]>, X> for Buffer<[X; N]>
Buffer out of chunks
Panics on underflow
impl<X: Copy, const N: usize> Process<[X; N], X> for &Rate
impl<X: Copy, const N: usize> Process<X> for Buffer<[X; N]>
Delay line
impl<X: Copy, const N: usize> Process<X, Option<[X; N]>> for Buffer<[X; N]>
Buffer into chunks
impl<X: Copy, const N: usize> Process<X, [X; N]> for &Identity
Fan out