Struct basic_dsp::matrix::Matrix2xN [−][src]
pub struct Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T>, { /* fields omitted */ }
Expand description
A matrix which can hold exactly 2 vectors.
Trait Implementations
impl<S, V, T> ApproximatedOps<T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + ApproximatedOps<T>,
S: ToSlice<T>,
[src]
impl<S, V, T> ApproximatedOps<T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + ApproximatedOps<T>,
S: ToSlice<T>,
[src]Computes the principal value approximation of natural logarithm of every element in the vector. Read more
Calculates the natural exponential approximation for every vector element. Read more
Calculates the sine approximation of each element in radians. Read more
Calculates the cosine approximation of each element in radians Read more
Calculates the approximated logarithm to the given base for every vector element. Read more
Calculates the approximated exponential to the given base for every vector element. Read more
Raises every vector element to approximately a floating point power. Read more
impl<V, S, T> ComplexOps<T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + ComplexOps<T>,
S: ToSlice<T>,
[src]
impl<V, S, T> ComplexOps<T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + ComplexOps<T>,
S: ToSlice<T>,
[src]Multiplies each vector element with exp(j*(a*idx*self.delta() + b))
where a
and b
are arguments and idx
is the index of the data points
in the vector ranging from 0 to self.points() - 1
. j
is the imaginary number and
exp
the exponential function. Read more
impl<V, S, T, N, D, O> ComplexToRealGetterOps<O, T, N, D> for Matrix2xN<V, S, T> where
N: NumberSpace,
T: RealNumber,
V: Vector<T> + ComplexToRealGetterOps<V, T, N, D> + GetMetaData<T, N, D>,
S: ToSlice<T>,
O: Matrix<V, T> + GetMetaData<T, N, D>,
D: Domain,
[src]
impl<V, S, T, N, D, O> ComplexToRealGetterOps<O, T, N, D> for Matrix2xN<V, S, T> where
N: NumberSpace,
T: RealNumber,
V: Vector<T> + ComplexToRealGetterOps<V, T, N, D> + GetMetaData<T, N, D>,
S: ToSlice<T>,
O: Matrix<V, T> + GetMetaData<T, N, D>,
D: Domain,
[src]Copies all real elements into the given vector. Read more
Copies all imag elements into the given vector. Read more
Copies the absolute value or magnitude of all vector elements into the given target vector. Read more
Copies the absolute value squared or magnitude squared of all vector elements into the given target vector. Read more
Copies the phase of all elements in [rad] into the given vector. Read more
Gets the real and imaginary parts and stores them in the given vectors.
See also get_phase
and
get_complex_abs
for further
information. Read more
impl<V, S, T, N, D, O> ComplexToRealSetterOps<O, T, N, D> for Matrix2xN<V, S, T> where
N: NumberSpace,
T: RealNumber,
V: Vector<T> + ComplexToRealSetterOps<V, T, N, D> + GetMetaData<T, N, D>,
S: ToSlice<T>,
O: Matrix<V, T> + GetMetaData<T, N, D>,
D: Domain,
[src]
impl<V, S, T, N, D, O> ComplexToRealSetterOps<O, T, N, D> for Matrix2xN<V, S, T> where
N: NumberSpace,
T: RealNumber,
V: Vector<T> + ComplexToRealSetterOps<V, T, N, D> + GetMetaData<T, N, D>,
S: ToSlice<T>,
O: Matrix<V, T> + GetMetaData<T, N, D>,
D: Domain,
[src]Overrides the self
vectors data with the real and imaginary data in the given vectors.
real
and imag
must have the same size. Read more
Overrides the self
vectors data with the magnitude and phase data in the given vectors.
Note that self
vector will immediately convert the data into a real and
imaginary representation of the complex numbers which is its default format.
mag
and phase
must have the same size. Read more
impl<V, S, T> ComplexToRealTransformsOps<T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + ComplexToRealTransformsOps<T>,
S: ToSlice<T>,
<V as ToRealResult>::RealResult: Vector<T>,
[src]
impl<V, S, T> ComplexToRealTransformsOps<T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + ComplexToRealTransformsOps<T>,
S: ToSlice<T>,
<V as ToRealResult>::RealResult: Vector<T>,
[src]impl<V, S, T> ComplexToRealTransformsOpsBuffered<S, T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + ComplexToRealTransformsOpsBuffered<S, T>,
S: ToSliceMut<T>,
<V as ToRealResult>::RealResult: Vector<T>,
[src]
impl<V, S, T> ComplexToRealTransformsOpsBuffered<S, T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + ComplexToRealTransformsOpsBuffered<S, T>,
S: ToSliceMut<T>,
<V as ToRealResult>::RealResult: Vector<T>,
[src]pub fn magnitude_b<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToRealResult>::RealResult where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn magnitude_b<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToRealResult>::RealResult where
B: for<'b> Buffer<'b, S, T>,
[src]Gets the absolute value, magnitude or norm of all vector elements. Read more
pub fn magnitude_squared_b<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToRealResult>::RealResult where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn magnitude_squared_b<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToRealResult>::RealResult where
B: for<'b> Buffer<'b, S, T>,
[src]Gets the square root of the absolute value of all vector elements. Read more
pub fn to_real_b<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToRealResult>::RealResult where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn to_real_b<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToRealResult>::RealResult where
B: for<'b> Buffer<'b, S, T>,
[src]Gets all real elements. Read more
pub fn to_imag_b<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToRealResult>::RealResult where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn to_imag_b<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToRealResult>::RealResult where
B: for<'b> Buffer<'b, S, T>,
[src]Gets all imag elements. Read more
pub fn phase_b<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToRealResult>::RealResult where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn phase_b<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToRealResult>::RealResult where
B: for<'b> Buffer<'b, S, T>,
[src]Gets the phase of all elements in [rad]. Read more
impl<'a, V, S, T> Convolution<'a, S, T, &'a (dyn ComplexImpulseResponse<T> + 'a)> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + Convolution<'a, S, T, &'a (dyn ComplexImpulseResponse<T> + 'a)>,
S: ToSliceMut<T>,
[src]
impl<'a, V, S, T> Convolution<'a, S, T, &'a (dyn ComplexImpulseResponse<T> + 'a)> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + Convolution<'a, S, T, &'a (dyn ComplexImpulseResponse<T> + 'a)>,
S: ToSliceMut<T>,
[src]Convolves self
with the convolution function impulse_response
.
For performance consider to
to use FrequencyMultiplication
instead of this operation depending on len
. Read more
impl<'a, V, S, T> Convolution<'a, S, T, &'a (dyn RealImpulseResponse<T> + 'a)> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + Convolution<'a, S, T, &'a (dyn RealImpulseResponse<T> + 'a)>,
S: ToSliceMut<T>,
[src]
impl<'a, V, S, T> Convolution<'a, S, T, &'a (dyn RealImpulseResponse<T> + 'a)> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + Convolution<'a, S, T, &'a (dyn RealImpulseResponse<T> + 'a)>,
S: ToSliceMut<T>,
[src]Convolves self
with the convolution function impulse_response
.
For performance consider to
to use FrequencyMultiplication
instead of this operation depending on len
. Read more
impl<'a, S, T, N, D> ConvolutionOps<[[&'a DspVec<S, T, N, D>; 2]; 2], S, T, N, D> for Matrix2xN<DspVec<S, T, N, D>, S, T> where
N: NumberSpace,
T: RealNumber,
S: ToSliceMut<T>,
D: Domain,
[src]
impl<'a, S, T, N, D> ConvolutionOps<[[&'a DspVec<S, T, N, D>; 2]; 2], S, T, N, D> for Matrix2xN<DspVec<S, T, N, D>, S, T> where
N: NumberSpace,
T: RealNumber,
S: ToSliceMut<T>,
D: Domain,
[src]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. Read more
impl<S, T, N, D> ConvolutionOps<DspVec<S, T, N, D>, S, T, N, D> for Matrix2xN<DspVec<S, T, N, D>, S, T> where
N: NumberSpace,
T: RealNumber,
S: ToSliceMut<T>,
D: Domain,
DspVec<S, T, N, D>: ConvolutionOps<DspVec<S, T, N, D>, S, T, N, D>,
[src]
impl<S, T, N, D> ConvolutionOps<DspVec<S, T, N, D>, S, T, N, D> for Matrix2xN<DspVec<S, T, N, D>, S, T> where
N: NumberSpace,
T: RealNumber,
S: ToSliceMut<T>,
D: Domain,
DspVec<S, T, N, D>: ConvolutionOps<DspVec<S, T, N, D>, S, T, N, D>,
[src]pub fn convolve_signal<B>(
&mut self,
buffer: &mut B,
impulse_response: &DspVec<S, T, N, D>
) -> Result<(), ErrorReason> where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn convolve_signal<B>(
&mut self,
buffer: &mut B,
impulse_response: &DspVec<S, T, N, D>
) -> Result<(), ErrorReason> where
B: for<'b> Buffer<'b, S, T>,
[src]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. Read more
impl<V, S, T> CrossCorrelationArgumentOps<S, T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + CrossCorrelationArgumentOps<S, T>,
S: ToSliceMut<T>,
<V as ToFreqResult>::FreqResult: Vector<T>,
[src]
impl<V, S, T> CrossCorrelationArgumentOps<S, T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + CrossCorrelationArgumentOps<S, T>,
S: ToSliceMut<T>,
<V as ToFreqResult>::FreqResult: Vector<T>,
[src]pub fn prepare_argument<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn prepare_argument<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>,
[src]Prepares an argument to be used for convolution. Preparing an argument includes two steps: Read more
pub fn prepare_argument_padded<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn prepare_argument_padded<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>,
[src]Prepares an argument to be used for convolution. The argument is zero padded to
length of 2 * self.points() - 1
and then the same operations are performed as described for prepare_argument
. Read more
impl<S, T, N, D, O, V> CrossCorrelationOps<O, S, T, N, D> for Matrix2xN<V, S, T> where
N: NumberSpace,
T: RealNumber,
V: CrossCorrelationOps<V, S, T, N, D> + GetMetaData<T, N, D> + Vector<T>,
S: ToSliceMut<T>,
O: Matrix<V, T> + GetMetaData<T, N, D>,
D: Domain,
[src]
impl<S, T, N, D, O, V> CrossCorrelationOps<O, S, T, N, D> for Matrix2xN<V, S, T> where
N: NumberSpace,
T: RealNumber,
V: CrossCorrelationOps<V, S, T, N, D> + GetMetaData<T, N, D> + Vector<T>,
S: ToSliceMut<T>,
O: Matrix<V, T> + GetMetaData<T, N, D>,
D: Domain,
[src]Calculates the correlation between self
and other
. other
needs to be a time vector which
went through one of the prepare functions prepare_argument
or prepare_argument_padded
.
See also the trait description for more details. Read more
impl<S, V, T> DiffSumOps for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + DiffSumOps,
S: ToSlice<T>,
[src]
impl<S, V, T> DiffSumOps for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + DiffSumOps,
S: ToSlice<T>,
[src]impl<S, V, T, N, D> DotProductOps<Matrix2xN<V, S, T>, T, T, N, D> for Matrix2xN<V, S, T> where
N: NumberSpace,
T: RealNumber,
V: Vector<T> + DotProductOps<V, T, T, N, D, Output = Result<T, ErrorReason>> + GetMetaData<T, N, D>,
S: ToSlice<T>,
D: Domain,
[src]
impl<S, V, T, N, D> DotProductOps<Matrix2xN<V, S, T>, T, T, N, D> for Matrix2xN<V, S, T> where
N: NumberSpace,
T: RealNumber,
V: Vector<T> + DotProductOps<V, T, T, N, D, Output = Result<T, ErrorReason>> + GetMetaData<T, N, D>,
S: ToSlice<T>,
D: Domain,
[src]impl<S, V, T, N, D> DotProductOps<V, T, T, N, D> for Matrix2xN<V, S, T> where
N: NumberSpace,
T: RealNumber,
V: Vector<T> + DotProductOps<V, T, T, N, D, Output = Result<T, ErrorReason>> + GetMetaData<T, N, D>,
S: ToSlice<T>,
D: Domain,
[src]
impl<S, V, T, N, D> DotProductOps<V, T, T, N, D> for Matrix2xN<V, S, T> where
N: NumberSpace,
T: RealNumber,
V: Vector<T> + DotProductOps<V, T, T, N, D, Output = Result<T, ErrorReason>> + GetMetaData<T, N, D>,
S: ToSlice<T>,
D: Domain,
[src]impl<V, S, T, N, D> ElementaryOps<Matrix2xN<V, S, T>, T, N, D> for Matrix2xN<V, S, T> where
N: NumberSpace,
T: RealNumber,
V: Vector<T> + ElementaryOps<V, T, N, D> + GetMetaData<T, N, D>,
S: ToSlice<T>,
D: Domain,
[src]
impl<V, S, T, N, D> ElementaryOps<Matrix2xN<V, S, T>, T, N, D> for Matrix2xN<V, S, T> where
N: NumberSpace,
T: RealNumber,
V: Vector<T> + ElementaryOps<V, T, N, D> + GetMetaData<T, N, D>,
S: ToSlice<T>,
D: Domain,
[src]impl<V, S, T, N, D> ElementaryOps<V, T, N, D> for Matrix2xN<V, S, T> where
N: NumberSpace,
T: RealNumber,
V: Vector<T> + ElementaryOps<V, T, N, D> + GetMetaData<T, N, D>,
S: ToSlice<T>,
D: Domain,
[src]
impl<V, S, T, N, D> ElementaryOps<V, T, N, D> for Matrix2xN<V, S, T> where
N: NumberSpace,
T: RealNumber,
V: Vector<T> + ElementaryOps<V, T, N, D> + GetMetaData<T, N, D>,
S: ToSlice<T>,
D: Domain,
[src]impl<V, S, T, N, D> ElementaryWrapAroundOps<Matrix2xN<V, S, T>, T, N, D> for Matrix2xN<V, S, T> where
N: NumberSpace,
T: RealNumber,
V: Vector<T> + ElementaryWrapAroundOps<V, T, N, D> + GetMetaData<T, N, D>,
S: ToSlice<T>,
D: Domain,
[src]
impl<V, S, T, N, D> ElementaryWrapAroundOps<Matrix2xN<V, S, T>, T, N, D> for Matrix2xN<V, S, T> where
N: NumberSpace,
T: RealNumber,
V: Vector<T> + ElementaryWrapAroundOps<V, T, N, D> + GetMetaData<T, N, D>,
S: ToSlice<T>,
D: Domain,
[src]Calculates the sum of self + summand
. summand
may be smaller than self
as long
as self.len() % summand.len() == 0
. THe result is the same as it would be if
you would repeat summand
until it has the same length as self
.
It consumes self and returns the result. Read more
Calculates the sum of self - subtrahend
. subtrahend
may be smaller than self
as long
as self.len() % subtrahend.len() == 0
. THe result is the same as it would be if
you would repeat subtrahend
until it has the same length as self
.
It consumes self and returns the result. Read more
Calculates the sum of self - divisor
. divisor
may be smaller than self
as long
as self.len() % divisor.len() == 0
. THe result is the same as it would be if
you would repeat divisor
until it has the same length as self
.
It consumes self and returns the result. Read more
Calculates the sum of self - factor
. factor
may be smaller than self
as long
as self.len() % factor.len() == 0
. THe result is the same as it would be if
you would repeat factor
until it has the same length as self
.
It consumes self and returns the result. Read more
impl<V, S, T, N, D> ElementaryWrapAroundOps<V, T, N, D> for Matrix2xN<V, S, T> where
N: NumberSpace,
T: RealNumber,
V: Vector<T> + ElementaryWrapAroundOps<V, T, N, D> + GetMetaData<T, N, D>,
S: ToSlice<T>,
D: Domain,
[src]
impl<V, S, T, N, D> ElementaryWrapAroundOps<V, T, N, D> for Matrix2xN<V, S, T> where
N: NumberSpace,
T: RealNumber,
V: Vector<T> + ElementaryWrapAroundOps<V, T, N, D> + GetMetaData<T, N, D>,
S: ToSlice<T>,
D: Domain,
[src]Calculates the sum of self + summand
. summand
may be smaller than self
as long
as self.len() % summand.len() == 0
. THe result is the same as it would be if
you would repeat summand
until it has the same length as self
.
It consumes self and returns the result. Read more
Calculates the sum of self - subtrahend
. subtrahend
may be smaller than self
as long
as self.len() % subtrahend.len() == 0
. THe result is the same as it would be if
you would repeat subtrahend
until it has the same length as self
.
It consumes self and returns the result. Read more
Calculates the sum of self - divisor
. divisor
may be smaller than self
as long
as self.len() % divisor.len() == 0
. THe result is the same as it would be if
you would repeat divisor
until it has the same length as self
.
It consumes self and returns the result. Read more
Calculates the sum of self - factor
. factor
may be smaller than self
as long
as self.len() % factor.len() == 0
. THe result is the same as it would be if
you would repeat factor
until it has the same length as self
.
It consumes self and returns the result. Read more
impl<V, S, T> FrequencyDomainOperations<S, T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + FrequencyDomainOperations<S, T>,
S: ToSliceMut<T>,
[src]
impl<V, S, T> FrequencyDomainOperations<S, T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + FrequencyDomainOperations<S, T>,
S: ToSliceMut<T>,
[src]This function mirrors the spectrum vector to transform a symmetric spectrum into a full spectrum with the DC element at index 0 (no FFT shift/swap halves). Read more
Swaps vector halves before an Inverse Fourier Transformation.
impl<'a, V, S, T> FrequencyMultiplication<'a, S, T, &'a (dyn ComplexFrequencyResponse<T> + 'a)> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + FrequencyMultiplication<'a, S, T, &'a (dyn ComplexFrequencyResponse<T> + 'a)>,
S: ToSliceMut<T>,
[src]
impl<'a, V, S, T> FrequencyMultiplication<'a, S, T, &'a (dyn ComplexFrequencyResponse<T> + 'a)> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + FrequencyMultiplication<'a, S, T, &'a (dyn ComplexFrequencyResponse<T> + 'a)>,
S: ToSliceMut<T>,
[src]pub fn multiply_frequency_response(
&mut self,
frequency_response: &'a (dyn ComplexFrequencyResponse<T> + 'a),
ratio: T
)
[src]
pub fn multiply_frequency_response(
&mut self,
frequency_response: &'a (dyn ComplexFrequencyResponse<T> + 'a),
ratio: T
)
[src]Multiplies self
with the frequency response function frequency_response
. Read more
impl<'a, V, S, T> FrequencyMultiplication<'a, S, T, &'a (dyn RealFrequencyResponse<T> + 'a)> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + FrequencyMultiplication<'a, S, T, &'a (dyn RealFrequencyResponse<T> + 'a)>,
S: ToSliceMut<T>,
[src]
impl<'a, V, S, T> FrequencyMultiplication<'a, S, T, &'a (dyn RealFrequencyResponse<T> + 'a)> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + FrequencyMultiplication<'a, S, T, &'a (dyn RealFrequencyResponse<T> + 'a)>,
S: ToSliceMut<T>,
[src]pub fn multiply_frequency_response(
&mut self,
frequency_response: &'a (dyn RealFrequencyResponse<T> + 'a),
ratio: T
)
[src]
pub fn multiply_frequency_response(
&mut self,
frequency_response: &'a (dyn RealFrequencyResponse<T> + 'a),
ratio: T
)
[src]Multiplies self
with the frequency response function frequency_response
. Read more
impl<V, S, T> FrequencyToTimeDomainOperations<S, T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + FrequencyToTimeDomainOperations<S, T>,
S: ToSliceMut<T>,
<V as ToTimeResult>::TimeResult: Vector<T>,
[src]
impl<V, S, T> FrequencyToTimeDomainOperations<S, T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + FrequencyToTimeDomainOperations<S, T>,
S: ToSliceMut<T>,
<V as ToTimeResult>::TimeResult: Vector<T>,
[src]pub fn plain_ifft<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToTimeResult>::TimeResult where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn plain_ifft<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToTimeResult>::TimeResult where
B: for<'b> Buffer<'b, S, T>,
[src]Performs an Inverse Fast Fourier Transformation transforming a frequency domain vector into a time domain vector. Read more
pub fn ifft<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToTimeResult>::TimeResult where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn ifft<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToTimeResult>::TimeResult where
B: for<'b> Buffer<'b, S, T>,
[src]Performs an Inverse Fast Fourier Transformation transforming a frequency domain vector into a time domain vector. Read more
pub fn windowed_ifft<B>(
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> <Matrix2xN<V, S, T> as ToTimeResult>::TimeResult where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn windowed_ifft<B>(
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> <Matrix2xN<V, S, T> as ToTimeResult>::TimeResult where
B: for<'b> Buffer<'b, S, T>,
[src]Performs an Inverse Fast Fourier Transformation transforming a frequency domain vector into a time domain vector and removes the FFT window. Read more
impl<V, S, T> FromMatrix<T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T>,
S: ToSlice<T>,
[src]
impl<V, S, T> FromMatrix<T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T>,
S: ToSlice<T>,
[src]impl<V, S, T, N, D> GetMetaData<T, N, D> for Matrix2xN<V, S, T> where
N: NumberSpace,
T: RealNumber,
V: Vector<T> + GetMetaData<T, N, D>,
S: ToSlice<T>,
D: Domain,
[src]
impl<V, S, T, N, D> GetMetaData<T, N, D> for Matrix2xN<V, S, T> where
N: NumberSpace,
T: RealNumber,
V: Vector<T> + GetMetaData<T, N, D>,
S: ToSlice<T>,
D: Domain,
[src]Gets a copy of the vector meta data. This can be used to create new types with the same meta data. Read more
impl<V, S, T> InterpolationOps<S, T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + InterpolationOps<S, T>,
S: ToSliceMut<T>,
[src]
impl<V, S, T> InterpolationOps<S, T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + InterpolationOps<S, T>,
S: ToSliceMut<T>,
[src]pub fn interpolatef<B>(
&mut self,
buffer: &mut B,
function: &dyn RealImpulseResponse<T>,
interpolation_factor: T,
delay: T,
conv_len: usize
) where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn interpolatef<B>(
&mut self,
buffer: &mut B,
function: &dyn RealImpulseResponse<T>,
interpolation_factor: T,
delay: T,
conv_len: usize
) where
B: for<'b> Buffer<'b, S, T>,
[src]Interpolates self
with the convolution function function
by the real value
interpolation_factor
. InterpolationOps is done in time domain and the argument
conv_len
can be used to balance accuracy and computational performance.
A delay
can be used to delay or phase shift the vector.
The delay
considers self.delta()
. Read more
pub fn interpolatei<B>(
&mut self,
buffer: &mut B,
function: &dyn RealFrequencyResponse<T>,
interpolation_factor: u32
) -> Result<(), ErrorReason> where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn interpolatei<B>(
&mut self,
buffer: &mut B,
function: &dyn RealFrequencyResponse<T>,
interpolation_factor: u32
) -> Result<(), ErrorReason> where
B: for<'b> Buffer<'b, S, T>,
[src]Interpolates self
with the convolution function function
by the integer value
interpolation_factor
. InterpolationOps is done in in frequency domain. Read more
pub fn interpolate<B>(
&mut self,
buffer: &mut B,
function: Option<&dyn RealFrequencyResponse<T>>,
dest_points: usize,
delay: T
) -> Result<(), ErrorReason> where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn interpolate<B>(
&mut self,
buffer: &mut B,
function: Option<&dyn RealFrequencyResponse<T>>,
dest_points: usize,
delay: T
) -> Result<(), ErrorReason> where
B: for<'b> Buffer<'b, S, T>,
[src]Interpolates the signal in frequency domain by padding it with zeros.
Interpolates the signal in frequency domain by padding it with zeros. This function preserves the shape of the signal in frequency domain. Read more
impl<S, V, T, R> MapAggregateOps<T, R> for Matrix2xN<V, S, T> where
T: RealNumber,
R: Send,
V: Vector<T> + MapAggregateOps<T, R, Output = Result<R, ErrorReason>>,
S: ToSlice<T>,
[src]
impl<S, V, T, R> MapAggregateOps<T, R> for Matrix2xN<V, S, T> where
T: RealNumber,
R: Send,
V: Vector<T> + MapAggregateOps<T, R, Output = Result<R, ErrorReason>>,
S: ToSlice<T>,
[src]type Output = Result<[R; 2], ErrorReason>
Transforms all vector elements using the function map
and then aggregates
all the results with aggregate
. aggregate
must be a commutativity and associativity;
that’s because there is no guarantee that the numbers will
be aggregated in any deterministic order. Read more
impl<S, V, T> MapInplaceOps<Complex<T>> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + MapInplaceOps<Complex<T>>,
S: ToSlice<T>,
[src]
impl<S, V, T> MapInplaceOps<Complex<T>> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + MapInplaceOps<Complex<T>>,
S: ToSlice<T>,
[src]impl<S, V, T> MapInplaceOps<T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + MapInplaceOps<T>,
S: ToSlice<T>,
[src]
impl<S, V, T> MapInplaceOps<T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + MapInplaceOps<T>,
S: ToSlice<T>,
[src]The x-axis delta. If domain
is time domain then delta
is in [s]
,
in frequency domain delta
is in [Hz]
. Read more
Sets the x-axis delta. If domain
is time domain then delta
is in [s]
,
in frequency domain delta
is in [Hz]
. Read more
The number of valid elements in each row of the matrix. This can be changed
with the Resize
trait. Read more
The number of valid points in a row. If the matrix is complex then every valid point consists of two floating point numbers, while for real vectors every point only consists of one floating point number. Read more
Each value in the vector is dividable by the divisor and the remainder is stored in the resulting vector. This the same a modulo operation or to phase wrapping. Read more
impl<S, V, T, N, D> PreciseDotProductOps<Matrix2xN<V, S, T>, T, T, N, D> for Matrix2xN<V, S, T> where
N: NumberSpace,
T: RealNumber,
V: Vector<T> + PreciseDotProductOps<V, T, T, N, D, Output = Result<T, ErrorReason>> + GetMetaData<T, N, D>,
S: ToSlice<T>,
D: Domain,
[src]
impl<S, V, T, N, D> PreciseDotProductOps<Matrix2xN<V, S, T>, T, T, N, D> for Matrix2xN<V, S, T> where
N: NumberSpace,
T: RealNumber,
V: Vector<T> + PreciseDotProductOps<V, T, T, N, D, Output = Result<T, ErrorReason>> + GetMetaData<T, N, D>,
S: ToSlice<T>,
D: Domain,
[src]type Output = Result<Vec<T, Global>, ErrorReason>
pub fn dot_product_prec(
&self,
factor: &Matrix2xN<V, S, T>
) -> Result<Vec<T, Global>, ErrorReason>
[src]
pub fn dot_product_prec(
&self,
factor: &Matrix2xN<V, S, T>
) -> Result<Vec<T, Global>, ErrorReason>
[src]Calculates the dot product of self and factor using a more precise but slower algorithm. Self and factor remain unchanged. Read more
impl<S, V, T, N, D> PreciseDotProductOps<V, T, T, N, D> for Matrix2xN<V, S, T> where
N: NumberSpace,
T: RealNumber,
V: Vector<T> + PreciseDotProductOps<V, T, T, N, D, Output = Result<T, ErrorReason>> + GetMetaData<T, N, D>,
S: ToSlice<T>,
D: Domain,
[src]
impl<S, V, T, N, D> PreciseDotProductOps<V, T, T, N, D> for Matrix2xN<V, S, T> where
N: NumberSpace,
T: RealNumber,
V: Vector<T> + PreciseDotProductOps<V, T, T, N, D, Output = Result<T, ErrorReason>> + GetMetaData<T, N, D>,
S: ToSlice<T>,
D: Domain,
[src]impl<S, V, T> PreciseStatisticsOps<T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + PreciseStatisticsOps<Statistics<T>, Result = Statistics<T>>,
S: ToSlice<T>,
[src]
impl<S, V, T> PreciseStatisticsOps<T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + PreciseStatisticsOps<Statistics<T>, Result = Statistics<T>>,
S: ToSlice<T>,
[src]type Result = [Statistics<T>; 2]
Calculates the statistics of the data contained in the vector using a more precise but slower algorithm. Read more
impl<S, V, T> PreciseStatisticsSplitOps<T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + PreciseStatisticsSplitOps<Statistics<T>, Result = ArrayVec<Statistics<T>, {_: usize}>>,
S: ToSlice<T>,
[src]
impl<S, V, T> PreciseStatisticsSplitOps<T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + PreciseStatisticsSplitOps<Statistics<T>, Result = ArrayVec<Statistics<T>, {_: usize}>>,
S: ToSlice<T>,
[src]type Result = [ArrayVec<Statistics<T>, {_: usize}>; 2]
pub fn statistics_split_prec(
&self,
len: usize
) -> Result<<Matrix2xN<V, S, T> as PreciseStatisticsSplitOps<T>>::Result, ErrorReason>
[src]
pub fn statistics_split_prec(
&self,
len: usize
) -> Result<<Matrix2xN<V, S, T> as PreciseStatisticsSplitOps<T>>::Result, ErrorReason>
[src]Calculates the statistics of the data contained in the vector as if the vector would
have been split into len
pieces
using a more precise but slower algorithm. self.len
should be dividable by
len
without a remainder,
but this isn’t enforced by the implementation.
For implementation reasons len <= 16
must be true. Read more
impl<S, V, T, O> PreciseSumOps<[O; 2]> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + PreciseSumOps<O>,
S: ToSlice<T>,
O: RealNumber,
[src]
impl<S, V, T, O> PreciseSumOps<[O; 2]> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + PreciseSumOps<O>,
S: ToSlice<T>,
O: RealNumber,
[src]impl<V, S, T> RealInterpolationOps<S, T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + RealInterpolationOps<S, T>,
S: ToSliceMut<T>,
[src]
impl<V, S, T> RealInterpolationOps<S, T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + RealInterpolationOps<S, T>,
S: ToSliceMut<T>,
[src]pub fn interpolate_hermite<B>(
&mut self,
buffer: &mut B,
interpolation_factor: T,
delay: T
) where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn interpolate_hermite<B>(
&mut self,
buffer: &mut B,
interpolation_factor: T,
delay: T
) where
B: for<'b> Buffer<'b, S, T>,
[src]Piecewise cubic hermite interpolation between samples.
pub fn interpolate_lin<B>(
&mut self,
buffer: &mut B,
interpolation_factor: T,
delay: T
) where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn interpolate_lin<B>(
&mut self,
buffer: &mut B,
interpolation_factor: T,
delay: T
) where
B: for<'b> Buffer<'b, S, T>,
[src]Linear interpolation between samples.
impl<V, S, T> RealToComplexTransformsOps<T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + RealToComplexTransformsOps<T>,
S: ToSlice<T>,
<V as ToComplexResult>::ComplexResult: Vector<T>,
[src]
impl<V, S, T> RealToComplexTransformsOps<T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + RealToComplexTransformsOps<T>,
S: ToSlice<T>,
<V as ToComplexResult>::ComplexResult: Vector<T>,
[src]pub fn to_complex(
self
) -> Result<<Matrix2xN<V, S, T> as ToComplexResult>::ComplexResult, (ErrorReason, <Matrix2xN<V, S, T> as ToComplexResult>::ComplexResult)>
[src]
pub fn to_complex(
self
) -> Result<<Matrix2xN<V, S, T> as ToComplexResult>::ComplexResult, (ErrorReason, <Matrix2xN<V, S, T> as ToComplexResult>::ComplexResult)>
[src]Converts the real vector into a complex vector. Read more
impl<V, S, T> RealToComplexTransformsOpsBuffered<S, T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + RealToComplexTransformsOpsBuffered<S, T>,
S: ToSliceMut<T>,
<V as ToComplexResult>::ComplexResult: Vector<T>,
[src]
impl<V, S, T> RealToComplexTransformsOpsBuffered<S, T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + RealToComplexTransformsOpsBuffered<S, T>,
S: ToSliceMut<T>,
<V as ToComplexResult>::ComplexResult: Vector<T>,
[src]pub fn to_complex_b<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToComplexResult>::ComplexResult where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn to_complex_b<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToComplexResult>::ComplexResult where
B: for<'b> Buffer<'b, S, T>,
[src]Converts the real vector into a complex vector. The buffer allows this operation to succeed even if the storage type doesn’t allow resizing. Read more
impl<V, O, S, T> RededicateForceOps<Matrix2xN<O, S, T>> for Matrix2xN<V, S, T> where
T: RealNumber,
V: RededicateForceOps<O> + Vector<T>,
S: ToSlice<T>,
O: Vector<T>,
[src]
impl<V, O, S, T> RededicateForceOps<Matrix2xN<O, S, T>> for Matrix2xN<V, S, T> where
T: RealNumber,
V: RededicateForceOps<O> + Vector<T>,
S: ToSlice<T>,
O: Vector<T>,
[src]Make Other
a Self
without performing any checks.
pub fn rededicate_with_runtime_data(
origin: Matrix2xN<O, S, T>,
is_complex: bool,
domain: DataDomain
) -> Matrix2xN<V, S, T>
[src]
pub fn rededicate_with_runtime_data(
origin: Matrix2xN<O, S, T>,
is_complex: bool,
domain: DataDomain
) -> Matrix2xN<V, S, T>
[src]Make Other
a Self
without performing any checks. Read more
impl<V, S, T> ReorganizeDataOps<T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + ReorganizeDataOps<T>,
S: ToSlice<T>,
[src]
impl<V, S, T> ReorganizeDataOps<T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + ReorganizeDataOps<T>,
S: ToSlice<T>,
[src]impl<S, V, T> StatisticsOps<T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + StatisticsOps<Statistics<T>, Result = Statistics<T>>,
S: ToSlice<T>,
[src]
impl<S, V, T> StatisticsOps<T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + StatisticsOps<Statistics<T>, Result = Statistics<T>>,
S: ToSlice<T>,
[src]type Result = [Statistics<T>; 2]
Calculates the statistics of the data. Read more
impl<S, V, T> StatisticsSplitOps<T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + StatisticsSplitOps<Statistics<T>, Result = ArrayVec<Statistics<T>, {_: usize}>>,
S: ToSlice<T>,
[src]
impl<S, V, T> StatisticsSplitOps<T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + StatisticsSplitOps<Statistics<T>, Result = ArrayVec<Statistics<T>, {_: usize}>>,
S: ToSlice<T>,
[src]type Result = [ArrayVec<Statistics<T>, {_: usize}>; 2]
pub fn statistics_split(
&self,
len: usize
) -> Result<<Matrix2xN<V, S, T> as StatisticsSplitOps<T>>::Result, ErrorReason>
[src]
pub fn statistics_split(
&self,
len: usize
) -> Result<<Matrix2xN<V, S, T> as StatisticsSplitOps<T>>::Result, ErrorReason>
[src]Calculates the statistics of the data contained in the vector as if the vector would
have been split into len
pieces. self.len
should be dividable by
len
without a remainder,
but this isn’t enforced by the implementation.
For implementation reasons len <= 16
must be true. Read more
impl<V, S, T> SymmetricFrequencyToTimeDomainOperations<S, T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + SymmetricFrequencyToTimeDomainOperations<S, T>,
S: ToSliceMut<T>,
<V as ToRealTimeResult>::RealTimeResult: Vector<T>,
[src]
impl<V, S, T> SymmetricFrequencyToTimeDomainOperations<S, T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + SymmetricFrequencyToTimeDomainOperations<S, T>,
S: ToSliceMut<T>,
<V as ToRealTimeResult>::RealTimeResult: Vector<T>,
[src]pub fn plain_sifft<B>(
self,
buffer: &mut B
) -> Result<<Matrix2xN<V, S, T> as ToRealTimeResult>::RealTimeResult, (ErrorReason, <Matrix2xN<V, S, T> as ToRealTimeResult>::RealTimeResult)> where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn plain_sifft<B>(
self,
buffer: &mut B
) -> Result<<Matrix2xN<V, S, T> as ToRealTimeResult>::RealTimeResult, (ErrorReason, <Matrix2xN<V, S, T> as ToRealTimeResult>::RealTimeResult)> where
B: for<'b> Buffer<'b, S, T>,
[src]Performs a Symmetric Inverse Fast Fourier Transformation under the assumption that self
contains half of a symmetric spectrum starting from 0 Hz. This assumption
isn’t verified and no error is raised if the spectrum isn’t symmetric. The reason
for this is that there is no robust verification possible. Read more
pub fn sifft<B>(
self,
buffer: &mut B
) -> Result<<Matrix2xN<V, S, T> as ToRealTimeResult>::RealTimeResult, (ErrorReason, <Matrix2xN<V, S, T> as ToRealTimeResult>::RealTimeResult)> where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn sifft<B>(
self,
buffer: &mut B
) -> Result<<Matrix2xN<V, S, T> as ToRealTimeResult>::RealTimeResult, (ErrorReason, <Matrix2xN<V, S, T> as ToRealTimeResult>::RealTimeResult)> where
B: for<'b> Buffer<'b, S, T>,
[src]Performs a Symmetric Inverse Fast Fourier Transformation under the assumption that self
contains half of a symmetric spectrum starting from 0 Hz. This assumption
isn’t verified and no error is raised if the spectrum isn’t symmetric. The reason
for this is that there is no robust verification possible. Read more
pub fn windowed_sifft<B>(
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> Result<<Matrix2xN<V, S, T> as ToRealTimeResult>::RealTimeResult, (ErrorReason, <Matrix2xN<V, S, T> as ToRealTimeResult>::RealTimeResult)> where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn windowed_sifft<B>(
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> Result<<Matrix2xN<V, S, T> as ToRealTimeResult>::RealTimeResult, (ErrorReason, <Matrix2xN<V, S, T> as ToRealTimeResult>::RealTimeResult)> where
B: for<'b> Buffer<'b, S, T>,
[src]Performs a Symmetric Inverse Fast Fourier Transformation (SIFFT) and removes the FFT
window. The SIFFT is performed under the assumption that self
contains half of a symmetric spectrum starting from 0 Hz. This assumption
isn’t verified and no error is raised if the spectrum isn’t symmetric. The reason
for this is that there is no robust verification possible. Read more
impl<V, S, T> SymmetricTimeToFrequencyDomainOperations<S, T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + SymmetricTimeToFrequencyDomainOperations<S, T>,
S: ToSliceMut<T>,
<V as ToFreqResult>::FreqResult: Vector<T>,
[src]
impl<V, S, T> SymmetricTimeToFrequencyDomainOperations<S, T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + SymmetricTimeToFrequencyDomainOperations<S, T>,
S: ToSliceMut<T>,
<V as ToFreqResult>::FreqResult: Vector<T>,
[src]pub fn plain_sfft<B>(
self,
buffer: &mut B
) -> Result<<Matrix2xN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult)> where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn plain_sfft<B>(
self,
buffer: &mut B
) -> Result<<Matrix2xN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult)> where
B: for<'b> Buffer<'b, S, T>,
[src]Performs a Symmetric Fast Fourier Transformation under the assumption that self
is symmetric around the center. This assumption
isn’t verified and no error is raised if the vector isn’t symmetric. Read more
pub fn sfft<B>(
self,
buffer: &mut B
) -> Result<<Matrix2xN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult)> where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn sfft<B>(
self,
buffer: &mut B
) -> Result<<Matrix2xN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult)> where
B: for<'b> Buffer<'b, S, T>,
[src]Performs a Symmetric Fast Fourier Transformation under the assumption that self
is symmetric around the center. This assumption
isn’t verified and no error is raised if the vector isn’t symmetric. Read more
pub fn windowed_sfft<B>(
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> Result<<Matrix2xN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult)> where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn windowed_sfft<B>(
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> Result<<Matrix2xN<V, S, T> as ToFreqResult>::FreqResult, (ErrorReason, <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult)> where
B: for<'b> Buffer<'b, S, T>,
[src]Performs a Symmetric Fast Fourier Transformation under the assumption that self
is symmetric around the center. This assumption
isn’t verified and no error is raised if the vector isn’t symmetric. Read more
impl<V, S, T> TimeDomainOperations<S, T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + TimeDomainOperations<S, T>,
S: ToSliceMut<T>,
[src]
impl<V, S, T> TimeDomainOperations<S, T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + TimeDomainOperations<S, T>,
S: ToSliceMut<T>,
[src]Applies a window to the data vector.
Removes a window from the data vector.
impl<V, S, T> TimeToFrequencyDomainOperations<S, T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + TimeToFrequencyDomainOperations<S, T>,
S: ToSliceMut<T>,
<V as ToFreqResult>::FreqResult: Vector<T>,
[src]
impl<V, S, T> TimeToFrequencyDomainOperations<S, T> for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + TimeToFrequencyDomainOperations<S, T>,
S: ToSliceMut<T>,
<V as ToFreqResult>::FreqResult: Vector<T>,
[src]pub fn plain_fft<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn plain_fft<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>,
[src]Performs a Fast Fourier Transformation transforming a time domain vector into a frequency domain vector. Read more
pub fn fft<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn fft<B>(
self,
buffer: &mut B
) -> <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>,
[src]Performs a Fast Fourier Transformation transforming a time domain vector into a frequency domain vector. Read more
pub fn windowed_fft<B>(
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>,
[src]
pub fn windowed_fft<B>(
self,
buffer: &mut B,
window: &dyn WindowFunction<T>
) -> <Matrix2xN<V, S, T> as ToFreqResult>::FreqResult where
B: for<'b> Buffer<'b, S, T>,
[src]Applies a FFT window and performs a Fast Fourier Transformation transforming a time domain vector into a frequency domain vector. Read more
impl<V, S, T> ToComplexResult for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + ToComplexResult,
S: ToSlice<T>,
<V as ToComplexResult>::ComplexResult: Vector<T>,
[src]
impl<V, S, T> ToComplexResult for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + ToComplexResult,
S: ToSlice<T>,
<V as ToComplexResult>::ComplexResult: Vector<T>,
[src]type ComplexResult = Matrix2xN<<V as ToComplexResult>::ComplexResult, S, T>
impl<V, S, T> ToFreqResult for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + ToFreqResult,
S: ToSlice<T>,
<V as ToFreqResult>::FreqResult: Vector<T>,
[src]
impl<V, S, T> ToFreqResult for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + ToFreqResult,
S: ToSlice<T>,
<V as ToFreqResult>::FreqResult: Vector<T>,
[src]type FreqResult = Matrix2xN<<V as ToFreqResult>::FreqResult, S, T>
impl<V, S, T> ToRealResult for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + ToRealResult,
S: ToSlice<T>,
<V as ToRealResult>::RealResult: Vector<T>,
[src]
impl<V, S, T> ToRealResult for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + ToRealResult,
S: ToSlice<T>,
<V as ToRealResult>::RealResult: Vector<T>,
[src]type RealResult = Matrix2xN<<V as ToRealResult>::RealResult, S, T>
impl<V, S, T> ToRealTimeResult for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + ToRealTimeResult,
S: ToSlice<T>,
<V as ToRealTimeResult>::RealTimeResult: Vector<T>,
[src]
impl<V, S, T> ToRealTimeResult for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + ToRealTimeResult,
S: ToSlice<T>,
<V as ToRealTimeResult>::RealTimeResult: Vector<T>,
[src]type RealTimeResult = Matrix2xN<<V as ToRealTimeResult>::RealTimeResult, S, T>
impl<V, S, T> ToTimeResult for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + ToTimeResult,
S: ToSlice<T>,
<V as ToTimeResult>::TimeResult: Vector<T>,
[src]
impl<V, S, T> ToTimeResult for Matrix2xN<V, S, T> where
T: RealNumber,
V: Vector<T> + ToTimeResult,
S: ToSlice<T>,
<V as ToTimeResult>::TimeResult: Vector<T>,
[src]type TimeResult = Matrix2xN<<V as ToTimeResult>::TimeResult, S, T>
type TimeResult = Matrix2xN<<V as ToTimeResult>::TimeResult, S, T>
Specifies what the the result is if a type is transformed to time domain.
Calculates the principal value of the inverse sine of each element in radians.
Calculates the principal value of the inverse cosine of each element in radians.
Calculates the principal value of the inverse tangent of each element in radians.
Calculates the principal value of the inverse hyperbolic sine of each element in radians.
Calculates the principal value of the inverse hyperbolic cosine of each element in radians.
Auto Trait Implementations
impl<V, S, T> RefUnwindSafe for Matrix2xN<V, S, T> where
S: RefUnwindSafe,
T: RefUnwindSafe,
V: RefUnwindSafe,
impl<V, S, T> UnwindSafe for Matrix2xN<V, S, T> where
S: UnwindSafe,
T: UnwindSafe,
V: UnwindSafe,