#include <core/alien/kernels/dok/BaseDoKDirectMatrixBuilder.h>
Public Member Functions | |
| BaseDoKDirectMatrixBuilder (IMatrix &self) | |
| std::optional< Real > | contribute (Integer row, Integer col, Real value) |
| std::optional< Real > | setNNZ (Integer row, Integer col, Real value) |
| bool | assemble () |
Use DoKMatrix to implement DirectMatrixBuilder.
This data structure is not compressed like CSR, allowing easy insertion of values.
Definition at line 40 of file BaseDoKDirectMatrixBuilder.h.
|
explicit |
Build a new representation of a matrix
| self | the multi-representation handler. It is locked during the life of this object. |
References BaseDoKDirectMatrixBuilder().
Referenced by BaseDoKDirectMatrixBuilder().
| bool Alien::Common::BaseDoKDirectMatrixBuilder::assemble | ( | ) |
Sort and compact data.
| std::optional< Real > Alien::Common::BaseDoKDirectMatrixBuilder::contribute | ( | Integer | row, |
| Integer | col, | ||
| Real | value ) |
Add a contribution to a non-zero. Will create the non-zero if needed. Non-zero does not have to be local.
| row | |
| col | |
| value | of the contribution |
| std::optional< Real > Alien::Common::BaseDoKDirectMatrixBuilder::setNNZ | ( | Integer | row, |
| Integer | col, | ||
| Real | value ) |
Set a value to a non-zero. Will create the non-zero if needed. Non-zero does not have to be local, but behavior for gathering non-local non-zero is undefined. It is not possible to choose between 2 nnz from different processes.
| row | |
| col | |
| value | of the contribution |