Interface to handle abstract matrices implementation. More...
#include <core/alien/core/impl/IMatrixImpl.h>
Public Types | |
| typedef Arccore::Real | ValueType |
| Type of the values stored in the matrix. | |
Public Member Functions | |
| IMatrixImpl (const MultiMatrixImpl *multi_impl, BackEndId backend="") | |
| Constructor. | |
| virtual | ~IMatrixImpl () override=default |
| Free resources. | |
| IMatrixImpl (const IMatrixImpl &src)=delete | |
| IMatrixImpl (IMatrixImpl &&src)=delete | |
| IMatrixImpl & | operator= (const IMatrixImpl &src)=delete |
| IMatrixImpl & | operator= (IMatrixImpl &&src)=delete |
| virtual void | clear () |
| Wipe out internal data. | |
| virtual const ISpace & | rowSpace () const |
| Get the row space associated to the matrix \ returns The row space. | |
| virtual const ISpace & | colSpace () const |
| Get the row space associated to the matrix \ returns The row space. | |
| virtual const MatrixDistribution & | distribution () const |
| Get the distribution of the matrix. | |
| virtual BackEndId | backend () const |
| virtual const Block * | block () const |
| Get block datas of the matrix. | |
| virtual const VBlock * | vblock () const |
| Get block datas of the matrix. | |
| virtual const VBlock * | rowBlock () const |
| Get row block datas of the matrix. | |
| virtual const VBlock * | colBlock () const |
| Get col block datas of the matrix. | |
| const MultiMatrixImpl * | impls () const |
| Public Member Functions inherited from Alien::Timestamp | |
| Timestamp (const TimestampMng *manager) | |
| virtual | ~Timestamp () |
| Destructeur de la classe. | |
| virtual Int64 | timestamp () const |
| Donne la valeur courante du timestamp. | |
| void | updateTimestamp () |
| Met à jour le timestamp. | |
| void | copyTimestamp (const Timestamp &v) |
| Copy un autre timestamp. | |
| void | setTimestamp (const TimestampMng *manager, const Int64 timestamp) |
| Public Member Functions inherited from Alien::ObjectWithTrace | |
| template<typename T> | |
| void | alien_info (T &&t) const |
| template<typename T> | |
| void | alien_debug (T &&t) const |
| template<typename T> | |
| void | alien_warning (T &&t) const |
| template<typename T> | |
| void | alien_fatal (T &&t) const |
| ITraceMng * | traceMng () const |
Protected Attributes | |
| const MultiMatrixImpl * | m_multi_impl |
| Pointer on matrices implementation. | |
| BackEndId | m_backend |
| Backend id. | |
Additional Inherited Members | |
| Protected Member Functions inherited from Alien::ObjectWithTrace | |
| TraceMessage | cout () const |
Interface to handle abstract matrices implementation.
Definition at line 45 of file IMatrixImpl.h.
| typedef Arccore::Real Alien::IMatrixImpl::ValueType |
Type of the values stored in the matrix.
Definition at line 50 of file IMatrixImpl.h.
|
explicit |
Constructor.
| [in] | multi_impl | Pointer to the multimatrix handler, null if not associated |
| [in] | backend | Name of the underneath backend, empty string if not associated |
Definition at line 38 of file IMatrixImpl.cc.
References backend(), m_backend, and m_multi_impl.
Referenced by Alien::HCSRMatrix< ValueT >::HCSRMatrix(), Alien::HCSRMatrix< ValueT >::HCSRMatrix(), Alien::CompositeKernel::Matrix::Matrix(), Alien::CompositeKernel::Matrix::Matrix(), Alien::SimpleCSRMatrix< Arccore::Real >::SimpleCSRMatrix(), Alien::SimpleCSRMatrix< Arccore::Real >::SimpleCSRMatrix(), Alien::SYCLBEllPackMatrix< ValueT >::SYCLBEllPackMatrix(), Alien::SYCLBEllPackMatrix< ValueT >::SYCLBEllPackMatrix(), and ~IMatrixImpl().
|
inlinevirtual |
Get the matrix backend id
Definition at line 94 of file IMatrixImpl.h.
References m_backend.
Referenced by Alien::IMatrixConverter::cast(), Alien::IMatrixConverter::cast(), Alien::MultiMatrixImpl::get(), Alien::MultiMatrixImpl::get(), IMatrixImpl(), and Alien::MultiMatrixImpl::updateImpl().
|
virtual |
Get block datas of the matrix.
Get the block datas of the matrix. This method should be used only with uniform blocks matrices, otherwise il will return a nullptr
Definition at line 75 of file IMatrixImpl.cc.
References m_multi_impl.
Referenced by Alien::NormalizeOpt::_normalize(), Alien::SchurOp::computePrimarySystem(), Alien::DoKtoSimpleCSRMatrixConverter::convert(), Alien::RedistributorToSimpleCSRMatrixConverter::convert(), Alien::SimpleCSRtoDoKMatrixConverter::convert(), Alien::SimpleCSRtoRedistributorMatrixConverter::convert(), Alien::NormalizeOpt::Op::Op(), and Alien::NormalizeOpt::Op2::Op2().
|
inlinevirtual |
Wipe out internal data.
Reimplemented in Alien::CompositeKernel::Matrix, Alien::DoKMatrix, Alien::RedistributorMatrix, Alien::SimpleCSRMatrix< ValueT >, Alien::SimpleCSRMatrix< Arccore::Real >, Alien::SimpleCSRMatrix< Real >, Alien::SimpleCSRMatrix< T >, and Alien::SimpleCSRMatrix< ValueType >.
Definition at line 70 of file IMatrixImpl.h.
|
virtual |
Get col block datas of the matrix.
Get the col block datas of the matrix. This method should be used only with variable blocks matrices, otherwise il will return a nullptr
Definition at line 102 of file IMatrixImpl.cc.
References m_multi_impl.
Referenced by Alien::NormalizeOpt::Op2::Op2().
|
virtual |
Get the row space associated to the matrix \ returns The row space.
Definition at line 57 of file IMatrixImpl.cc.
References m_multi_impl.
Referenced by Alien::CompositeKernel::Matrix::Matrix().
|
virtual |
Get the distribution of the matrix.
Definition at line 66 of file IMatrixImpl.cc.
References m_multi_impl.
|
inline |
Definition at line 140 of file IMatrixImpl.h.
|
virtual |
Get row block datas of the matrix.
Get the row block datas of the matrix. This method should be used only with variable blocks matrices, otherwise il will return a nullptr
Definition at line 93 of file IMatrixImpl.cc.
References m_multi_impl.
Referenced by Alien::NormalizeOpt::Op2::Op2(), and Alien::NormalizeOpt::Op2::Op2().
|
virtual |
Get the row space associated to the matrix \ returns The row space.
Definition at line 48 of file IMatrixImpl.cc.
References m_multi_impl.
Referenced by Alien::CompositeKernel::Matrix::Matrix().
|
virtual |
Get block datas of the matrix.
Get the block datas of the matrix. This method should be used only with variable blocks matrices, otherwise il will return a nullptr
Definition at line 84 of file IMatrixImpl.cc.
References m_multi_impl.
Referenced by Alien::SchurOp::computePrimarySystem(), Alien::DoKtoSimpleCSRMatrixConverter::convert(), and Alien::SimpleCSRMatrix< Arccore::Real >::SimpleCSRMatrix().
|
protected |
Backend id.
Definition at line 147 of file IMatrixImpl.h.
Referenced by backend(), and IMatrixImpl().
|
protected |
Pointer on matrices implementation.
Definition at line 145 of file IMatrixImpl.h.
Referenced by block(), colBlock(), colSpace(), distribution(), IMatrixImpl(), rowBlock(), rowSpace(), and vblock().