Data Structures | |
| struct | _Outer< LHS, RHS, DerivedOp > |
| Outer product operator for expressions. More... | |
| struct | Slice |
| Slice. More... | |
| struct | Matrix< P, R, C, Allocator > |
| Matrix. More... | |
| struct | Matrix< P, DYNAMIC, DYNAMIC, Allocator > |
| Matrix. More... | |
| struct | MatrixView< T, S > |
| Matrix. More... | |
| struct | MatrixView< T, DYNAMIC > |
| Dynamic Matrix View. More... | |
| struct | MatrixView< T, CONSTRAINED_DYNAMIC > |
| Dynamic Matrix View. More... | |
Functions | |
| template<typename VA , typename VB , typename std::enable_if< vector_idx_pair< VA, VB >(), bool >::type = true> | |
| auto | outer (const VA &a, const VB &b) |
| Outer product. | |
| struct arm_cmsis_dsp::_Outer |
Outer product operator for expressions.
| LHS | Left hand side datatype |
| RHS | Right hand side datatype |
| DerivedOp | Operator for the Outer operation |
vector op vector (including matrix)
Public Types | |
| using | Scalar = typename traits< LHS >::Scalar |
| Type of vector elements. | |
| using | Vector = typename traits< LHS >::Vector |
| Type of vector in the architecture. | |
Public Member Functions | |
| _Outer (const LHS &lhs, const RHS &rhs, const _BinaryOperator< Scalar, DerivedOp > &op) | |
| Create an Outer operator. | |
| _Outer (const _Outer &other) | |
| Create an Outer operator from another operator of same type. | |
| _Outer (_Outer &&other) | |
| Move semantic for _Outer operator. | |
| template<typename R = RHS, typename L = LHS, typename std::enable_if< IsVector< L >::value &&IsVector< R >::value, bool >::type = true> | |
| vector_length_t | length () const |
| Length of the matrix (seen as vector) resulting from the outer operator. | |
| template<typename R = RHS, typename L = LHS, typename std::enable_if< IsVector< L >::value, bool >::type = true> | |
| vector_length_t | rows () const |
| Rows of the matrix. | |
| template<typename R = RHS, typename L = LHS, typename std::enable_if< IsVector< R >::value, bool >::type = true> | |
| vector_length_t | columns () const |
| Columns of the matrix. | |
| template<typename R = RHS, typename L = LHS, typename std::enable_if< IsVector< L >::value &&IsVector< R >::value, bool >::type = true> | |
| Scalar const | operator() (const index_t r, const index_t c) const |
| Expression value at given position. | |
| template<typename R = RHS, typename L = LHS, typename std::enable_if< IsVector< L >::value &&IsVector< R >::value, bool >::type = true> | |
| Vector const | matrix_op (const index_t r, const index_t c) const |
| Expression vector value at given position. | |
| template<typename R = RHS, typename L = LHS, typename std::enable_if< IsVector< L >::value &&IsVector< R >::value, bool >::type = true> | |
| Vector const | matrix_op_tail (const index_t r, const index_t c, const vector_length_t remaining) const |
| Expression vector value at given position with tail predication. | |
Public Member Functions inherited from _Expr< _Outer< LHS, RHS, DerivedOp > > | |
| _Outer< LHS, RHS, DerivedOp > & | derived () |
| Derived datatype. | |
| _Outer< LHS, RHS, DerivedOp > const & | derived () const |
| Derived datatype. | |
| Scalar const | operator[] (const index_t i) const |
| Vector indexing in the expression. | |
| Scalar const | operator() (const index_t r, const index_t c) const |
| Matrix indexing. | |
| Vector const | vector_op (const index_t i) const |
| Vector operation at given index. | |
| Vector const | vector_op_tail (const index_t i, const vector_length_t remaining) const |
| Vector operation at index with loop predicate. | |
| Vector const | matrix_op (const index_t r, const index_t c) const |
| Matrix operation at index. | |
| Vector const | matrix_op_tail (const index_t r, const index_t c, const vector_length_t remaining) const |
| Matrix operation at index with tail predication. | |
| vector_length_t | length () const |
| Length of result. | |
| vector_length_t | rows () const |
| Number of rows for result. | |
| vector_length_t | columns () const |
| Number of columns for result. | |
|
inline |
Create an Outer operator.
| lhs | Left hand side expression |
| rhs | Right hand side expression |
| op | operator |
Create an Outer operator from another operator of same type.
| other | the other operator |
Move semantic for _Outer operator.
| other | the other operator |
|
inline |
Columns of the matrix.
| R | Right hand side datatype |
| L | Left hand side datatype |
|
inline |
Length of the matrix (seen as vector) resulting from the outer operator.
| R | Right hand side datatype |
| L | Left hand side datatype |
|
inline |
Expression value at given position.
| R | Right hand side datatype |
| L | Left hand side datatype |
| r | row index |
| c | column index |
|
inline |
Rows of the matrix.
| R | Right hand side datatype |
| L | Left hand side datatype |
| struct arm_cmsis_dsp::Slice |
| struct arm_cmsis_dsp::Matrix |
| P | Type of the scalar |
| R | Number of rows |
| C | Number of columns |
| Allocator | Memory allocator |
Public Types | |
| using | VectorType = typename vector_traits< P >::vector |
| Type of vectors for a vector architecture and for scalar datatype P. | |
Public Types inherited from Vector< P, L, Allocator > | |
| using | element_type = P |
| Type of vector elements. | |
Public Types inherited from Vector_Base< P > | |
| typedef P | element_type |
| Type of vector elements. | |
| using | Vector = typename vector_traits< P >::vector |
| Type of vectors for a vector architecture and for scalar datatype P. | |
Public Member Functions | |
| constexpr vector_length_t | rows () const |
| Number of rows. | |
| constexpr vector_length_t | columns () const |
| Number of columns. | |
| constexpr uint32_t | stride () const |
| Number of stride. | |
| Matrix () | |
| Create matrix. | |
| Matrix (P init_val) | |
| Create matrix. | |
| template<template< int > typename OtherAllocator> | |
| Matrix (const Matrix< P, R, C, OtherAllocator > &other) | |
| Create matrix from another matrix using different memory allocator. | |
| template<typename Derived , typename std::enable_if< IsVector< Derived >::value, bool >::type = true> | |
| Matrix (const _Expr< Derived > &other) | |
| Create matrix from expression. | |
| template<typename Derived , typename std::enable_if< must_use_matrix_idx< Derived >(), bool >::type = true> | |
| Matrix (const _Expr< Derived > &other) | |
| Create matrix from expression. | |
| template<typename Derived , typename std::enable_if< IsVector< Derived >::value, bool >::type = true> | |
| Matrix & | operator= (const _Expr< Derived > &other) |
| Assign matrix from expression. | |
| template<typename Derived , typename std::enable_if< must_use_matrix_idx< Derived >(), bool >::type = true> | |
| Matrix & | operator= (const _Expr< Derived > &other) |
| Assign matrix from expression. | |
| MatrixView< P, C > | sub (const index_t rs, const index_t cs) |
| Create a matrix view. | |
| const MatrixView< P, C > | sub (const index_t rs, const index_t cs) const |
| Create a constant matrix view. | |
| MatrixView< P, C > | sub (const Slice &rs, const index_t cs) |
| Create a matrix view. | |
| const MatrixView< P, C > | sub (const Slice &rs, const index_t cs) const |
| Create a constant matrix view. | |
| MatrixView< P, C > | sub (const index_t rs, const Slice &cs) |
| Create a matrix view. | |
| const MatrixView< P, C > | sub (const index_t rs, const Slice &cs) const |
| Create a constant matrix view. | |
| MatrixView< P, C > | sub (const Slice &rs, const Slice &cs) |
| Create a matrix view. | |
| const MatrixView< P, C > | sub (const Slice &rs, const Slice &cs) const |
| Create a constant matrix view. | |
| MatrixView< P, C > | sub (const index_t rs, const index_t re, const index_t cs, const index_t ce) |
| Create a matrix view. | |
| const MatrixView< P, C > | sub (const index_t rs, const index_t re, const index_t cs, const index_t ce) const |
| Create a constant matrix view. | |
| P & | operator() (const index_t r, const index_t c) |
| Access matrix element at given position. | |
| P & | operator() (const index_t r, const index_t c) const |
| Access matrix element at given position. | |
| template<int S = 1> | |
| VectorView< P, S > | row (const index_t i, const index_t start=0, const index_t stop=C) |
| Create a row view vector with stride. | |
| template<int S = 1> | |
| const VectorView< P, S > | row (const index_t i, const index_t start=0, const index_t stop=C) const |
| Create a constant row view vector with stride. | |
| template<int CS = 1, int S = C> | |
| VectorView< P, CS *S > | col (const index_t i, const index_t start=0, const index_t stop=R) |
| Create a column view vector with stride. | |
| template<int CS = 1, int S = C> | |
| const VectorView< P, CS *S > | col (const index_t i, const index_t start=0, const index_t stop=R) const |
| Create a constant column view vector with stride. | |
| template<int RA = R, int CA = C, typename VA , typename std::enable_if< IsVector< VA >::value &&(RA==CA) &&(RA >0) &&SameElementType< VA, P >::value, bool >::type = true> | |
| void | fill_diagonal (const VA &a) |
| Fill diagonal of a matrix with a vector. | |
| Matrix< P, R, C, Allocator > | create () const |
| Create a matrix of same type. | |
| Matrix< P, C, R, Allocator > | transpose () const |
| Create the transposed matrix. | |
| void | matrix_store (const index_t row, const index_t col, const VectorType val) const |
| Vector store at a given row,column position | |
| void | matrix_store_tail (const index_t row, const index_t col, const vector_length_t remaining, const VectorType val) const |
| Vector store at a given row,column position with predicated tail | |
| VectorType const | matrix_op_tail (const index_t row, const index_t col, const vector_length_t remaining) const |
| Vector operation at a given row,column position with predicated tail | |
| VectorType const | matrix_op (const index_t row, const index_t col) const |
| Vector operation at a given row,column position | |
Public Member Functions inherited from Vector< P, L, Allocator > | |
| Vector () | |
| Construct a new vector. | |
| Vector (P init_val) | |
| Construct a new vector and initialize it. | |
| Vector (const std::initializer_list< P > &l) | |
| Construct a new vector and initialize it with a list. | |
| template<template< int > typename OtherAllocator> | |
| Vector (const Vector< P, L, OtherAllocator > &other) | |
| Create a vector from a vector using a different memory allocator. | |
| template<int S> | |
| Vector (const VectorView< P, S > &other) | |
| Create a vector from a VectorView. | |
| template<typename Derived > | |
| Vector (const _Expr< Derived > &other) | |
| Create a vector from an expression. | |
| template<typename Derived > | |
| Vector & | operator= (const _Expr< Derived > &other) |
| Copy result of an expression to a vector content. | |
| template<typename T , typename std::enable_if< is_scalar< T >(), bool >::type = true> | |
| Vector & | operator= (const T other) |
| Fill a vector with a constant. | |
| template<typename Derived > | |
| Vector & | operator+= (const _Expr< Derived > &other) |
| Elementwise add the result of an expression to a vector. | |
| Vector & | operator+= (const Vector &other) |
| Elementwise add vector to another vector. | |
| Vector & | operator+= (const P other) |
| Elementwise add a constant to a vector. | |
| template<typename Derived > | |
| Vector & | operator-= (const _Expr< Derived > &other) |
| Elementwise subtract the result of an expression from a vector. | |
| Vector & | operator-= (const Vector &other) |
| Elementwise subtract a vector from a vector. | |
| Vector & | operator-= (const P other) |
| Elementwise subtract a constant from a vector. | |
| template<typename Derived > | |
| Vector & | operator*= (const _Expr< Derived > &other) |
| Elementwise multiply the result of an expression with a vector. | |
| Vector & | operator*= (const Vector &other) |
| Elementwise multiply a vector with a vector. | |
| Vector & | operator*= (const P other) |
| Elementwise multiply a constant with a vector. | |
| template<int S = 1> | |
| VectorView< P, S > | sub (const index_t start=0, const index_t stop=L) |
| Create a vector view. | |
Public Member Functions inherited from Vector_Base< P > | |
| vector_length_t | length () const |
| Vector dimension. | |
| P * | ptr () const |
| Pointer to storage buffer. | |
| P * | ptr (const index_t i) const |
| Pointer to storage buffer at index i. | |
| const P * | const_ptr () const |
| Pointer to storage buffer. | |
| const P * | const_ptr (const index_t i) const |
| Pointer to storage buffer at index i. | |
| P * | begin () const |
| Iterator begin. | |
| P * | end () const |
| Iterator end. | |
| P & | operator[] (const index_t i) |
| Element at index i. | |
| P & | operator[] (const index_t i) const |
| Element at index i. | |
| template<typename T = P, typename std::enable_if< vector_traits< T >::has_vector, bool >::type = true> | |
| void | vector_store (const index_t i, const Vector val) const |
| Vector store at index i | |
| void | vector_store_tail (const index_t i, const vector_length_t remaining, const Vector val) const |
| Vector store at index i with predicated tail | |
| Vector const | vector_op_tail (const index_t i, const vector_length_t remaining) const |
| Vector operation at index i with predicated tail | |
| Vector const | vector_op (const index_t i) const |
| Vector operation at index i | |
Static Public Member Functions | |
| template<int RA = R, int CA = C, typename VA , typename std::enable_if< IsVector< VA >::value &&(RA==CA) &&(RA >0) &&SameElementType< VA, P >::value, bool >::type = true> | |
| static Matrix< P, RA, CA, Allocator > | diagonal (const VA &a) |
| Create a diagonal matrix. | |
| template<int RA = R, int CA = C, typename std::enable_if<(RA==CA) &&(RA >0), bool >::type = true> | |
| static Matrix< P, RA, CA, Allocator > | identity () |
| Create an identity matrix. | |
Static Public Member Functions inherited from Vector< P, L, Allocator > | |
| static char * | allocate () |
| Allocate a buffer for this vector using the memory allocator. | |
Additional Inherited Members | |
Static Public Attributes inherited from Vector< P, L, Allocator > | |
| static constexpr vector_length_t | vector_size = sizeof(P)*L |
| Length of the vector when known at build time. | |
|
inlineexplicit |
Create matrix.
| init_val | Initialization value |
Create matrix from another matrix using different memory allocator.
| OtherAllocator | other memory allocator |
| other | Other matrix |
Create matrix from expression.
| Derived | Datatype representing the abstract syntax tree of the expression |
| other | Other matrix |
Only applies when the expression does not contain any MatrixView since matrix view may have a stride and cannot be used as vectors.
Create matrix from expression.
| Derived | Datatype representing the abstract syntax tree of the expression |
| other | Other matrix |
Applies when contain a matrix view that has a stride and thus force a 2D evaluation loop.
|
inline |
Create a column view vector with stride.
| S | stride |
| i | column index |
| start | Start index in row |
| stop | Stop index in row Default is number of rows |
|
inline |
Create a constant column view vector with stride.
| S | stride |
| i | column index |
| start | Start index in row |
| stop | Stop index in row Default is number of rows |
|
inlineconstexpr |
Number of columns.
|
inline |
Create a matrix of same type.
|
inlinestatic |
|
inline |
|
inlinestatic |
Create an identity matrix.
| RA | Number of rows |
| CA | Number of columns |
Only exists when RA == CA and the size is known at built time
|
inline |
Vector operation at a given row,column position
| row | row index |
| col | column index |
On an architecture supporting vectors and predicated loops, if the scalar datatype T has a corresponding vector datatype, this function compute an operation at row,column index in this matrix datatype
|
inline |
Vector operation at a given row,column position with predicated tail
| row | row index |
| col | column index |
| remaining | Number of remaining samples in the loop |
On an architecture supporting vectors and predicated loops, if the scalar datatype T has a corresponding vector datatype, this function compute an operation at row,column index in this matrix datatype with predication
|
inline |
Vector store at a given row,column position
| row | row index |
| col | column index |
| val | Vector value |
On an architecture supporting vectors, if the scalar datatype T has a corresponding vector datatype, this function stores a vector value at row,column in this matrix.
|
inline |
Vector store at a given row,column position with predicated tail
| row | row index |
| col | column index |
| remaining | Number of remaining samples in the loop |
| val | Vector value to write at index i with tail predication |
On an architecture supporting vectors and predicated loops, if the scalar datatype T has a corresponding vector datatype, this function stores a vector value at row,column index in this matrix datatype with predication
Access matrix element at given position.
| r | Row index |
| c | Column index |
Access matrix element at given position.
| r | Row index |
| c | Column index |
Assign matrix from expression.
| Derived | Datatype representing the abstract syntax tree of the expression |
| other | Other matrix |
Applies when expression does not contain matrix view
Assign matrix from expression.
| Derived | Datatype representing the abstract syntax tree of the expression |
| other | Other matrix |
Applies when contain a matrix view that has a stride and thus force a 2D evaluation loop.
|
inline |
Create a row view vector with stride.
| S | stride |
| i | row index |
| start | Start index in row |
| stop | Stop index in row Default is number of columns |
|
inline |
Create a constant row view vector with stride.
| S | stride |
| i | row index |
| start | Start index in row |
| stop | Stop index in row Default is number of columns |
|
inlineconstexpr |
Number of rows.
|
inlineconstexpr |
Number of stride.
|
inline |
Create a matrix view.
| rs | start row |
| cs | start column |
|
inline |
Create a constant matrix view.
| rs | start row |
| cs | start column |
|
inline |
Create a matrix view.
| rs | Row start |
| re | Row end |
| cs | Column start |
| ce | Column end |
|
inline |
Create a constant matrix view.
| rs | Row start |
| re | Row end |
| cs | Column start |
| ce | Column end |
|
inline |
Create a matrix view.
| rs | Row start index |
| cs | Column slice |
|
inline |
Create a constant matrix view.
| rs | Row start index |
| cs | Column slice |
|
inline |
Create a matrix view.
| rs | Row slice (start and end row) |
| cs | start column |
|
inline |
Create a constant matrix view.
| rs | Row slice (start and end row) |
| cs | start column |
|
inline |
Create a matrix view.
| rs | Row slice |
| cs | Column slice |
|
inline |
Create a constant matrix view.
| rs | Row slice |
| cs | Column slice |
|
inline |
Create the transposed matrix.
| struct arm_cmsis_dsp::Matrix< P, DYNAMIC, DYNAMIC, Allocator > |
| P | Type of the scalar |
| Allocator | Memory allocator |
Public Types | |
| using | VectorType = typename vector_traits< P >::vector |
| Type of vectors for a vector architecture and for scalar datatype P. | |
Public Types inherited from Vector_Base< P > | |
| typedef P | element_type |
| Type of vector elements. | |
| using | Vector = typename vector_traits< P >::vector |
| Type of vectors for a vector architecture and for scalar datatype P. | |
Public Member Functions | |
| vector_length_t | rows () const |
| Number of rows. | |
| vector_length_t | columns () const |
| Number of columns. | |
| uint32_t | stride () const |
| Number of stride. | |
| Matrix (vector_length_t r, vector_length_t c) | |
| Create matrix. | |
| Matrix (vector_length_t r, vector_length_t c, P init_val) | |
| Create matrix. | |
| P & | operator() (const index_t r, const index_t c) |
| Access matrix element at given position. | |
| P & | operator() (const index_t r, const index_t c) const |
| Access matrix element at given position. | |
| template<int RK, int CK, template< int > typename OtherAllocator> | |
| Matrix (const Matrix< P, RK, CK, OtherAllocator > &other) | |
| Create matrix from another matrix using different memory allocator. | |
| template<typename Derived , typename std::enable_if< IsVector< Derived >::value, bool >::type = true> | |
| Matrix (const _Expr< Derived > &other) | |
| Create matrix from expression. | |
| template<typename Derived , typename std::enable_if< must_use_matrix_idx< Derived >(), bool >::type = true> | |
| Matrix (const _Expr< Derived > &other) | |
| Create matrix from expression. | |
| template<typename Derived , typename std::enable_if< IsVector< Derived >::value, bool >::type = true> | |
| Matrix & | operator= (const _Expr< Derived > &other) |
| Assign matrix from expression. | |
| template<typename Derived , typename std::enable_if< must_use_matrix_idx< Derived >(), bool >::type = true> | |
| Matrix & | operator= (const _Expr< Derived > &other) |
| Assign matrix from expression. | |
| template<typename VA , typename std::enable_if< IsVector< VA >::value &&SameElementType< VA, P >::value, bool >::type = true> | |
| void | fill_diagonal (const VA &a) |
| Fill diagonal of a matrix with a vector. | |
| Matrix< P, DYNAMIC, DYNAMIC, Allocator > | create () const |
| Create a matrix of same type. | |
| Matrix< P, DYNAMIC, DYNAMIC, Allocator > | transpose () const |
| Create the transposed matrix. | |
| VectorView< P, 1 > | row (const index_t i, const index_t start=0) |
| Create a row view with stride 1. | |
| VectorView< P, 1 > | row (const index_t i, const index_t start, const index_t stop) |
| Create a row view with stride 1. | |
| const VectorView< P, 1 > | row (const index_t i, const index_t start=0) const |
| Create a constant row view with stride 1. | |
| const VectorView< P, 1 > | row (const index_t i, const index_t start, const index_t stop) const |
| Create a constant row view with stride 1. | |
| template<int CS = 1> | |
| VectorView< P, DYNAMIC > | col (const index_t i, const index_t start=0) |
| Create a column view vector. | |
| template<int CS = 1> | |
| VectorView< P, DYNAMIC > | col (const index_t i, const index_t start, const index_t stop) |
| Create a column view vector. | |
| template<int CS = 1> | |
| const VectorView< P, DYNAMIC > | col (const index_t i, const index_t start=0) const |
| Create a constant column view vector. | |
| template<int CS = 1> | |
| const VectorView< P, DYNAMIC > | col (const index_t i, const index_t start, const index_t stop) const |
| Create a constant column view vector. | |
| void | matrix_store (const index_t row, const index_t col, const VectorType val) const |
| Vector store at a given row,column position | |
| void | matrix_store_tail (const index_t row, const index_t col, const vector_length_t remaining, const VectorType val) const |
| Vector store at a given row,column position with predicated tail | |
| VectorType const | matrix_op_tail (const index_t row, const index_t col, const vector_length_t remaining) const |
| Vector operation at a given row,column position with predicated tail | |
| VectorType const | matrix_op (const index_t row, const index_t col) const |
| Vector operation at a given row,column position | |
| MatrixView< P, DYNAMIC > | sub (const index_t rs, const index_t cs) |
| Create a matrix view. | |
| const MatrixView< P, DYNAMIC > | sub (const index_t rs, const index_t cs) const |
| Create a constant matrix view. | |
| MatrixView< P, DYNAMIC > | sub (const Slice &rs, const index_t cs) |
| Create a matrix view. | |
| const MatrixView< P, DYNAMIC > | sub (const Slice &rs, const index_t cs) const |
| Create a constant matrix view. | |
| MatrixView< P, DYNAMIC > | sub (const index_t rs, const Slice &cs) |
| Create a matrix view. | |
| const MatrixView< P, DYNAMIC > | sub (const index_t rs, const Slice &cs) const |
| Create a constant matrix view. | |
| MatrixView< P, DYNAMIC > | sub (const Slice &rs, const Slice &cs) |
| Create a matrix view. | |
| const MatrixView< P, DYNAMIC > | sub (const Slice &rs, const Slice &cs) const |
| Create a constant matrix view. | |
| MatrixView< P, DYNAMIC > | sub (const index_t rs, const index_t re, const index_t cs, const index_t ce) |
| Create a matrix view. | |
| const MatrixView< P, DYNAMIC > | sub (const index_t rs, const index_t re, const index_t cs, const index_t ce) const |
| Create a constant matrix view. | |
Public Member Functions inherited from Vector< P, DYNAMIC, Allocator > | |
| Vector (vector_length_t length, P init_val) | |
| Create a new vector. | |
| Vector (vector_length_t length) | |
| Create a new vector. | |
| Vector (const std::initializer_list< P > &l) | |
| Create a new vector. | |
| template<int K, template< int > typename OtherAllocator> | |
| Vector (const Vector< P, K, OtherAllocator > &other) | |
| Create a new vector from a vector using a different memory allocator. | |
| Vector (const Vector &other) | |
| Create a new vector from a vector of same type. | |
| template<int S> | |
| Vector (const VectorView< P, S > &other) | |
| Create a new vector from a vector view. | |
| template<typename Derived > | |
| Vector (const _Expr< Derived > &other) | |
| Create a new vector from an expressipn. | |
| template<typename Derived > | |
| Vector & | operator= (const _Expr< Derived > &other) |
| Fill a vector with an expression. | |
| template<typename T , typename std::enable_if< is_scalar< T >(), bool >::type = true> | |
| Vector & | operator= (const T other) |
| Fill a vector with a scalar. | |
| template<typename Derived > | |
| Vector & | operator+= (const _Expr< Derived > &other) |
| Elementwise add an expression to a vector. | |
| Vector & | operator+= (const Vector &other) |
| Elementwise add a vector to a vector. | |
| Vector & | operator+= (const P other) |
| Elementwise add a scalar to a vector. | |
| template<typename Derived > | |
| Vector & | operator-= (const _Expr< Derived > &other) |
| Elementwise subtract an expression to a vector. | |
| Vector & | operator-= (const Vector &other) |
| Elementwise subtract a vector to a vector. | |
| Vector & | operator-= (const P other) |
| Elementwise subtract a scalar to a vector. | |
| template<typename Derived > | |
| Vector & | operator*= (const _Expr< Derived > &other) |
| Elementwise multiply an expression with a vector. | |
| Vector & | operator*= (const Vector &other) |
| Elementwise multiply a vector with a vector. | |
| Vector & | operator*= (const P other) |
| Elementwise multiply a scalar with a vector. | |
| template<int S = 1> | |
| VectorView< P, S > | sub (const index_t start=0, const index_t stop=-1) |
| Create a vector view. | |
Public Member Functions inherited from Vector_Base< P > | |
| vector_length_t | length () const |
| Vector dimension. | |
| P * | ptr () const |
| Pointer to storage buffer. | |
| P * | ptr (const index_t i) const |
| Pointer to storage buffer at index i. | |
| const P * | const_ptr () const |
| Pointer to storage buffer. | |
| const P * | const_ptr (const index_t i) const |
| Pointer to storage buffer at index i. | |
| P * | begin () const |
| Iterator begin. | |
| P * | end () const |
| Iterator end. | |
| P & | operator[] (const index_t i) |
| Element at index i. | |
| P & | operator[] (const index_t i) const |
| Element at index i. | |
| template<typename T = P, typename std::enable_if< vector_traits< T >::has_vector, bool >::type = true> | |
| void | vector_store (const index_t i, const Vector val) const |
| Vector store at index i | |
| void | vector_store_tail (const index_t i, const vector_length_t remaining, const Vector val) const |
| Vector store at index i with predicated tail | |
| Vector const | vector_op_tail (const index_t i, const vector_length_t remaining) const |
| Vector operation at index i with predicated tail | |
| Vector const | vector_op (const index_t i) const |
| Vector operation at index i | |
Static Public Member Functions | |
| template<typename VA , typename std::enable_if< IsVector< VA >::value &&SameElementType< VA, P >::value, bool >::type = true> | |
| static Matrix< P, DYNAMIC, DYNAMIC, Allocator > | diagonal (const VA &a) |
| Create a diagonal matrix. | |
| static Matrix< P, DYNAMIC, DYNAMIC, Allocator > | identity (const vector_length_t l) |
| Create an identity matrix. | |
Static Public Member Functions inherited from Vector< P, DYNAMIC, Allocator > | |
| static char * | allocate (vector_length_t length) |
| Allocate a buffer for this vector using the memory allocator. | |
|
inlineexplicit |
Create matrix.
| r | number of rows |
| c | number of columns |
|
inlineexplicit |
Create matrix.
| r | number of rows |
| c | number of columns |
| init_val | Initialization value |
Create matrix from another matrix using different memory allocator.
| RK | Number of rows |
| CK | Number of columns |
| OtherAllocator | other memory allocator |
| other | Other matrix |
Create matrix from expression.
| Derived | Datatype representing the abstract syntax tree of the expression |
| other | Other matrix |
Only applies when the expression does not contain any MatrixView since matrix view may have a stride and cannot be used as vectors.
Create matrix from expression.
| Derived | Datatype representing the abstract syntax tree of the expression |
| other | Other matrix |
Applies when contain a matrix view that has a stride and thus force a 2D evaluation loop.
|
inline |
Create a column view vector.
| CS | column stride |
| i | column index |
| start | Start index in column |
| stop | Stop index in column |
|
inline |
Create a constant column view vector.
| CS | column stride |
| i | column index |
| start | Start index in column |
| stop | Stop index in column |
|
inline |
Create a column view vector.
| CS | column stride |
| i | column index |
| start | Start index in column |
|
inline |
Create a constant column view vector.
| CS | column stride |
| i | column index |
| start | Start index in column |
|
inline |
Number of columns.
Create a matrix of same type.
|
inline |
|
inlinestatic |
|
inline |
Vector operation at a given row,column position
| row | row index |
| col | column index |
On an architecture supporting vectors and predicated loops, if the scalar datatype T has a corresponding vector datatype, this function compute an operation at row,column index in this matrix datatype
|
inline |
Vector operation at a given row,column position with predicated tail
| row | row index |
| col | column index |
| remaining | Number of remaining samples in the loop |
On an architecture supporting vectors and predicated loops, if the scalar datatype T has a corresponding vector datatype, this function compute an operation at row,column index in this matrix datatype with predication
|
inline |
Vector store at a given row,column position
| row | row index |
| col | column index |
| val | Vector value |
On an architecture supporting vectors, if the scalar datatype T has a corresponding vector datatype, this function stores a vector value at row,column in this matrix.
|
inline |
Vector store at a given row,column position with predicated tail
| row | row index |
| col | column index |
| remaining | Number of remaining samples in the loop |
| val | Vector value to write at index i with tail predication |
On an architecture supporting vectors and predicated loops, if the scalar datatype T has a corresponding vector datatype, this function stores a vector value at row,column index in this matrix datatype with predication
Access matrix element at given position.
| r | Row index |
| c | Column index |
Access matrix element at given position.
| r | Row index |
| c | Column index |
Assign matrix from expression.
| Derived | Datatype representing the abstract syntax tree of the expression |
| other | Other matrix |
Applies when expression does not contain matrix view
Assign matrix from expression.
| Derived | Datatype representing the abstract syntax tree of the expression |
| other | Other matrix |
Applies when contain a matrix view that has a stride and thus force a 2D evaluation loop.
|
inline |
Create a row view with stride 1.
| i | row index |
| start | Start index in row |
| stop | Stop index in row |
|
inline |
Create a constant row view with stride 1.
| i | row index |
| start | Start index in row |
| stop | Stop index in row |
|
inline |
Create a row view with stride 1.
| i | row index |
| start | Start index in row |
|
inline |
Create a constant row view with stride 1.
| i | row index |
| start | Start index in row |
|
inline |
Number of rows.
|
inline |
Number of stride.
|
inline |
Create a matrix view.
| rs | start row |
| cs | start column |
|
inline |
Create a constant matrix view.
| rs | start row |
| cs | start column |
|
inline |
Create a matrix view.
| rs | Row start |
| re | Row end |
| cs | Column start |
| ce | Column end |
|
inline |
Create a constant matrix view.
| rs | Row start |
| re | Row end |
| cs | Column start |
| ce | Column end |
|
inline |
Create a matrix view.
| rs | Row start index |
| cs | Column slice |
|
inline |
Create a constant matrix view.
| rs | Row start index |
| cs | Column slice |
|
inline |
Create a matrix view.
| rs | Row slice (start and end row) |
| cs | start column |
|
inline |
Create a constant matrix view.
| rs | Row slice (start and end row) |
| cs | start column |
|
inline |
Create a matrix view.
| rs | Row slice |
| cs | Column slice |
|
inline |
Create a constant matrix view.
| rs | Row slice |
| cs | Column slice |
| struct arm_cmsis_dsp::MatrixView |
| T | Type of the scalar |
| S | Stride |
Public Types | |
| using | VectorType = typename vector_traits< T >::vector |
| Type of vectors for a vector architecture and for scalar datatype P. | |
Public Member Functions | |
| vector_length_t | rows () const |
| Number of rows. | |
| vector_length_t | columns () const |
| Number of columns. | |
| constexpr uint32_t | stride () const |
| Number of stride. | |
| MatrixView (T *v, const vector_length_t rows, const vector_length_t cols) | |
| Create matrix view on a buffer (buffer not owned by the view) | |
| MatrixView (const Vector_Base< T > &v, const vector_length_t rows, const vector_length_t cols) | |
| Create matrix view on vector (vector not owned by the view) | |
| T & | operator() (const index_t r, const index_t c) |
| Access matrix view element at given position. | |
| T const | operator() (const index_t r, const index_t c) const |
| Access matrix view element at given position. | |
| template<typename Derived > | |
| MatrixView & | operator= (const _Expr< Derived > &other) |
| Assign matrix from expression. | |
| MatrixView & | operator= (const T val) |
| Assign matrix view from constant. | |
| template<typename Derived > | |
| MatrixView & | operator+= (const _Expr< Derived > &other) |
| Add matrix from expression. | |
| MatrixView & | operator+= (const MatrixView &other) |
| Add matrix from matrix view. | |
| MatrixView & | operator+= (const T other) |
| Add constant to matrix view. | |
| template<typename Derived > | |
| MatrixView & | operator-= (const _Expr< Derived > &other) |
| Subtract matrix from expression. | |
| MatrixView & | operator-= (const MatrixView &other) |
| Subtract matrix view. | |
| MatrixView & | operator-= (const T other) |
| Subtract constant. | |
| template<typename Derived > | |
| MatrixView & | operator*= (const _Expr< Derived > &other) |
| Elementwise multiply matrix view with expression. | |
| MatrixView & | operator*= (const MatrixView &other) |
| Elementwise multiply matrix view with matrix view. | |
| MatrixView & | operator*= (const T other) |
| Elementwise multiply matrix view constant. | |
| VectorView< T, 1 > | row (const index_t i, const index_t start=0) |
| Create a row view with stride 1. | |
| VectorView< T, 1 > | row (const index_t i, const index_t start, const index_t stop) |
| Create a row view with stride 1. | |
| const VectorView< T, 1 > | row (const index_t i, const index_t start=0) const |
| Create a constant row view with stride 1. | |
| const VectorView< T, 1 > | row (const index_t i, const index_t start, const index_t stop) const |
| Create a constant row view with stride 1. | |
| template<int CS = 1> | |
| VectorView< T, CS *S > | col (const index_t i, const index_t start=0) |
| Create a column view vector. | |
| template<int CS = 1> | |
| VectorView< T, CS *S > | col (const index_t i, const index_t start, const index_t stop) |
| Create a column view vector. | |
| template<int CS = 1> | |
| const VectorView< T, CS *S > | col (const index_t i, const index_t start=0) const |
| Create a constant column view vector. | |
| template<int CS = 1> | |
| const VectorView< T, CS *S > | col (const index_t i, const index_t start, const index_t stop) const |
| Create a constant column view vector. | |
| void | matrix_store (const index_t row, const index_t col, const VectorType val) const |
| Vector store at a given row,column position | |
| void | matrix_store_tail (const index_t row, const index_t col, const vector_length_t remaining, const VectorType val) const |
| Vector store at a given row,column position with predicated tail | |
| VectorType const | matrix_op_tail (const index_t row, const index_t col, const vector_length_t remaining) const |
| Vector operation at a given row,column position with predicated tail | |
| VectorType const | matrix_op (const index_t row, const index_t col) const |
| Vector operation at a given row,column position | |
| template<typename VA , typename std::enable_if< IsVector< VA >::value &&SameElementType< VA, T >::value, bool >::type = true> | |
| void | fill_diagonal (const VA &a) |
| Fill diagonal of a matrix with a vector. | |
| Matrix< T, DYNAMIC, DYNAMIC, malloc_allocator > | transpose () const |
| Create the transposed matrix. | |
| Matrix< T, DYNAMIC, DYNAMIC, malloc_allocator > | create () const |
| Create a matrix of same type. | |
| T * | ptr () const |
| Pointer to storage buffer. | |
| const T * | const_ptr () const |
| Constant pointer to storage buffer. | |
|
inlineexplicit |
Create matrix view on a buffer (buffer not owned by the view)
| v | buffer |
| rows | number of rows |
| cols | number of columns |
|
inlineexplicit |
Create matrix view on vector (vector not owned by the view)
| v | vector |
| rows | number of rows |
| cols | number of columns |
|
inline |
Create a column view vector.
| CS | column stride |
| i | column index |
| start | Start index in column |
| stop | Stop index in column |
|
inline |
Create a constant column view vector.
| CS | column stride |
| i | column index |
| start | Start index in column |
| stop | Stop index in column |
|
inline |
Create a column view vector.
| CS | column stride |
| i | column index |
| start | Start index in column |
|
inline |
Create a constant column view vector.
| CS | column stride |
| i | column index |
| start | Start index in column |
|
inline |
Number of columns.
|
inline |
Constant pointer to storage buffer.
|
inline |
Create a matrix of same type.
|
inline |
|
inline |
Vector operation at a given row,column position
| row | row index |
| col | column index |
On an architecture supporting vectors and predicated loops, if the scalar datatype T has a corresponding vector datatype, this function compute an operation at row,column index in this matrix datatype
|
inline |
Vector operation at a given row,column position with predicated tail
| row | row index |
| col | column index |
| remaining | Number of remaining samples in the loop |
On an architecture supporting vectors and predicated loops, if the scalar datatype T has a corresponding vector datatype, this function compute an operation at row,column index in this matrix datatype with predication
|
inline |
Vector store at a given row,column position
| row | row index |
| col | column index |
| val | Vector value |
On an architecture supporting vectors, if the scalar datatype T has a corresponding vector datatype, this function stores a vector value at row,column in this matrix.
|
inline |
Vector store at a given row,column position with predicated tail
| row | row index |
| col | column index |
| remaining | Number of remaining samples in the loop |
| val | Vector value to write at index i with tail predication |
On an architecture supporting vectors and predicated loops, if the scalar datatype T has a corresponding vector datatype, this function stores a vector value at row,column index in this matrix datatype with predication
Access matrix view element at given position.
| r | Row index |
| c | Column index |
Access matrix view element at given position.
| r | Row index |
| c | Column index |
|
inline |
Elementwise multiply matrix view with expression.
| Derived | Datatype representing the abstract syntax tree of the expression |
| other | expression |
|
inline |
Elementwise multiply matrix view with matrix view.
| other | Other matrix |
|
inline |
Elementwise multiply matrix view constant.
| other | constant |
|
inline |
Add matrix from expression.
| Derived | Datatype representing the abstract syntax tree of the expression |
| other | Expression |
|
inline |
Add matrix from matrix view.
| other | Other matrix |
|
inline |
Add constant to matrix view.
| other | The constant |
|
inline |
Subtract matrix from expression.
| Derived | Datatype representing the abstract syntax tree of the expression |
| other | expression |
|
inline |
Subtract matrix view.
| other | Other matrix view |
|
inline |
Subtract constant.
| other | Other matrix |
|
inline |
Assign matrix from expression.
| Derived | Datatype representing the abstract syntax tree of the expression |
| other | Expression |
|
inline |
Assign matrix view from constant.
| val | The constant |
|
inline |
Pointer to storage buffer.
|
inline |
Create a row view with stride 1.
| i | row index |
| start | Start index in row |
| stop | Stop index in row |
|
inline |
Create a constant row view with stride 1.
| i | row index |
| start | Start index in row |
| stop | Stop index in row |
|
inline |
Create a row view with stride 1.
| i | row index |
| start | Start index in row |
|
inline |
Create a constant row view with stride 1.
| i | row index |
| start | Start index in row |
|
inline |
Number of rows.
|
inlineconstexpr |
Number of stride.
|
inline |
Create the transposed matrix.
| struct arm_cmsis_dsp::MatrixView< T, DYNAMIC > |
Dynamic Matrix View.
| T | Type of the scalar |
This template is used for dynamic matrix (stride not known at build time) and when we do not know if stride == number of columns. When stride is different from number of columns, the matrix cannot be seen as a vector.
Public Types | |
| using | VectorType = typename vector_traits< T >::vector |
| Type of vectors for a vector architecture and for scalar datatype P. | |
Public Member Functions | |
| vector_length_t | rows () const |
| Number of rows. | |
| vector_length_t | columns () const |
| Number of columns. | |
| uint32_t | stride () const |
| Number of stride. | |
| MatrixView (T *v, const vector_length_t rows, const vector_length_t cols, const uint32_t stride) | |
| Create matrix view on a buffer (buffer not owned by the view) | |
| MatrixView (const Vector_Base< T > &v, const vector_length_t rows, const vector_length_t cols, const uint32_t stride) | |
| Create matrix view on vector (vector not owned by the view) | |
| T & | operator() (const index_t r, const index_t c) |
| Access matrix view element at given position. | |
| T const | operator() (const index_t r, const index_t c) const |
| Access matrix view element at given position. | |
| template<typename Derived > | |
| MatrixView & | operator= (const _Expr< Derived > &other) |
| Assign matrix view from expression. | |
| MatrixView & | operator= (const T val) |
| Assign matrix view from constant. | |
| template<typename Derived > | |
| MatrixView & | operator+= (const _Expr< Derived > &other) |
| Add matrix from expression. | |
| MatrixView & | operator+= (const MatrixView &other) |
| Add matrix from matrix view. | |
| MatrixView & | operator+= (const T other) |
| Add constant to matrix view. | |
| template<typename Derived > | |
| MatrixView & | operator-= (const _Expr< Derived > &other) |
| Subtract matrix from expression. | |
| MatrixView & | operator-= (const MatrixView &other) |
| Subtract matrix view. | |
| MatrixView & | operator-= (const T other) |
| Subtract constant. | |
| template<typename Derived > | |
| MatrixView & | operator*= (const _Expr< Derived > &other) |
| Elementwise multiply matrix view with expression. | |
| MatrixView & | operator*= (const MatrixView &other) |
| Elementwise multiply matrix view with matrix view. | |
| MatrixView & | operator*= (const T other) |
| Elementwise multiply matrix view constant. | |
| VectorView< T, 1 > | row (const index_t i, const index_t start=0) |
| Create a row view with stride 1. | |
| VectorView< T, 1 > | row (const index_t i, const index_t start, const index_t stop) |
| Create a row view with stride 1. | |
| const VectorView< T, 1 > | row (const index_t i, const index_t start=0) const |
| Create a constant row view with stride 1. | |
| const VectorView< T, 1 > | row (const index_t i, const index_t start, const index_t stop) const |
| Create a constant row view with stride 1. | |
| template<int CS = 1> | |
| VectorView< T, DYNAMIC > | col (const index_t i, const index_t start=0) |
| Create a column view vector. | |
| template<int CS = 1> | |
| VectorView< T, DYNAMIC > | col (const index_t i, const index_t start, const index_t stop) |
| Create a column view vector. | |
| template<int CS = 1> | |
| const VectorView< T, DYNAMIC > | col (const index_t i, const index_t start=0) const |
| Create a constant column view vector. | |
| template<int CS = 1> | |
| const VectorView< T, DYNAMIC > | col (const index_t i, const index_t start, const index_t stop) const |
| Create a constant column view vector. | |
| void | matrix_store (const index_t row, const index_t col, const VectorType val) const |
| Vector store at a given row,column position | |
| void | matrix_store_tail (const index_t row, const index_t col, const vector_length_t remaining, const VectorType val) const |
| Vector store at a given row,column position with predicated tail | |
| VectorType const | matrix_op_tail (const index_t row, const index_t col, const vector_length_t remaining) const |
| Vector operation at a given row,column position with predicated tail | |
| VectorType const | matrix_op (const index_t row, const index_t col) const |
| Vector operation at a given row,column position | |
| template<typename VA , typename std::enable_if< IsVector< VA >::value &&SameElementType< VA, T >::value, bool >::type = true> | |
| void | fill_diagonal (const VA &a) |
| Fill diagonal of a matrix with a vector. | |
| Matrix< T, DYNAMIC, DYNAMIC, malloc_allocator > | transpose () const |
| Create the transposed matrix. | |
| Matrix< T, DYNAMIC, DYNAMIC, malloc_allocator > | create () const |
| Create a matrix of same type. | |
| T * | ptr () const |
| Pointer to storage buffer. | |
| const T * | const_ptr () const |
| Constant pointer to storage buffer. | |
|
inlineexplicit |
Create matrix view on a buffer (buffer not owned by the view)
| v | buffer |
| rows | number of rows |
| cols | number of columns |
| stride | stride |
|
inlineexplicit |
Create matrix view on vector (vector not owned by the view)
| v | vector |
| rows | number of rows |
| cols | number of columns |
| stride | stride |
|
inline |
Create a column view vector.
| CS | column stride |
| i | column index |
| start | Start index in column |
| stop | Stop index in column |
|
inline |
Create a constant column view vector.
| CS | column stride |
| i | column index |
| start | Start index in column |
| stop | Stop index in column |
|
inline |
Create a column view vector.
| CS | column stride |
| i | column index |
| start | Start index in column |
|
inline |
Create a constant column view vector.
| CS | column stride |
| i | column index |
| start | Start index in column |
|
inline |
Number of columns.
|
inline |
Constant pointer to storage buffer.
|
inline |
Create a matrix of same type.
|
inline |
|
inline |
Vector operation at a given row,column position
| row | row index |
| col | column index |
On an architecture supporting vectors and predicated loops, if the scalar datatype T has a corresponding vector datatype, this function compute an operation at row,column index in this matrix datatype
|
inline |
Vector operation at a given row,column position with predicated tail
| row | row index |
| col | column index |
| remaining | Number of remaining samples in the loop |
On an architecture supporting vectors and predicated loops, if the scalar datatype T has a corresponding vector datatype, this function compute an operation at row,column index in this matrix datatype with predication
|
inline |
Vector store at a given row,column position
| row | row index |
| col | column index |
| val | Vector value |
On an architecture supporting vectors, if the scalar datatype T has a corresponding vector datatype, this function stores a vector value at row,column in this matrix.
|
inline |
Vector store at a given row,column position with predicated tail
| row | row index |
| col | column index |
| remaining | Number of remaining samples in the loop |
| val | Vector value to write at index i with tail predication |
On an architecture supporting vectors and predicated loops, if the scalar datatype T has a corresponding vector datatype, this function stores a vector value at row,column index in this matrix datatype with predication
Access matrix view element at given position.
| r | Row index |
| c | Column index |
Access matrix view element at given position.
| r | Row index |
| c | Column index |
|
inline |
Elementwise multiply matrix view with expression.
| Derived | Datatype representing the abstract syntax tree of the expression |
| other | expression |
|
inline |
Elementwise multiply matrix view with matrix view.
| other | Other matrix |
|
inline |
Elementwise multiply matrix view constant.
| other | constant |
|
inline |
Add matrix from expression.
| Derived | Datatype representing the abstract syntax tree of the expression |
| other | Expression |
|
inline |
Add matrix from matrix view.
| other | Other matrix |
|
inline |
Add constant to matrix view.
| other | The constant |
|
inline |
Subtract matrix from expression.
| Derived | Datatype representing the abstract syntax tree of the expression |
| other | expression |
|
inline |
Subtract matrix view.
| other | Other matrix view |
|
inline |
Subtract constant.
| other | Other matrix |
|
inline |
Assign matrix view from expression.
| Derived | Datatype representing the abstract syntax tree of the expression |
| other | Expression |
|
inline |
Assign matrix view from constant.
| val | The constant |
|
inline |
Pointer to storage buffer.
|
inline |
Create a row view with stride 1.
| i | row index |
| start | Start index in row |
| stop | Stop index in row |
|
inline |
Create a constant row view with stride 1.
| i | row index |
| start | Start index in row |
| stop | Stop index in row |
|
inline |
Create a row view with stride 1.
| i | row index |
| start | Start index in row |
|
inline |
Create a constant row view with stride 1.
| i | row index |
| start | Start index in row |
|
inline |
Number of rows.
|
inline |
Number of stride.
|
inline |
Create the transposed matrix.
| struct arm_cmsis_dsp::MatrixView< T, CONSTRAINED_DYNAMIC > |
Dynamic Matrix View.
| T | Type of the scalar |
This template is used for dynamic matrix (stride not known at build time) and when we do know that stride == number of columns. When stride is equal to the number of columns, the matrix can be seen as a vector and it enables to use the vector eval loop in the operator fusion mechanism.
Those matrix views are created by expression when a reference to a matrix is used in the expression tree (to avoid copying the matrix). In this case, we do know that the matrix view is the full matrix and thus stride == number of columns
Public Types | |
| using | VectorType = typename vector_traits< T >::vector |
| Type of vectors for a vector architecture and for scalar datatype P. | |
Public Types inherited from VectorView< T, 1 > | |
| using | Vector = typename vector_traits< T >::vector |
| Type of vectors for a vector architecture and for scalar datatype P. | |
Public Member Functions | |
| vector_length_t | rows () const |
| Number of rows. | |
| vector_length_t | columns () const |
| Number of columns. | |
| uint32_t | stride () const |
| Number of stride. | |
| MatrixView (T *v, const vector_length_t rows, const vector_length_t cols) | |
| Create matrix view on a buffer (buffer not owned by the view) | |
| MatrixView (const Vector_Base< T > &v, const vector_length_t rows, const vector_length_t cols) | |
| Create matrix view on vector (vector not owned by the view) | |
| T & | operator() (const index_t r, const index_t c) |
| Access matrix view element at given position. | |
| T const | operator() (const index_t r, const index_t c) const |
| Access matrix view element at given position. | |
| template<typename Derived > | |
| MatrixView & | operator= (const _Expr< Derived > &other) |
| Assign matrix view from expression. | |
| MatrixView & | operator= (const T val) |
| Assign matrix view from constant. | |
| template<typename Derived > | |
| MatrixView & | operator+= (const _Expr< Derived > &other) |
| Add matrix from expression. | |
| MatrixView & | operator+= (const MatrixView &other) |
| Add matrix from matrix view. | |
| MatrixView & | operator+= (const T other) |
| Add constant to matrix view. | |
| template<typename Derived > | |
| MatrixView & | operator-= (const _Expr< Derived > &other) |
| Subtract matrix from expression. | |
| MatrixView & | operator-= (const MatrixView &other) |
| Subtract matrix view. | |
| MatrixView & | operator-= (const T other) |
| Subtract constant. | |
| template<typename Derived > | |
| MatrixView & | operator*= (const _Expr< Derived > &other) |
| Elementwise multiply matrix view with expression. | |
| MatrixView & | operator*= (const MatrixView &other) |
| Elementwise multiply matrix view with matrix view. | |
| MatrixView & | operator*= (const T other) |
| Elementwise multiply matrix view constant. | |
| VectorView< T, 1 > | row (const index_t i, const index_t start=0) |
| Create a row view with stride 1. | |
| VectorView< T, 1 > | row (const index_t i, const index_t start, const index_t stop) |
| Create a row view with stride 1. | |
| const VectorView< T, 1 > | row (const index_t i, const index_t start=0) const |
| Create a constant row view with stride 1. | |
| const VectorView< T, 1 > | row (const index_t i, const index_t start, const index_t stop) const |
| Create a constant row view with stride 1. | |
| template<int CS = 1> | |
| VectorView< T, DYNAMIC > | col (const index_t i, const index_t start=0) |
| Create a column view vector. | |
| template<int CS = 1> | |
| VectorView< T, DYNAMIC > | col (const index_t i, const index_t start, const index_t stop) |
| Create a column view vector. | |
| template<int CS = 1> | |
| const VectorView< T, DYNAMIC > | col (const index_t i, const index_t start=0) const |
| Create a constant column view vector. | |
| template<int CS = 1> | |
| const VectorView< T, DYNAMIC > | col (const index_t i, const index_t start, const index_t stop) const |
| Create a constant column view vector. | |
| void | matrix_store (const index_t row, const index_t col, const VectorType val) const |
| Vector store at a given row,column position | |
| void | matrix_store_tail (const index_t row, const index_t col, const vector_length_t remaining, const VectorType val) const |
| Vector store at a given row,column position with predicated tail | |
| VectorType const | matrix_op_tail (const index_t row, const index_t col, const vector_length_t remaining) const |
| Vector operation at a given row,column position with predicated tail | |
| VectorType const | matrix_op (const index_t row, const index_t col) const |
| Vector operation at a given row,column position | |
| template<typename VA , typename std::enable_if< IsVector< VA >::value &&SameElementType< VA, T >::value, bool >::type = true> | |
| void | fill_diagonal (const VA &a) |
| Fill diagonal of a matrix with a vector. | |
| Matrix< T, DYNAMIC, DYNAMIC, malloc_allocator > | transpose () const |
| Create the transposed matrix. | |
| Matrix< T, DYNAMIC, DYNAMIC, malloc_allocator > | create () const |
| Create a matrix of same type. | |
Public Member Functions inherited from VectorView< T, 1 > | |
| VectorView (T *v, const vector_length_t start, const vector_length_t stop) | |
| Create a vector view on a buffer. | |
| VectorView (const Vector_Base< T > &v) | |
| Create a vector on a vector. | |
| VectorView (const Vector_Base< T > &v, const index_t start, const index_t stop) | |
| Create a vector view on vector. | |
| VectorView (const VectorView &other) | |
| Create a vector view from another view. | |
| VectorView (VectorView &&other) | |
| Move a vector view to another view. | |
| vector_length_t | length () const |
| Vector view dimension. | |
| T * | ptr () const |
| Pointer to view storage. | |
| T * | ptr (const index_t i) const |
| Pointer to view storage at index i. | |
| const T * | const_ptr () const |
| Pointer to view constant storage. | |
| const T * | const_ptr (const index_t i) const |
| Pointer to view constant storage at index i. | |
| T & | operator[] (const index_t i) |
| Element at index i. | |
| T & | operator[] (const index_t i) const |
| Element at index i. | |
| void | vector_store (const index_t i, const Vector val) |
| Vector store at index i | |
| void | vector_store_tail (const index_t i, const vector_length_t remaining, const Vector val) |
| Vector store at index i with predicated tail | |
| Vector const | vector_op_tail (const index_t i, const vector_length_t remaining) const |
| Vector operation at index i with predicated tail | |
| Vector const | vector_op (const index_t i) const |
| Vector operation at index i | |
| VectorView & | operator= (const _Expr< Derived > &other) |
| Assign an expression to a vector view. | |
| VectorView & | operator= (const T val) |
| Assign a scalar to a vector view. | |
| VectorView & | operator+= (const _Expr< Derived > &other) |
| Elementwise add an expression to a vector view. | |
| VectorView & | operator+= (const VectorView &other) |
| Elementwise add a vector view to a vector view. | |
| VectorView & | operator+= (const T other) |
| Elementwise add a scalar to a vector view. | |
| VectorView & | operator-= (const _Expr< Derived > &other) |
| Elementwise subtract an expression to a vector view. | |
| VectorView & | operator-= (const VectorView &other) |
| Elementwise subtract a vector view to a vector view. | |
| VectorView & | operator-= (const T other) |
| Elementwise subtract a scalar to a vector view. | |
| VectorView & | operator*= (const _Expr< Derived > &other) |
| Elementwise multiply an expression to a vector view. | |
| VectorView & | operator*= (const VectorView &other) |
| Elementwise multiply a vector view to a vector view. | |
| VectorView & | operator*= (const T other) |
| Elementwise multiply a scalar to a vector view. | |
| VectorView< T, S *stride > | sub (const index_t start=0, const index_t stop=-1) |
| Create a sub vector (a view of a view) | |
| const VectorView< T, S *stride > | sub (const index_t start=0, const index_t stop=-1) const |
| Create a constant sub vector (a view of a view) | |
Additional Inherited Members | |
Static Public Member Functions inherited from VectorView< T, 1 > | |
| static constexpr vector_length_t | compute_length (const index_t start, const index_t stop) |
| Compute the number of elements in the vector view. | |
|
inlineexplicit |
Create matrix view on a buffer (buffer not owned by the view)
| v | buffer |
| rows | number of rows |
| cols | number of columns |
|
inlineexplicit |
Create matrix view on vector (vector not owned by the view)
| v | vector |
| rows | number of rows |
| cols | number of columns |
|
inline |
Create a column view vector.
| CS | column stride |
| i | column index |
| start | Start index in column |
| stop | Stop index in column |
|
inline |
Create a constant column view vector.
| CS | column stride |
| i | column index |
| start | Start index in column |
| stop | Stop index in column |
|
inline |
Create a column view vector.
| CS | column stride |
| i | column index |
| start | Start index in column |
|
inline |
Create a constant column view vector.
| CS | column stride |
| i | column index |
| start | Start index in column |
|
inline |
Number of columns.
|
inline |
Create a matrix of same type.
|
inline |
|
inline |
Vector operation at a given row,column position
| row | row index |
| col | column index |
On an architecture supporting vectors and predicated loops, if the scalar datatype T has a corresponding vector datatype, this function compute an operation at row,column index in this matrix datatype
|
inline |
Vector operation at a given row,column position with predicated tail
| row | row index |
| col | column index |
| remaining | Number of remaining samples in the loop |
On an architecture supporting vectors and predicated loops, if the scalar datatype T has a corresponding vector datatype, this function compute an operation at row,column index in this matrix datatype with predication
|
inline |
Vector store at a given row,column position
| row | row index |
| col | column index |
| val | Vector value |
On an architecture supporting vectors, if the scalar datatype T has a corresponding vector datatype, this function stores a vector value at row,column in this matrix.
|
inline |
Vector store at a given row,column position with predicated tail
| row | row index |
| col | column index |
| remaining | Number of remaining samples in the loop |
| val | Vector value to write at index i with tail predication |
On an architecture supporting vectors and predicated loops, if the scalar datatype T has a corresponding vector datatype, this function stores a vector value at row,column index in this matrix datatype with predication
Access matrix view element at given position.
| r | Row index |
| c | Column index |
Access matrix view element at given position.
| r | Row index |
| c | Column index |
|
inline |
Elementwise multiply matrix view with expression.
| Derived | Datatype representing the abstract syntax tree of the expression |
| other | expression |
|
inline |
Elementwise multiply matrix view with matrix view.
| other | Other matrix |
|
inline |
Elementwise multiply matrix view constant.
| other | constant |
|
inline |
Add matrix from expression.
| Derived | Datatype representing the abstract syntax tree of the expression |
| other | Expression |
|
inline |
Add matrix from matrix view.
| other | Other matrix |
|
inline |
Add constant to matrix view.
| other | The constant |
|
inline |
Subtract matrix from expression.
| Derived | Datatype representing the abstract syntax tree of the expression |
| other | expression |
|
inline |
Subtract matrix view.
| other | Other matrix view |
|
inline |
Subtract constant.
| other | Other matrix |
|
inline |
Assign matrix view from expression.
| Derived | Datatype representing the abstract syntax tree of the expression |
| other | Expression |
|
inline |
Assign matrix view from constant.
| val | The constant |
|
inline |
Create a row view with stride 1.
| i | row index |
| start | Start index in row |
| stop | Stop index in row |
|
inline |
Create a constant row view with stride 1.
| i | row index |
| start | Start index in row |
| stop | Stop index in row |
|
inline |
Create a row view with stride 1.
| i | row index |
| start | Start index in row |
|
inline |
Create a constant row view with stride 1.
| i | row index |
| start | Start index in row |
|
inline |
Number of rows.
|
inline |
Number of stride.
|
inline |
Create the transposed matrix.