Trait basic_dsp_vector::ConvolutionOps

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

source

fn convolve_signal<B>( &mut self, buffer: &mut B, impulse_response: &A ) -> VoidResult
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:

  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().

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<S, SO, T, N, D, NO, DO> ConvolutionOps<DspVec<SO, T, NO, DO>, S, T, NO, DO> for DspVec<S, T, N, D>