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.