EnableSolverBase< DerivedType, MatrixType > Class Template Reference

EnableSolverBase&lt; DerivedType, MatrixType &gt; Class Template Reference#

Reference API: gko::solver::EnableSolverBase< DerivedType, MatrixType > Class Template Reference
Reference API
gko::solver::EnableSolverBase< DerivedType, MatrixType > Class Template Reference

#include <ginkgo/core/solver/solver_base.hpp>

Inheritance diagram for gko::solver::EnableSolverBase< DerivedType, MatrixType >:
[legend]

Public Member Functions

EnableSolverBaseoperator= (const EnableSolverBase &other)
 
EnableSolverBaseoperator= (EnableSolverBase &&other)
 
 EnableSolverBase (std::shared_ptr< const MatrixType > system_matrix)
 
 EnableSolverBase (const EnableSolverBase &other)
 
 EnableSolverBase (EnableSolverBase &&other)
 
int get_num_workspace_ops () const override
 
std::vector< std::string > get_workspace_op_names () const override
 
std::vector< int > get_workspace_scalars () const override
 
std::vector< int > get_workspace_vectors () const override
 
- Public Member Functions inherited from gko::solver::SolverBase< MatrixType >
std::shared_ptr< const MatrixType > get_system_matrix () const
 

Protected Member Functions

void set_system_matrix (std::shared_ptr< const MatrixType > new_system_matrix)
 
void setup_workspace () const
 
- Protected Member Functions inherited from gko::solver::SolverBase< MatrixType >
void set_system_matrix_base (std::shared_ptr< const MatrixType > system_matrix)
 

Detailed Description

template<typename DerivedType, typename MatrixType = LinOp>
class gko::solver::EnableSolverBase< DerivedType, MatrixType >

A LinOp deriving from this CRTP class stores a system matrix.

Template Parameters
DerivedTypethe CRTP type that derives from this
MatrixTypethe concrete matrix type to be stored as system_matrix

Constructor & Destructor Documentation

◆ EnableSolverBase() [1/2]

template<typename DerivedType , typename MatrixType = LinOp>
gko::solver::EnableSolverBase< DerivedType, MatrixType >::EnableSolverBase ( const EnableSolverBase< DerivedType, MatrixType > &  other)
inline

Creates a shallow copy of the provided system matrix.

◆ EnableSolverBase() [2/2]

template<typename DerivedType , typename MatrixType = LinOp>
gko::solver::EnableSolverBase< DerivedType, MatrixType >::EnableSolverBase ( EnableSolverBase< DerivedType, MatrixType > &&  other)
inline

Moves the provided system matrix. The moved-from object has a nullptr system matrix.

Member Function Documentation

◆ get_workspace_scalars()

template<typename DerivedType , typename MatrixType = LinOp>
std::vector< int > gko::solver::EnableSolverBase< DerivedType, MatrixType >::get_workspace_scalars ( ) const
inlineoverride

Returns the IDs of all scalars (workspace vectors with system dimension-independent size, usually 1 x num_rhs).

◆ get_workspace_vectors()

template<typename DerivedType , typename MatrixType = LinOp>
std::vector< int > gko::solver::EnableSolverBase< DerivedType, MatrixType >::get_workspace_vectors ( ) const
inlineoverride

Returns the IDs of all vectors (workspace vectors with system dimension-dependent size, usually system_matrix_size x num_rhs).

◆ operator=() [1/2]

template<typename DerivedType , typename MatrixType = LinOp>
EnableSolverBase & gko::solver::EnableSolverBase< DerivedType, MatrixType >::operator= ( const EnableSolverBase< DerivedType, MatrixType > &  other)
inline

Creates a shallow copy of the provided system matrix, clones it onto this executor if executors don't match.

References gko::solver::SolverBase< MatrixType >::get_system_matrix().

◆ operator=() [2/2]

template<typename DerivedType , typename MatrixType = LinOp>
EnableSolverBase & gko::solver::EnableSolverBase< DerivedType, MatrixType >::operator= ( EnableSolverBase< DerivedType, MatrixType > &&  other)
inline

Moves the provided system matrix, clones it onto this executor if executors don't match. The moved-from object has a nullptr system matrix.


The documentation for this class was generated from the following file: