pub trait ConvolutionOps<A, S, T, N, D>{
// Required method
fn convolve_signal<B>(
&mut self,
buffer: &mut B,
impulse_response: &A,
) -> VoidResult
where B: for<'a> Buffer<'a, S, T>;
}Expand description
Provides a convolution operation for types which at some point are slice based.
Required Methods§
Sourcefn convolve_signal<B>(
&mut self,
buffer: &mut B,
impulse_response: &A,
) -> VoidResultwhere
B: for<'a> Buffer<'a, S, T>,
fn convolve_signal<B>(
&mut self,
buffer: &mut B,
impulse_response: &A,
) -> VoidResultwhere
B: for<'a> Buffer<'a, S, T>,
Convolves self with the convolution function impulse_response.
For performance it’s recommended
to use multiply both vectors in frequency domain instead of this operation.
§Failures
TransRes may report the following ErrorReason members:
VectorMustBeInTimeDomain: ifselfis in frequency domain.VectorMetaDataMustAgree: in caseselfandimpulse_responseare not in the same number space and same domain.InvalidArgumentLength: ifself.points() < impulse_response.points().
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.