Ginkgo: gko::EnableAbsoluteComputation< AbsoluteLinOp > Class Template Reference

| Ginkgo Generated from branch based on main. Ginkgo version 1.11.0 A numerical linear algebra library targeting many-core architectures

Loading...
Searching...
No Matches
gko::EnableAbsoluteComputation< AbsoluteLinOp > Class Template Referenceabstract
Linear Operators

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< LinOp > | compute_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

  AbsoluteLinOp | the 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< ValueType > >, gko::experimental::distributed::Vector< to_complex< value_type > >, gko::experimental::distributed::Vector< ValueType >, 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< ValueType, IndexType >, gko::matrix::Dense< ValueType >, gko::matrix::Dense< absolute_type >, gko::matrix::Dense< remove_complex< ValueType > >, gko::matrix::Dense< to_complex< ValueType > >, gko::matrix::Dense< value_type >, gko::matrix::Dense< ValueType >, gko::matrix::Diagonal< ValueType >, gko::matrix::Diagonal< ValueType >, gko::matrix::Ell< ValueType, IndexType >, gko::matrix::Ell< value_type, index_type >, gko::matrix::Ell< 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:

- ginkgo/core/base/lin_op.hpp