pub trait ConvolutionOps<A, S, T, N, D>{
// Required method
fn convolve_signal<B>(
&mut self,
buffer: &mut B,
impulse_response: &A,
) -> Result<(), ErrorReason>
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,
) -> Result<(), ErrorReason>where
B: for<'a> Buffer<'a, S, T>,
fn convolve_signal<B>(
&mut self,
buffer: &mut B,
impulse_response: &A,
) -> Result<(), ErrorReason>where
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()
.
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.