Trait basic_dsp_matrix::Matrix
[−]
[src]
pub trait Matrix<V, T>: MetaData + ResizeOps where
V: Vector<T>,
T: RealNumber, { 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]; }
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
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]
.
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]
.
fn row_len(&self) -> usize
The number of valid elements in each row of the matrix. This can be changed
with the Resize
trait.
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.
fn col_len(&self) -> usize
The number of columns in the matrix.
fn rows(&self) -> &[V]
Gets the rows as vectors.
fn rows_mut(&mut self) -> &mut [V]
Gets the rows as mutable vectors.
Implementors
impl<V, S, T> Matrix<V, T> for MatrixMxN<V, S, T> where
T: RealNumber,
S: ToSlice<T>,
V: Vector<T>,impl<V, S, T> Matrix<V, T> for Matrix2xN<V, S, T> where
T: RealNumber,
S: ToSlice<T>,
V: Vector<T>,impl<V, S, T> Matrix<V, T> for Matrix3xN<V, S, T> where
T: RealNumber,
S: ToSlice<T>,
V: Vector<T>,impl<V, S, T> Matrix<V, T> for Matrix4xN<V, S, T> where
T: RealNumber,
S: ToSlice<T>,
V: Vector<T>,