|
dune-istl 2.12-git
|
Loading...
Searching...
No Matches
experimental/bcrsmatrix.hh
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright © DUNE Project contributors, see file LICENSE.md in module root
187 };
365 DUNE_THROW(NotImplemented, "setIndicesNoSort is not implemented yet for BCRSMatrix row-wise build mode");
380 DUNE_THROW(NotImplemented, "setIndices is not implemented yet for BCRSMatrix row-wise build mode");
740BCRSMatrix<B, I, A>::DefaultBlockAssgnment::operator=(const typename FieldTraits<B>::field_type& e)
A dynamic dense block matrix class.
#define DUNE_NO_UNIQUE_ADDRESS
STL namespace.
Definition experimental/bcrsmatrix.hh:21
int size() const
SLList< T, A > & operator=(const SLList< T, A > &other)
void increment()
auto overload(F &&... f)
virtual void operator()()=0
#define DUNE_THROW(E,...)
T field_type
Block compressed row storage matrix.
Definition experimental/bcrsmatrix.hh:82
void setSize(size_type rows, size_type cols, size_type nnz=0)
Set the expected matrix dimensions for the currently selected build mode.
Definition experimental/bcrsmatrix.hh:562
BuildMode
Available matrix construction modes.
Definition experimental/bcrsmatrix.hh:152
@ row_wise
Fill index sets sequentially, one row after another.
Definition experimental/bcrsmatrix.hh:166
@ unknown
No build mode selected, or matrix construction has finished.
Definition experimental/bcrsmatrix.hh:186
@ implicit
Build entries in arbitrary order.
Definition experimental/bcrsmatrix.hh:182
@ random
Build entries in arbitrary order.
Definition experimental/bcrsmatrix.hh:176
void setrowsize(size_type row, size_type size)
Random/implicit build API, mirroring the historic BCRSMatrix interface.
Definition experimental/bcrsmatrix.hh:603
void endindices()
Finalize the sparsity pattern and make the matrix ready for value access.
Definition experimental/bcrsmatrix.hh:624
BuildMode buildMode() const
Return the currently active build mode.
Definition experimental/bcrsmatrix.hh:548
void setIndicesNoSort(size_type row, It begin, It end)
Set all column indices for row from the given iterator range on row-wise build mode.
Definition experimental/bcrsmatrix.hh:364
void swap(BCRSMatrix &other)
Swap the contents of two matrices, respecting allocator propagation rules.
Definition experimental/bcrsmatrix.hh:297
void setIndices(size_type row, It begin, It end)
Set all column indices for row from the given iterator range row-wise build mode.
Definition experimental/bcrsmatrix.hh:379
void setBuildMode(BuildMode bm)
Reset the matrix and select a new build mode.
Definition experimental/bcrsmatrix.hh:526
BCRSMatrix(const Matrix< B, SparseIndexRanges< I >, A > &other, const allocator_type &allocator=allocator_type())
Construct an BCRSMatrix from another Matrix.
Definition experimental/bcrsmatrix.hh:209
A allocator_type
Type of the allocator used for memory management.
Definition experimental/bcrsmatrix.hh:143
BCRSMatrix(Matrix< B, SparseIndexRanges< I >, A > &&other, const allocator_type &allocator=allocator_type())
Move-construct an BCRSMatrix from another Matrix.
Definition experimental/bcrsmatrix.hh:216
DefaultBlockAssgnment entry(size_type row, size_type col)
Insert an index in implicit/random build mode.
Definition experimental/bcrsmatrix.hh:701
SequencedPatternBuilder::EndSentinel createend()
End sentinel for row-wise construction.
Definition experimental/bcrsmatrix.hh:693
void endrowsizes()
Finalize the row-size declaration phase.
Definition experimental/bcrsmatrix.hh:347
CreateIterator createbegin()
Begin row-wise construction.
Definition experimental/bcrsmatrix.hh:686
CompressionStatistics compress()
Finalize implicit/random build and return compression statistics.
Definition experimental/bcrsmatrix.hh:710
friend void swap(BCRSMatrix &lhs, BCRSMatrix &rhs)
Swap the contents of two matrices, respecting allocator propagation rules.
Definition experimental/bcrsmatrix.hh:306
BCRSMatrix< B, I, A > & operator=(const BCRSMatrix &other)
Copy-assign an BCRSMatrix from another matrix.
Definition experimental/bcrsmatrix.hh:754
void addindex(size_type row, size_type col)
Insert the col index into a sparse row during implicit/random build.
Definition experimental/bcrsmatrix.hh:617
void incrementrowsize(size_type row, size_type increment=1)
Increment the expected number of non-zero entries in a row for random/implicit build.
Definition experimental/bcrsmatrix.hh:610
Definition experimental/bcrsmatrix.hh:190
size_type overflow_total
total number of elements written to the overflow area during construction.
Definition experimental/bcrsmatrix.hh:196
double avg
average number of non-zeroes per row.
Definition experimental/bcrsmatrix.hh:192
double mem_ratio
fraction of wasted memory resulting from non-used overflow area.
Definition experimental/bcrsmatrix.hh:198
size_type maximum
maximum number of non-zeroes per row.
Definition experimental/bcrsmatrix.hh:194
Row-wise build API.
Definition experimental/bcrsmatrix.hh:388
CreateIterator & operator++()
Advance to the next row; when the last row is completed, finalize the matrix.
Definition experimental/bcrsmatrix.hh:665
Owning matrix container built on top of MatrixView.
Definition experimental/matrix.hh:44
allocator_type get_allocator() const
Return the allocator currently associated with this matrix.
Definition experimental/matrix.hh:367
Iterator begin()
Return iterator to the first row.
Definition matrixview.hh:115
std::iter_value_t< block_iter_type > block_type
The type of blocks in the matrix.
Definition matrixview.hh:70
P pattern_type
The type used for the sparsity pattern.
Definition matrixview.hh:66
std::ranges::range_size_t< pattern_type > size_type
The type used to count elements in the row and column index sets.
Definition matrixview.hh:74
Iterator end()
Return iterator one past the last row.
Definition matrixview.hh:118
Compact storage of multiple sorted sparse index sets sharing a single allocation.
Definition sparseindexranges.hh:489
Builder that allows inserting indices into any index set in any order.
Definition sparseindexranges.hh:244
Builder that fills index sets one at a time, in sequential order.
Definition sparseindexranges.hh:329
Definition sparseindexranges.hh:361
Handle for inserting indices into the current index set of a SequencedSparseIndexRangeBuilder.
Definition sparseindexranges.hh:375
T construct(T... args)
T exchange(T... args)
T swap(T... args)
T visit(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8