Ginkgo Generated from branch based on main. Ginkgo version 1.9.0
A numerical linear algebra library targeting many-core architectures
 
Loading...
Searching...
No Matches
gko::EnableAbsoluteComputation< AbsoluteLinOp > Class Template Referenceabstract

The EnableAbsoluteComputation mixin provides the default implementations of compute_absolute_linop and the absolute interface. More...

#include <ginkgo/core/base/lin_op.hpp>

Inheritance diagram for gko::EnableAbsoluteComputation< AbsoluteLinOp >:
[legend]
Collaboration diagram for gko::EnableAbsoluteComputation< AbsoluteLinOp >:
[legend]

Public Types

using absolute_type = AbsoluteLinOp
 

Public Member Functions

std::unique_ptr< LinOpcompute_absolute_linop () const override
 Gets the absolute LinOp.
 
virtual std::unique_ptr< absolute_type > compute_absolute () const =0
 Gets the AbsoluteLinOp.
 
- Public Member Functions inherited from gko::AbsoluteComputable
virtual void compute_absolute_inplace ()=0
 Compute absolute inplace on each element.
 

Detailed Description

template<typename AbsoluteLinOp>
class gko::EnableAbsoluteComputation< AbsoluteLinOp >

The EnableAbsoluteComputation mixin provides the default implementations of compute_absolute_linop and the absolute interface.

compute_absolute gets a new AbsoluteLinOp. compute_absolute_inplace applies absolute inplace, so it still keeps the value_type of the class.

Template Parameters
AbsoluteLinOpthe absolute LinOp which is being returned [CRTP parameter]

Member Function Documentation

◆ compute_absolute()

template<typename AbsoluteLinOp>
virtual std::unique_ptr< absolute_type > gko::EnableAbsoluteComputation< AbsoluteLinOp >::compute_absolute ( ) const
pure virtual

Gets the AbsoluteLinOp.

Returns
a pointer to the new absolute object

Implemented in gko::experimental::distributed::Vector< ValueType >, gko::experimental::distributed::Vector< previous_precision_base< ValueType > >, gko::experimental::distributed::Vector< previous_precision_base< ValueType > >, gko::experimental::distributed::Vector< to_complex< value_type > >, gko::experimental::distributed::Vector< to_complex< value_type > >, gko::experimental::distributed::Vector< ValueType >, gko::experimental::distributed::Vector< ValueType >, gko::matrix::Coo< ValueType, IndexType >, gko::matrix::Coo< ValueType, IndexType >, gko::matrix::Coo< ValueType, IndexType >, gko::matrix::Csr< ValueType, IndexType >, gko::matrix::Csr< value_type, index_type >, gko::matrix::Csr< value_type, index_type >, gko::matrix::Csr< ValueType, IndexType >, gko::matrix::Csr< ValueType, IndexType >, gko::matrix::Dense< ValueType >, gko::matrix::Dense< absolute_type >, gko::matrix::Dense< absolute_type >, gko::matrix::Dense< remove_complex< ValueType > >, gko::matrix::Dense< remove_complex< ValueType > >, gko::matrix::Dense< to_complex< ValueType > >, gko::matrix::Dense< to_complex< ValueType > >, gko::matrix::Dense< value_type >, gko::matrix::Dense< value_type >, gko::matrix::Dense< ValueType >, gko::matrix::Dense< ValueType >, gko::matrix::Diagonal< ValueType >, gko::matrix::Diagonal< ValueType >, gko::matrix::Diagonal< ValueType >, gko::matrix::Ell< ValueType, IndexType >, gko::matrix::Ell< value_type, index_type >, gko::matrix::Ell< value_type, index_type >, gko::matrix::Ell< ValueType, IndexType >, gko::matrix::Ell< ValueType, IndexType >, gko::matrix::Fbcsr< ValueType, IndexType >, gko::matrix::Fbcsr< ValueType, IndexType >, gko::matrix::Fbcsr< ValueType, IndexType >, gko::matrix::Hybrid< ValueType, IndexType >, and gko::matrix::Sellp< ValueType, IndexType >.

Referenced by compute_absolute_linop().

◆ compute_absolute_linop()

template<typename AbsoluteLinOp>
std::unique_ptr< LinOp > gko::EnableAbsoluteComputation< AbsoluteLinOp >::compute_absolute_linop ( ) const
inlineoverridevirtual

Gets the absolute LinOp.

Returns
a pointer to the new absolute LinOp

Implements gko::AbsoluteComputable.

References compute_absolute().


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