[][src]Struct basic_dsp::matrix::MatrixMxN

pub struct MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T>, 
{ /* fields omitted */ }

A matrix which can hold 1 to N vectors.

Trait Implementations

impl<V, S, T, N, D> ElementaryOps<MatrixMxN<V, S, T>, T, N, D> for MatrixMxN<V, S, T> where
    D: Domain,
    N: NumberSpace,
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + ElementaryOps<V, T, N, D> + GetMetaData<T, N, D>, 
[src]

impl<V, S, T, N, D> ElementaryOps<V, T, N, D> for MatrixMxN<V, S, T> where
    D: Domain,
    N: NumberSpace,
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + ElementaryOps<V, T, N, D> + GetMetaData<T, N, D>, 
[src]

impl<V, S, T> ComplexToRealTransformsOps<T> for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + ComplexToRealTransformsOps<T>,
    <V as ToRealResult>::RealResult: Vector<T>, 
[src]

impl<V, S, T, N, D> GetMetaData<T, N, D> for MatrixMxN<V, S, T> where
    D: Domain,
    N: NumberSpace,
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + GetMetaData<T, N, D>, 
[src]

impl<S, V, T> PreciseStatisticsOps<T> for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + PreciseStatisticsOps<Statistics<T>, Result = Statistics<T>>, 
[src]

type Result = Vec<Statistics<T>>

impl<V, S, T, N, D, O> ComplexToRealSetterOps<O, T, N, D> for MatrixMxN<V, S, T> where
    D: Domain,
    N: NumberSpace,
    O: Matrix<V, T> + GetMetaData<T, N, D>,
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + ComplexToRealSetterOps<V, T, N, D> + GetMetaData<T, N, D>, 
[src]

impl<S, T, N, D> ConvolutionOps<DspVec<S, T, N, D>, S, T, N, D> for MatrixMxN<DspVec<S, T, N, D>, S, T> where
    D: Domain,
    N: NumberSpace,
    S: ToSliceMut<T>,
    T: RealNumber,
    DspVec<S, T, N, D>: ConvolutionOps<DspVec<S, T, N, D>, S, T, N, D>, 
[src]

impl<'a, S, T, N, D> ConvolutionOps<Vec<&'a Vec<&'a DspVec<S, T, N, D>>>, S, T, N, D> for MatrixMxN<DspVec<S, T, N, D>, S, T> where
    D: Domain,
    N: NumberSpace,
    S: ToSliceMut<T>,
    T: RealNumber
[src]

impl<V, S, T> ToTimeResult for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + ToTimeResult,
    <V as ToTimeResult>::TimeResult: Vector<T>, 
[src]

type TimeResult = MatrixMxN<<V as ToTimeResult>::TimeResult, S, T>

Specifies what the the result is if a type is transformed to time domain.

impl<V, S, T> SymmetricTimeToFrequencyDomainOperations<S, T> for MatrixMxN<V, S, T> where
    S: ToSliceMut<T>,
    T: RealNumber,
    V: Vector<T> + SymmetricTimeToFrequencyDomainOperations<S, T>,
    <V as ToFreqResult>::FreqResult: Vector<T>, 
[src]

impl<V, S, T> RealOps for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + RealOps
[src]

impl<V, S, T> FrequencyDomainOperations<S, T> for MatrixMxN<V, S, T> where
    S: ToSliceMut<T>,
    T: RealNumber,
    V: Vector<T> + FrequencyDomainOperations<S, T>, 
[src]

impl<V, S, T> RealInterpolationOps<S, T> for MatrixMxN<V, S, T> where
    S: ToSliceMut<T>,
    T: RealNumber,
    V: Vector<T> + RealInterpolationOps<S, T>, 
[src]

impl<V, S, T> ToRealTimeResult for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + ToRealTimeResult,
    <V as ToRealTimeResult>::RealTimeResult: Vector<T>, 
[src]

impl<S, V, T> StatisticsOps<T> for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + StatisticsOps<Statistics<T>, Result = Statistics<T>>, 
[src]

type Result = Vec<Statistics<T>>

impl<S, V, T, R> MapAggregateOps<T, R> for MatrixMxN<V, S, T> where
    R: Send,
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + MapAggregateOps<T, R, Output = Result<R, ErrorReason>>, 
[src]

type Output = Result<Vec<R>, ErrorReason>

impl<V, S, T, N, D, O> ComplexToRealGetterOps<O, T, N, D> for MatrixMxN<V, S, T> where
    D: Domain,
    N: NumberSpace,
    O: Matrix<V, T> + GetMetaData<T, N, D>,
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + ComplexToRealGetterOps<V, T, N, D> + GetMetaData<T, N, D>, 
[src]

impl<S, T, N, D, O, V> CrossCorrelationOps<O, S, T, N, D> for MatrixMxN<V, S, T> where
    D: Domain,
    N: NumberSpace,
    O: Matrix<V, T> + GetMetaData<T, N, D>,
    S: ToSliceMut<T>,
    T: RealNumber,
    V: CrossCorrelationOps<V, S, T, N, D> + GetMetaData<T, N, D> + Vector<T>, 
