Trait basic_dsp_vector::ConvolutionOps
source · 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
: ifself
is in frequency domain.VectorMetaDataMustAgree
: in caseself
andimpulse_response
are not in the same number space and same domain.InvalidArgumentLength
: ifself.points() < impulse_response.points()
.
Object Safety§
This trait is not object safe.