Trait vox_geometry_rust::matrix_expression::MatrixExpression[][src]

pub trait MatrixExpression {
    fn size(&self) -> USize2;
fn rows(&self) -> usize;
fn cols(&self) -> usize;
fn eval(&self, x: usize, y: usize) -> f64; }
Expand description

Base class for matrix expression.

Matrix expression is a meta type that enables template expression pattern.

  • tparam T Real number type.
  • tparam E Subclass type.

Required methods

fn size(&self) -> USize2[src]

Size of the matrix.

fn rows(&self) -> usize[src]

Number of rows.

fn cols(&self) -> usize[src]

Number of columns.

fn eval(&self, x: usize, y: usize) -> f64[src]

Returns matrix element at (i, j).

Implementors

impl MatrixExpression for MatrixConstant[src]

fn size(&self) -> USize2[src]

Size of the matrix.

fn rows(&self) -> usize[src]

Number of rows.

fn cols(&self) -> usize[src]

Number of columns.

fn eval(&self, _i: usize, _j: usize) -> f64[src]

Returns matrix element at (i, j).

impl MatrixExpression for MatrixIdentity[src]

fn size(&self) -> USize2[src]

Size of the matrix.

fn rows(&self) -> usize[src]

Number of rows.

fn cols(&self) -> usize[src]

Number of columns.

fn eval(&self, i: usize, j: usize) -> f64[src]

Returns matrix element at (i, j).

impl<E1: MatrixExpression, E2: MatrixExpression> MatrixExpression for MatrixMul<E1, E2>[src]

fn size(&self) -> USize2[src]

Size of the matrix.

fn rows(&self) -> usize[src]

Number of rows.

fn cols(&self) -> usize[src]

Number of columns.

fn eval(&self, i: usize, j: usize) -> f64[src]

Returns matrix element at (i, j).

impl<E1: MatrixExpression, E2: MatrixExpression, Op: BinaryOp> MatrixExpression for MatrixBinaryOp<E1, E2, Op>[src]

fn size(&self) -> USize2[src]

Size of the matrix.

fn rows(&self) -> usize[src]

Number of rows.

fn cols(&self) -> usize[src]

Number of columns.

fn eval(&self, i: usize, j: usize) -> f64[src]

Returns matrix element at (i, j).

impl<E: MatrixExpression> MatrixExpression for MatrixDiagonal<E>[src]

fn size(&self) -> USize2[src]

Size of the matrix.

fn rows(&self) -> usize[src]

Number of rows.

fn cols(&self) -> usize[src]

Number of columns.

fn eval(&self, i: usize, j: usize) -> f64[src]

Returns matrix element at (i, j).

impl<E: MatrixExpression> MatrixExpression for MatrixTriangular<E>[src]

fn size(&self) -> USize2[src]

Size of the matrix.

fn rows(&self) -> usize[src]

Number of rows.

fn cols(&self) -> usize[src]

Number of columns.

fn eval(&self, i: usize, j: usize) -> f64[src]

Returns matrix element at (i, j).

impl<E: MatrixExpression, Op: BinaryOp> MatrixExpression for MatrixScalarBinaryOp<E, Op>[src]

fn eval(&self, i: usize, j: usize) -> f64[src]

Returns matrix element at (i, j).

fn size(&self) -> USize2[src]

fn rows(&self) -> usize[src]

fn cols(&self) -> usize[src]

impl<E: MatrixExpression, Op: UnaryOp> MatrixExpression for MatrixUnaryOp<E, Op>[src]

fn size(&self) -> USize2[src]

Size of the matrix.

fn rows(&self) -> usize[src]

Number of rows.

fn cols(&self) -> usize[src]

Number of columns.

fn eval(&self, i: usize, j: usize) -> f64[src]

Returns matrix element at (i, j).

impl<ME: MatrixExpression, VE: VectorExpression> MatrixExpression for MatrixVectorMul<ME, VE>[src]

fn size(&self) -> USize2[src]

fn rows(&self) -> usize[src]

fn cols(&self) -> usize[src]

fn eval(&self, _x: usize, _y: usize) -> f64[src]

impl<const M: usize, const N: usize, const TOTAL: usize> MatrixExpression for Matrix<M, N, TOTAL>[src]

fn size(&self) -> USize2[src]

fn rows(&self) -> usize[src]

fn cols(&self) -> usize[src]

fn eval(&self, x: usize, y: usize) -> f64[src]