[src]

impl<V, S, T> CrossCorrelationArgumentOps<S, T> for MatrixMxN<V, S, T> where
    S: ToSliceMut<T>,
    T: RealNumber,
    V: Vector<T> + CrossCorrelationArgumentOps<S, T>,
    <V as ToFreqResult>::FreqResult: Vector<T>, 
[src]

impl<V, S, T> ComplexToRealTransformsOpsBuffered<S, T> for MatrixMxN<V, S, T> where
    S: ToSliceMut<T>,
    T: RealNumber,
    V: Vector<T> + ComplexToRealTransformsOpsBuffered<S, T>,
    <V as ToRealResult>::RealResult: Vector<T>, 
[src]

impl<V, S, T> ReorganizeDataOps<T> for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + ReorganizeDataOps<T>, 
[src]

impl<S, V, T> ApproximatedOps<T> for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + ApproximatedOps<T>, 
[src]

impl<V, S, T> ToFreqResult for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + ToFreqResult,
    <V as ToFreqResult>::FreqResult: Vector<T>, 
[src]

impl<V, S, T> ModuloOps<T> for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + ModuloOps<T>, 
[src]

impl<S, V, T, O> PreciseSumOps<Vec<O>> for MatrixMxN<V, S, T> where
    O: RealNumber,
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + PreciseSumOps<O>, 
[src]

impl<V, S, T> TimeDomainOperations<S, T> for MatrixMxN<V, S, T> where
    S: ToSliceMut<T>,
    T: RealNumber,
    V: Vector<T> + TimeDomainOperations<S, T>, 
[src]

impl<V, S, T> ResizeOps for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T>, 
[src]

impl<V, S, T> ToRealResult for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + ToRealResult,
    <V as ToRealResult>::RealResult: Vector<T>, 
[src]

impl<V, S, T> MetaData for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T>, 
[src]

impl<S, V, T> PreciseStatisticsSplitOps<T> for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + PreciseStatisticsSplitOps<Statistics<T>, Result = ArrayVec<[Statistics<T>; 16]>>, 
[src]

type Result = Vec<ArrayVec<[Statistics<T>; 16]>>

impl<V, S, T> TimeToFrequencyDomainOperations<S, T> for MatrixMxN<V, S, T> where
    S: ToSliceMut<T>,
    T: RealNumber,
    V: Vector<T> + TimeToFrequencyDomainOperations<S, T>,
    <V as ToFreqResult>::FreqResult: Vector<T>, 
[src]

impl<S, V, T, N, D> PreciseDotProductOps<V, T, T, N, D> for MatrixMxN<V, S, T> where
    D: Domain,
    N: NumberSpace,
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + PreciseDotProductOps<V, T, T, N, D, Output = Result<T, ErrorReason>> + GetMetaData<T, N, D>, 
[src]

type Output = Result<Vec<T>, ErrorReason>

impl<S, V, T, N, D> PreciseDotProductOps<MatrixMxN<V, S, T>, T, T, N, D> for MatrixMxN<V, S, T> where
    D: Domain,
    N: NumberSpace,
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + PreciseDotProductOps<V, T, T, N, D, Output = Result<T, ErrorReason>> + GetMetaData<T, N, D>, 
[src]

type Output = Result<Vec<T>, ErrorReason>

impl<V, S, T> InterpolationOps<S, T> for MatrixMxN<V, S, T> where
    S: ToSliceMut<T>,
    T: RealNumber,
    V: Vector<T> + InterpolationOps<S, T>, 
[src]

impl<V, S, T> RealToComplexTransformsOps<T> for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + RealToComplexTransformsOps<T>,
    <V as ToComplexResult>::ComplexResult: Vector<T>, 
[src]

impl<V, S, T> SymmetricFrequencyToTimeDomainOperations<S, T> for MatrixMxN<V, S, T> where
    S: ToSliceMut<T>,
    T: RealNumber,
    V: Vector<T> + SymmetricFrequencyToTimeDomainOperations<S, T>,
    <V as ToRealTimeResult>::RealTimeResult: Vector<T>, 
[src]

impl<S, V, T> DiffSumOps for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + DiffSumOps
[src]

impl<S, V, T, N, D> DotProductOps<MatrixMxN<V, S, T>, T, T, N, D> for MatrixMxN<V, S, T> where
    D: Domain,
    N: NumberSpace,
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + DotProductOps<V, T, T, N, D, Output = Result<T, ErrorReason>> + GetMetaData<T, N, D>, 
[src]

type Output = Result<Vec<T>, ErrorReason>

impl<S, V, T, N, D> DotProductOps<V, T, T, N, D> for MatrixMxN<V, S, T> where
    D: Domain,
    N: NumberSpace,
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + DotProductOps<V, T, T, N, D, Output = Result<T, ErrorReason>> + GetMetaData<T, N, D>, 
[src]

type Output = Result<Vec<T>, ErrorReason>

impl<V, S, T> ComplexOps<T> for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + ComplexOps<T>, 
[src]

