![]() |
Modules | |
DenseColumn | |
DenseRow | |
Dense Submatrix | |
Dense Subvector | |
SparseColumn | |
SparseRow | |
Sparse Submatrix | |
Sparse Subvector | |
Functions | |
template<typename MT , bool SO> | |
DisableIf< Or< IsComputation< MT >, IsTransExpr< MT > >, typename ColumnExprTrait< MT >::Type >::Type | blaze::column (Matrix< MT, SO > &matrix, size_t index) |
Creating a view on a specific column of the given matrix. More... | |
template<typename MT , bool SO> | |
DisableIf< Or< IsComputation< MT >, IsTransExpr< MT > >, typename ColumnExprTrait< const MT >::Type >::Type | blaze::column (const Matrix< MT, SO > &matrix, size_t index) |
Creating a view on a specific column of the given constant matrix. More... | |
template<typename MT , bool SO> | |
DisableIf< Or< IsComputation< MT >, IsTransExpr< MT > >, typename RowExprTrait< MT >::Type >::Type | blaze::row (Matrix< MT, SO > &matrix, size_t index) |
Creating a view on a specific row of the given matrix. More... | |
template<typename MT , bool SO> | |
DisableIf< Or< IsComputation< MT >, IsTransExpr< MT > >, typename RowExprTrait< const MT >::Type >::Type | blaze::row (const Matrix< MT, SO > &matrix, size_t index) |
Creating a view on a specific row of the given constant matrix. More... | |
template<typename MT , bool SO> | |
SubmatrixExprTrait< MT, unaligned >::Type | blaze::submatrix (Matrix< MT, SO > &matrix, size_t row, size_t column, size_t m, size_t n) |
Creating a view on a specific submatrix of the given matrix. More... | |
template<typename MT , bool SO> | |
SubmatrixExprTrait< const MT, unaligned >::Type | blaze::submatrix (const Matrix< MT, SO > &matrix, size_t row, size_t column, size_t m, size_t n) |
Creating a view on a specific submatrix of the given matrix. More... | |
template<bool AF, typename MT , bool SO> | |
DisableIf< Or< IsComputation< MT >, IsTransExpr< MT > >, typename SubmatrixExprTrait< MT, AF >::Type >::Type | blaze::submatrix (Matrix< MT, SO > &matrix, size_t row, size_t column, size_t m, size_t n) |
Creating a view on a specific submatrix of the given matrix. More... | |
template<bool AF, typename MT , bool SO> | |
DisableIf< Or< IsComputation< MT >, IsTransExpr< MT > >, typename SubmatrixExprTrait< const MT, AF >::Type >::Type | blaze::submatrix (const Matrix< MT, SO > &matrix, size_t row, size_t column, size_t m, size_t n) |
Creating a view on a specific submatrix of the given matrix. More... | |
template<typename VT , bool TF> | |
SubvectorExprTrait< VT, unaligned >::Type | blaze::subvector (Vector< VT, TF > &vector, size_t index, size_t size) |
Creating a view on a specific subvector of the given vector. More... | |
template<typename VT , bool TF> | |
SubvectorExprTrait< const VT, unaligned >::Type | blaze::subvector (const Vector< VT, TF > &vector, size_t index, size_t size) |
Creating a view on a specific subvector of the given vector. More... | |
template<bool AF, typename VT , bool TF> | |
DisableIf< Or< IsComputation< VT >, IsTransExpr< VT > >, typename SubvectorExprTrait< VT, AF >::Type >::Type | blaze::subvector (Vector< VT, TF > &vector, size_t index, size_t size) |
Creating a view on a specific subvector of the given vector. More... | |
template<bool AF, typename VT , bool TF> | |
DisableIf< Or< IsComputation< VT >, IsTransExpr< VT > >, typename SubvectorExprTrait< const VT, AF >::Type >::Type | blaze::subvector (const Vector< VT, TF > &vector, size_t index, size_t size) |
Creating a view on a specific subvector of the given vector. More... | |
|
inline |
Creating a view on a specific column of the given matrix.
matrix | The matrix containing the column. |
index | The index of the column. |
std::invalid_argument | Invalid column access index. |
This function returns an expression representing the specified column of the given matrix.
|
inline |
Creating a view on a specific column of the given constant matrix.
matrix | The constant matrix containing the column. |
index | The index of the column. |
std::invalid_argument | Invalid column access index. |
This function returns an expression representing the specified column of the given matrix.
|
inline |
Creating a view on a specific row of the given matrix.
matrix | The matrix containing the row. |
index | The index of the row. |
std::invalid_argument | Invalid row access index. |
This function returns an expression representing the specified row of the given matrix.
|
inline |
Creating a view on a specific row of the given constant matrix.
matrix | The constant matrix containing the row. |
index | The index of the row. |
std::invalid_argument | Invalid row access index. |
This function returns an expression representing the specified row of the given matrix.
|
inline |
Creating a view on a specific submatrix of the given matrix.
matrix | The matrix containing the submatrix. |
row | The index of the first row of the submatrix. |
column | The index of the first column of the submatrix. |
m | The number of rows of the submatrix. |
n | The number of columns of the submatrix. |
std::invalid_argument | Invalid submatrix specification. |
This function returns an expression representing the specified submatrix of the given matrix. The following example demonstrates the creation of a dense and sparse submatrix:
In case the submatrix is not properly specified (i.e. if the specified row or column is larger than the total number of rows or columns of the given matrix or the submatrix is specified beyond the number of rows or columns of the matrix) a std::invalid_argument exception is thrown.
Please note that this function creates an unaligned dense or sparse submatrix. For instance, the creation of the dense submatrix is equivalent to the following three function calls:
In contrast to unaligned submatrices, which provide full flexibility, aligned submatrices pose additional alignment restrictions. However, especially in case of dense submatrices this may result in considerable performance improvements. In order to create an aligned submatrix the following function call has to be used:
Note however that in this case the given arguments row, columns, m, and n are subject to additional checks to guarantee proper alignment.
|
inline |
Creating a view on a specific submatrix of the given matrix.
matrix | The matrix containing the submatrix. |
row | The index of the first row of the submatrix. |
column | The index of the first column of the submatrix. |
m | The number of rows of the submatrix. |
n | The number of columns of the submatrix. |
std::invalid_argument | Invalid submatrix specification. |
This function returns an expression representing the specified submatrix of the given matrix. The following example demonstrates the creation of a dense and sparse submatrix:
In case the submatrix is not properly specified (i.e. if the specified row or column is larger than the total number of rows or columns of the given matrix or the submatrix is specified beyond the number of rows or columns of the matrix) a std::invalid_argument exception is thrown.
Please note that this function creates an unaligned dense or sparse submatrix. For instance, the creation of the dense submatrix is equivalent to the following three function calls:
In contrast to unaligned submatrices, which provide full flexibility, aligned submatrices pose additional alignment restrictions. However, especially in case of dense submatrices this may result in considerable performance improvements. In order to create an aligned submatrix the following function call has to be used:
Note however that in this case the given arguments row, columns, m, and n are subject to additional checks to guarantee proper alignment.
|
inline |
Creating a view on a specific submatrix of the given matrix.
matrix | The matrix containing the submatrix. |
row | The index of the first row of the submatrix. |
column | The index of the first column of the submatrix. |
m | The number of rows of the submatrix. |
n | The number of columns of the submatrix. |
std::invalid_argument | Invalid submatrix specification. |
This function returns an expression representing an aligned or unaligned submatrix of the given dense or sparse matrix, based on the specified alignment flag AF. The following example demonstrates the creation of both an aligned and unaligned submatrix:
In case the submatrix is not properly specified (i.e. if the specified row or column is larger than the total number of rows or columns of the given matrix or the submatrix is specified beyond the number of rows or columns of the matrix) a std::invalid_argument exception is thrown.
In contrast to unaligned submatrices, which provide full flexibility, aligned submatrices pose additional alignment restrictions and the given row, and column arguments are subject to additional checks to guarantee proper alignment. However, especially in case of dense submatrices this may result in considerable performance improvements.
The alignment restrictions refer to system dependent address restrictions for the used element type and the available vectorization mode (SSE, AVX, ...). In order to be properly aligned the first element of each row/column of the submatrix must be aligned. The following source code gives some examples for a double precision row-major dynamic matrix, assuming that padding is enabled and that AVX is available, which packs 4 double
values into an intrinsic vector:
In case any alignment restrictions are violated, a std::invalid_argument exception is thrown.
|
inline |
Creating a view on a specific submatrix of the given matrix.
matrix | The matrix containing the submatrix. |
row | The index of the first row of the submatrix. |
column | The index of the first column of the submatrix. |
m | The number of rows of the submatrix. |
n | The number of columns of the submatrix. |
std::invalid_argument | Invalid submatrix specification. |
This function returns an expression representing an aligned or unaligned submatrix of the given dense or sparse matrix, based on the specified alignment flag AF. The following example demonstrates the creation of both an aligned and unaligned submatrix:
In case the submatrix is not properly specified (i.e. if the specified row or column is larger than the total number of rows or columns of the given matrix or the submatrix is specified beyond the number of rows or columns of the matrix) a std::invalid_argument exception is thrown.
In contrast to unaligned submatrices, which provide full flexibility, aligned submatrices pose additional alignment restrictions and the given row, and column arguments are subject to additional checks to guarantee proper alignment. However, especially in case of dense submatrices this may result in considerable performance improvements.
The alignment restrictions refer to system dependent address restrictions for the used element type and the available vectorization mode (SSE, AVX, ...). In order to be properly aligned the first element of each row/column of the submatrix must be aligned. The following source code gives some examples for a double precision row-major dynamic matrix, assuming that padding is enabled and that AVX is available, which packs 4 double
values into an intrinsic vector:
In case any alignment restrictions are violated, a std::invalid_argument exception is thrown.
|
inline |
Creating a view on a specific subvector of the given vector.
vector | The vector containing the subvector. |
index | The index of the first element of the subvector. |
size | The size of the subvector. |
std::invalid_argument | Invalid subvector specification. |
This function returns an expression representing the specified subvector of the given vector. The following example demonstrates the creation of a dense and sparse subvector:
In case the subvector is not properly specified (i.e. if the specified first index is larger than the total size of the given vector or the subvector is specified beyond the size of the vector) a std::invalid_argument exception is thrown.
Please note that this function creates an unaligned dense or sparse subvector. For instance, the creation of the dense subvector is equivalent to the following three function calls:
In contrast to unaligned subvectors, which provide full flexibility, aligned subvectors pose additional alignment restrictions. However, especially in case of dense subvectors this may result in considerable performance improvements. In order to create an aligned subvector the following function call has to be used:
Note however that in this case the given index and size are subject to additional checks to guarantee proper alignment.
|
inline |
Creating a view on a specific subvector of the given vector.
vector | The vector containing the subvector. |
index | The index of the first element of the subvector. |
size | The size of the subvector. |
std::invalid_argument | Invalid subvector specification. |
This function returns an expression representing the specified subvector of the given vector. The following example demonstrates the creation of a dense and sparse subvector:
In case the subvector is not properly specified (i.e. if the specified first index is larger than the total size of the given vector or the subvector is specified beyond the size of the vector) a std::invalid_argument exception is thrown.
Please note that this function creates an unaligned dense or sparse subvector. For instance, the creation of the dense subvector is equivalent to the following three function calls:
In contrast to unaligned subvectors, which provide full flexibility, aligned subvectors pose additional alignment restrictions. However, especially in case of dense subvectors this may result in considerable performance improvements. In order to create an aligned subvector the following function call has to be used:
Note however that in this case the given index and size are subject to additional checks to guarantee proper alignment.
|
inline |
Creating a view on a specific subvector of the given vector.
vector | The vector containing the subvector. |
index | The index of the first element of the subvector. |
size | The size of the subvector. |
std::invalid_argument | Invalid subvector specification. |
This function returns an expression representing an aligned or unaligned subvector of the given dense or sparse vector, based on the specified alignment flag AF. The following example demonstrates the creation of both an aligned and unaligned subvector:
In case the subvector is not properly specified (i.e. if the specified first index is larger than the total size of the given vector or the subvector is specified beyond the size of the vector) a std::invalid_argument exception is thrown.
In contrast to unaligned subvectors, which provide full flexibility, aligned subvectors pose additional alignment restrictions and the given index is subject to additional checks to guarantee proper alignment. However, especially in case of dense subvectors this may result in considerable performance improvements.
The alignment restrictions refer to system dependent address restrictions for the used element type and the available vectorization mode (SSE, AVX, ...). In order to be properly aligned the first element of the subvector must be aligned. The following source code gives some examples for a double precision dynamic vector, assuming that AVX is available, which packs 4 double
values into an intrinsic vector:
In case any alignment restrictions are violated, a std::invalid_argument exception is thrown.
|
inline |
Creating a view on a specific subvector of the given vector.
vector | The vector containing the subvector. |
index | The index of the first element of the subvector. |
size | The size of the subvector. |
std::invalid_argument | Invalid subvector specification. |
This function returns an expression representing an aligned or unaligned subvector of the given dense or sparse vector, based on the specified alignment flag AF. The following example demonstrates the creation of both an aligned and unaligned subvector:
In case the subvector is not properly specified (i.e. if the specified first index is larger than the total size of the given vector or the subvector is specified beyond the size of the vector) a std::invalid_argument exception is thrown.
In contrast to unaligned subvectors, which provide full flexibility, aligned subvectors pose additional alignment restrictions and the given index is subject to additional checks to guarantee proper alignment. However, especially in case of dense subvectors this may result in considerable performance improvements.
The alignment restrictions refer to system dependent address restrictions for the used element type and the available vectorization mode (SSE, AVX, ...). In order to be properly aligned the first element of the subvector must be aligned. The following source code gives some examples for a double precision dynamic vector, assuming that AVX is available, which packs 4 double
values into an intrinsic vector:
In case any alignment restrictions are violated, a std::invalid_argument exception is thrown.