|
Template Numerical Library version\ main:8246197
|
RowView is a simple structure for accessing rows of sparse matrix. More...
#include <TNL/Matrices/SparseMatrixRowView.h>
Public Types | |
| using | ColumnsIndexesViewType = ColumnsIndexesView |
| Type of container view used for storing the column indexes of the matrix elements. | |
| using | ConstColumnsIndexesViewType = typename ColumnsIndexesViewType::ConstViewType |
| Type of constant container view used for storing the column indexes of the matrix elements. | |
| using | ConstIteratorType = MatrixRowViewIterator< ConstRowView > |
| Type of constant iterator for the matrix row. | |
| using | ConstRowView = SparseMatrixRowView< SegmentViewType, ConstValuesViewType, ConstColumnsIndexesViewType > |
| Type of constant sparse matrix row view. | |
| using | ConstValuesViewType = typename ValuesViewType::ConstViewType |
| Type of constant container view used for storing the matrix elements values. | |
| using | GetValueConstResultType = std::conditional_t< isBinary(), bool, std::add_const_t< RealType >& > |
| using | GetValueResultType = std::conditional_t< isBinary(), bool, RealType& > |
| using | IndexType = typename ColumnsIndexesView::IndexType |
| The type used for matrix elements indexing. | |
| using | IteratorType = MatrixRowViewIterator< RowView > |
| Type of iterator for the matrix row. | |
| using | MatrixElementType = SparseMatrixElement< RealType, IndexType > |
| The type of related matrix element. | |
| using | RealType = typename ValuesView::RealType |
| The type of matrix elements. | |
| using | RowView = SparseMatrixRowView< SegmentViewType, ValuesViewType, ColumnsIndexesViewType > |
| Type of sparse matrix row view. | |
| using | SegmentViewType = SegmentView |
| Type representing matrix row format. | |
| using | ValuesViewType = ValuesView |
| Type of container view used for storing the matrix elements values. | |
Public Member Functions | |
| __cuda_callable__ | SparseMatrixRowView (SegmentViewType segmentView, ValuesViewType values, ColumnsIndexesViewType columnIndexes) |
| Constructor with segmentView, values and columnIndexes. | |
| __cuda_callable__ IteratorType | begin () |
| Returns iterator pointing at the beginning of the matrix row. | |
| __cuda_callable__ ConstIteratorType | cbegin () const |
| Returns constant iterator pointing at the beginning of the matrix row. | |
| __cuda_callable__ ConstIteratorType | cend () const |
| Returns constant iterator pointing at the end of the matrix row. | |
| __cuda_callable__ IteratorType | end () |
| Returns iterator pointing at the end of the matrix row. | |
| __cuda_callable__ ColumnsIndexesViewType::ValueType & | getColumnIndex (IndexType localIdx) |
| Returns non-constants reference to a column index of an element with given rank in the row. | |
| __cuda_callable__ const ColumnsIndexesViewType::ValueType & | getColumnIndex (IndexType localIdx) const |
| Returns constants reference to a column index of an element with given rank in the row. | |
| __cuda_callable__ IndexType | getGlobalIndex (IndexType localIdx) const |
| Computes the global index of the matrix element with given rank in the matrix row. | |
| __cuda_callable__ IndexType | getRowIndex () const |
| Returns the matrix row index. | |
| __cuda_callable__ IndexType | getSize () const |
| Returns size of the matrix row, i.e. number of matrix elements in this row. | |
| __cuda_callable__ auto | getValue (IndexType localIdx) -> GetValueResultType |
| Returns non-constants reference to value of an element with given rank in the row. | |
| __cuda_callable__ auto | getValue (IndexType localIdx) const -> GetValueConstResultType |
| Returns constants reference to value of an element with given rank in the row. | |
| template<typename _SegmentView, typename _ValuesView, typename _ColumnsIndexesView> | |
| __cuda_callable__ bool | operator== (const SparseMatrixRowView< _SegmentView, _ValuesView, _ColumnsIndexesView > &other) const |
| Comparison of two matrix rows. | |
| __cuda_callable__ void | setColumnIndex (IndexType localIdx, const IndexType &columnIndex) |
| Sets a column index of matrix element with given rank in the matrix row. | |
| __cuda_callable__ void | setElement (IndexType localIdx, IndexType columnIndex, const RealType &value) |
| Sets both a value and a column index of matrix element with given rank in the matrix row. | |
| __cuda_callable__ void | setValue (IndexType localIdx, const RealType &value) |
| Sets a value of matrix element with given rank in the matrix row. | |
| __cuda_callable__ void | sortColumnIndexes () |
| Sort the matrix row by column indexes in ascending order. | |
Static Public Member Functions | |
| static constexpr bool | isBinary () |
| Tells whether the parent matrix is a binary matrix. | |
Protected Attributes | |
| ColumnsIndexesViewType | columnIndexes |
| SegmentViewType | segmentView |
| ValuesViewType | values |
RowView is a simple structure for accessing rows of sparse matrix.
| SegmentView | is a segment view of segments representing the matrix format. |
| ValuesView | is a vector view storing the matrix elements values. |
| ColumnsIndexesView | is a vector view storing the column indexes of the matrix element. |
See SparseMatrixBase, SparseMatrix and SparseMatrixView.
| __cuda_callable__ TNL::Matrices::SparseMatrixRowView< SegmentView, ValuesView, ColumnsIndexesView >::SparseMatrixRowView | ( | SegmentViewType | segmentView, |
| ValuesViewType | values, | ||
| ColumnsIndexesViewType | columnIndexes ) |
Constructor with segmentView, values and columnIndexes.
| segmentView | instance of SegmentViewType representing matrix row. |
| values | is a container view for storing the matrix elements values. |
| columnIndexes | is a container view for storing the column indexes of the matrix elements. |
|
nodiscard |
Returns iterator pointing at the beginning of the matrix row.
|
nodiscard |
Returns constant iterator pointing at the beginning of the matrix row.
|
nodiscard |
Returns constant iterator pointing at the end of the matrix row.
|
nodiscard |
Returns iterator pointing at the end of the matrix row.
|
nodiscard |
Returns non-constants reference to a column index of an element with given rank in the row.
| localIdx | is the rank of the non-zero element in given row. |
|
nodiscard |
Returns constants reference to a column index of an element with given rank in the row.
| localIdx | is the rank of the non-zero element in given row. |
|
nodiscard |
Computes the global index of the matrix element with given rank in the matrix row.
| localIdx | is the rank of the matrix element in the row. |
|
nodiscard |
Returns the matrix row index.
|
nodiscard |
Returns size of the matrix row, i.e. number of matrix elements in this row.
|
nodiscard |
Returns non-constants reference to value of an element with given rank in the row.
| localIdx | is the rank of the non-zero element in given row. |
|
nodiscard |
Returns constants reference to value of an element with given rank in the row.
| localIdx | is the rank of the non-zero element in given row. |
|
inlinestaticnodiscardconstexpr |
Tells whether the parent matrix is a binary matrix.
|
nodiscard |
Comparison of two matrix rows.
The other matrix row can be from any other matrix. Only elements which are really present in the matrix are compared, i.e. the padding elements and the elements with an explicitly stored zero value are skipped, so two rows are equal even if they differ in the explicitly stored zero elements only. The elements are compared in the order in which they are stored in the rows, i.e. the rows do not need to be sorted by the column indexes, but rows which store the same elements in a different order are not equal.
| other | is another matrix row. |
| __cuda_callable__ void TNL::Matrices::SparseMatrixRowView< SegmentView, ValuesView, ColumnsIndexesView >::setColumnIndex | ( | IndexType | localIdx, |
| const IndexType & | columnIndex ) |
Sets a column index of matrix element with given rank in the matrix row.
| localIdx | is the rank of the matrix element in the row. |
| columnIndex | is the new column index of the matrix element. |
| __cuda_callable__ void TNL::Matrices::SparseMatrixRowView< SegmentView, ValuesView, ColumnsIndexesView >::setElement | ( | IndexType | localIdx, |
| IndexType | columnIndex, | ||
| const RealType & | value ) |
Sets both a value and a column index of matrix element with given rank in the matrix row.
| localIdx | is the rank of the matrix element in the row. |
| columnIndex | is the new column index of the matrix element. |
| value | is the new value of the matrix element. |
| __cuda_callable__ void TNL::Matrices::SparseMatrixRowView< SegmentView, ValuesView, ColumnsIndexesView >::setValue | ( | IndexType | localIdx, |
| const RealType & | value ) |
Sets a value of matrix element with given rank in the matrix row.
| localIdx | is the rank of the matrix element in the row. |
| value | is the new value of the matrix element. |