Ginkgo
Generated from pipelines/1554403166 branch based on develop. Ginkgo version 1.9.0
A numerical linear algebra library targeting many-core architectures
|
Mixin providing default operation for Preconditionable with correct value semantics. More...
#include <ginkgo/core/solver/solver_base.hpp>
Public Member Functions | |
void | set_preconditioner (std::shared_ptr< const LinOp > new_precond) override |
Sets the preconditioner operator used by the Preconditionable. More... | |
EnablePreconditionable & | operator= (const EnablePreconditionable &other) |
Creates a shallow copy of the provided preconditioner, clones it onto this executor if executors don't match. | |
EnablePreconditionable & | operator= (EnablePreconditionable &&other) |
Moves the provided preconditioner, clones it onto this executor if executors don't match. More... | |
EnablePreconditionable (std::shared_ptr< const LinOp > preconditioner) | |
EnablePreconditionable (const EnablePreconditionable &other) | |
Creates a shallow copy of the provided preconditioner. | |
EnablePreconditionable (EnablePreconditionable &&other) | |
Moves the provided preconditioner. More... | |
Public Member Functions inherited from gko::Preconditionable | |
virtual std::shared_ptr< const LinOp > | get_preconditioner () const |
Returns the preconditioner operator used by the Preconditionable. More... | |
Mixin providing default operation for Preconditionable with correct value semantics.
It ensures that the preconditioner stored in this class will always have the same executor as the object this mixin is used in, creating a clone on the correct executor if necessary.
DerivedType | The type that this Mixin is used in. It must provide get_size() and get_executor() functions that return correctly initialized values when the EnablePreconditionable constructor is called, i.e. the constructor must be provided by a base class added before EnablePreconditionable, since the member initialization order also applying to multiple inheritance. |
|
inline |
Moves the provided preconditioner.
The moved-from object has a nullptr preconditioner.
|
inline |
Moves the provided preconditioner, clones it onto this executor if executors don't match.
The moved-from object has a nullptr preconditioner.
|
inlineoverridevirtual |
Sets the preconditioner operator used by the Preconditionable.
new_precond | the new preconditioner operator used by the Preconditionable |
Reimplemented from gko::Preconditionable.
Referenced by gko::solver::EnablePreconditionable< Bicg< ValueType > >::operator=().