Trait basic_dsp_matrix::Matrix

source ·
pub trait Matrix<V, T>: MetaData + ResizeOps
where V: Vector<T>, T: RealNumber,
{ // Required methods fn delta(&self) -> T; fn set_delta(&mut self, delta: T); fn row_len(&self) -> usize; fn row_points(&self) -> usize; fn col_len(&self) -> usize; fn rows(&self) -> &[V]; fn rows_mut(&mut self) -> &mut [V]; }
Expand description

A trait for matrix types. In this lib a matrix is simply a collection of vectors. The idea is that the matrix types can be used to reduce the size of a large matrix and that the return types are basic enough so that other specialized matrix libs can do the rest of the work, e.g. inverting the resulting matrix.

Required Methods§

source

fn delta(&self) -> T

The x-axis delta. If domain is time domain then delta is in [s], in frequency domain delta is in [Hz].

source

fn set_delta(&mut self, delta: T)

Sets the x-axis delta. If domain is time domain then delta is in [s], in frequency domain delta is in [Hz].

source

fn row_len(&self) -> usize

The number of valid elements in each row of the matrix. This can be changed with the Resize trait.

source

fn row_points(&self) -> usize

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.

source

fn col_len(&self) -> usize

The number of columns in the matrix.

source

fn rows(&self) -> &[V]

Gets the rows as vectors.

source

fn rows_mut(&mut self) -> &mut [V]

Gets the rows as mutable vectors.

Implementors§

source§

impl<V, S, T> Matrix<V, T> for Matrix2xN<V, S, T>
where T: RealNumber, S: ToSlice<T>, V: Vector<T>,

source§

impl<V, S, T> Matrix<V, T> for Matrix3xN<V, S, T>
where T: RealNumber, S: ToSlice<T>, V: Vector<T>,

source§

impl<V, S, T> Matrix<V, T> for Matrix4xN<V, S, T>
where T: RealNumber, S: ToSlice<T>, V: Vector<T>,

source§

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