pub trait ConvolutionOps<A, S, T, N, D>where
    S: ToSliceMut<T>,
    T: RealNumber,
    N: NumberSpace,
    D: Domain,
{ 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

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:

  1. VectorMustBeInTimeDomain: if self is in frequency domain.
  2. VectorMetaDataMustAgree: in case self and impulse_response are not in the same number space and same domain.
  3. InvalidArgumentLength: if self.points() < impulse_response.points().

Implementors