impl<V, S, T> OffsetOps<T> for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + OffsetOps<T>, 
[src]

impl<V, S, T> OffsetOps<Complex<T>> for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + OffsetOps<Complex<T>>, 
[src]

impl<V, O, S, T> RededicateForceOps<MatrixMxN<O, S, T>> for MatrixMxN<V, S, T> where
    O: Vector<T>,
    S: ToSlice<T>,
    T: RealNumber + RealNumber,
    V: RededicateForceOps<O> + Vector<T>, 
[src]

impl<S, V, T> SumOps<Vec<T>> for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + SumOps<T>, 
[src]

impl<V, S, T, N, D> ElementaryWrapAroundOps<MatrixMxN<V, S, T>, T, N, D> for MatrixMxN<V, S, T> where
    D: Domain,
    N: NumberSpace,
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + ElementaryWrapAroundOps<V, T, N, D> + GetMetaData<T, N, D>, 
[src]

impl<V, S, T, N, D> ElementaryWrapAroundOps<V, T, N, D> for MatrixMxN<V, S, T> where
    D: Domain,
    N: NumberSpace,
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + ElementaryWrapAroundOps<V, T, N, D> + GetMetaData<T, N, D>, 
[src]

impl<S, V, T> StatisticsSplitOps<T> for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + StatisticsSplitOps<Statistics<T>, Result = ArrayVec<[Statistics<T>; 16]>>, 
[src]

type Result = Vec<ArrayVec<[Statistics<T>; 16]>>

impl<'a, V, S, T> Convolution<'a, S, T, &'a (dyn ComplexImpulseResponse<T> + 'a)> for MatrixMxN<V, S, T> where
    S: ToSliceMut<T>,
    T: RealNumber,
    V: Vector<T> + Convolution<'a, S, T, &'a (dyn ComplexImpulseResponse<T> + 'a)>, 
[src]

impl<'a, V, S, T> Convolution<'a, S, T, &'a (dyn RealImpulseResponse<T> + 'a)> for MatrixMxN<V, S, T> where
    S: ToSliceMut<T>,
    T: RealNumber,
    V: Vector<T> + Convolution<'a, S, T, &'a (dyn RealImpulseResponse<T> + 'a)>, 
[src]

impl<V, S, T> ToComplexResult for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + ToComplexResult,
    <V as ToComplexResult>::ComplexResult: Vector<T>, 
[src]

impl<S, V, T> TrigOps for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + TrigOps
[src]

impl<V, S, T> RealToComplexTransformsOpsBuffered<S, T> for MatrixMxN<V, S, T> where
    S: ToSliceMut<T>,
    T: RealNumber,
    V: Vector<T> + RealToComplexTransformsOpsBuffered<S, T>,
    <V as ToComplexResult>::ComplexResult: Vector<T>, 
[src]

impl<S, V, T> PowerOps<T> for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + PowerOps<T>, 
[src]

impl<V, S, T> ScaleOps<Complex<T>> for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + ScaleOps<Complex<T>>, 
[src]

impl<V, S, T> ScaleOps<T> for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + ScaleOps<T>, 
[src]

impl<V, S, T> Matrix<V, T> for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T>, 
[src]

impl<V, S, T> FrequencyToTimeDomainOperations<S, T> for MatrixMxN<V, S, T> where
    S: ToSliceMut<T>,
    T: RealNumber,
    V: Vector<T> + FrequencyToTimeDomainOperations<S, T>,
    <V as ToTimeResult>::TimeResult: Vector<T>, 
[src]

impl<'a, V, S, T> FrequencyMultiplication<'a, S, T, &'a (dyn ComplexFrequencyResponse<T> + 'a)> for MatrixMxN<V, S, T> where
    S: ToSliceMut<T>,
    T: RealNumber,
    V: Vector<T> + FrequencyMultiplication<'a, S, T, &'a (dyn ComplexFrequencyResponse<T> + 'a)>, 
[src]

impl<'a, V, S, T> FrequencyMultiplication<'a, S, T, &'a (dyn RealFrequencyResponse<T> + 'a)> for MatrixMxN<V, S, T> where
    S: ToSliceMut<T>,
    T: RealNumber,
    V: Vector<T> + FrequencyMultiplication<'a, S, T, &'a (dyn RealFrequencyResponse<T> + 'a)>, 
[src]

impl<V, S, T> FromMatrix<T> for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T>, 
[src]

type Output = Vec<V>

Type of the underlying storage of a matrix.

impl<S, V, T> MapInplaceOps<T> for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + MapInplaceOps<T>, 
[src]

impl<S, V, T> MapInplaceOps<Complex<T>> for MatrixMxN<V, S, T> where
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + MapInplaceOps<Complex<T>>, 
[src]

Auto Trait Implementations

impl<V, S, T> Send for MatrixMxN<V, S, T> where
    S: Send,
    V: Send

impl<V, S, T> Sync for MatrixMxN<V, S, T> where
    S: Sync,
    V: Sync

Blanket Implementations

impl<T> From for T
[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Erased for T