MueLu Version of the Day
Loading...
Searching...
No Matches
MueLu::MatrixConstruction::PointwiseCountingFunctor< local_matrix_type, functor_type, remaining_functor_types > Class Template Reference

Functor that executes a sequence of sub-functors on each row for a problem with blockSize == 1. More...

#include <MueLu_MatrixConstruction.hpp>

Public Member Functions

 PointwiseCountingFunctor (local_matrix_type &A_, results_view &results_, rowptr_type &rowptr_, functor_type &functor_, remaining_functor_types &... remainingFunctors_)
 PointwiseCountingFunctor (local_matrix_type &A_, results_view &results_, rowptr_type &rowptr_, bool firstFunctor_, functor_type &functor_, remaining_functor_types &... remainingFunctors_)
KOKKOS_INLINE_FUNCTION void operator() (const local_ordinal_type rlid, local_ordinal_type &nnz, const bool &final) const

Private Types

using scalar_type = typename local_matrix_type::value_type
using local_ordinal_type = typename local_matrix_type::ordinal_type
using memory_space = typename local_matrix_type::memory_space
using results_view = Kokkos::View<DecisionType*, memory_space>
using rowptr_type = typename local_matrix_type::row_map_type::non_const_type

Private Attributes

local_matrix_type A
results_view results
rowptr_type rowptr
functor_type functor
PointwiseCountingFunctor< local_matrix_type, remaining_functor_types... > remainingFunctors
bool firstFunctor

Detailed Description

template<class local_matrix_type, class functor_type, class... remaining_functor_types>
class MueLu::MatrixConstruction::PointwiseCountingFunctor< local_matrix_type, functor_type, remaining_functor_types >

Functor that executes a sequence of sub-functors on each row for a problem with blockSize == 1.

The functor applies a series of functors to each row of the matrix. Each sub-functor can modify the decision to drop or keep any matrix entry in the given row. These decisions are applied to the results_view. Once a row has been processed by all sub-functors, the number of entries in the row after dropping is determined. The result is saved as offsets in rowptr.

Definition at line 35 of file MueLu_MatrixConstruction.hpp.

Member Typedef Documentation

◆ scalar_type

template<class local_matrix_type, class functor_type, class... remaining_functor_types>
using MueLu::MatrixConstruction::PointwiseCountingFunctor< local_matrix_type, functor_type, remaining_functor_types >::scalar_type = typename local_matrix_type::value_type
private

Definition at line 37 of file MueLu_MatrixConstruction.hpp.

◆ local_ordinal_type

template<class local_matrix_type, class functor_type, class... remaining_functor_types>
using MueLu::MatrixConstruction::PointwiseCountingFunctor< local_matrix_type, functor_type, remaining_functor_types >::local_ordinal_type = typename local_matrix_type::ordinal_type
private

Definition at line 38 of file MueLu_MatrixConstruction.hpp.

◆ memory_space

template<class local_matrix_type, class functor_type, class... remaining_functor_types>
using MueLu::MatrixConstruction::PointwiseCountingFunctor< local_matrix_type, functor_type, remaining_functor_types >::memory_space = typename local_matrix_type::memory_space
private

Definition at line 39 of file MueLu_MatrixConstruction.hpp.

◆ results_view

template<class local_matrix_type, class functor_type, class... remaining_functor_types>
using MueLu::MatrixConstruction::PointwiseCountingFunctor< local_matrix_type, functor_type, remaining_functor_types >::results_view = Kokkos::View<DecisionType*, memory_space>
private

Definition at line 40 of file MueLu_MatrixConstruction.hpp.

◆ rowptr_type

template<class local_matrix_type, class functor_type, class... remaining_functor_types>
using MueLu::MatrixConstruction::PointwiseCountingFunctor< local_matrix_type, functor_type, remaining_functor_types >::rowptr_type = typename local_matrix_type::row_map_type::non_const_type
private

Definition at line 42 of file MueLu_MatrixConstruction.hpp.

Constructor & Destructor Documentation

◆ PointwiseCountingFunctor() [1/2]

template<class local_matrix_type, class functor_type, class... remaining_functor_types>
MueLu::MatrixConstruction::PointwiseCountingFunctor< local_matrix_type, functor_type, remaining_functor_types >::PointwiseCountingFunctor ( local_matrix_type & A_,
results_view & results_,
rowptr_type & rowptr_,
functor_type & functor_,
remaining_functor_types &... remainingFunctors_ )
inline

Definition at line 56 of file MueLu_MatrixConstruction.hpp.

◆ PointwiseCountingFunctor() [2/2]

template<class local_matrix_type, class functor_type, class... remaining_functor_types>
MueLu::MatrixConstruction::PointwiseCountingFunctor< local_matrix_type, functor_type, remaining_functor_types >::PointwiseCountingFunctor ( local_matrix_type & A_,
results_view & results_,
rowptr_type & rowptr_,
bool firstFunctor_,
functor_type & functor_,
remaining_functor_types &... remainingFunctors_ )
inline

Definition at line 72 of file MueLu_MatrixConstruction.hpp.

Member Function Documentation

◆ operator()()

template<class local_matrix_type, class functor_type, class... remaining_functor_types>
KOKKOS_INLINE_FUNCTION void MueLu::MatrixConstruction::PointwiseCountingFunctor< local_matrix_type, functor_type, remaining_functor_types >::operator() ( const local_ordinal_type rlid,
local_ordinal_type & nnz,
const bool & final ) const
inline

Definition at line 89 of file MueLu_MatrixConstruction.hpp.

Member Data Documentation

◆ A

template<class local_matrix_type, class functor_type, class... remaining_functor_types>
local_matrix_type MueLu::MatrixConstruction::PointwiseCountingFunctor< local_matrix_type, functor_type, remaining_functor_types >::A
private

Definition at line 44 of file MueLu_MatrixConstruction.hpp.

◆ results

template<class local_matrix_type, class functor_type, class... remaining_functor_types>
results_view MueLu::MatrixConstruction::PointwiseCountingFunctor< local_matrix_type, functor_type, remaining_functor_types >::results
private

Definition at line 45 of file MueLu_MatrixConstruction.hpp.

◆ rowptr

template<class local_matrix_type, class functor_type, class... remaining_functor_types>
rowptr_type MueLu::MatrixConstruction::PointwiseCountingFunctor< local_matrix_type, functor_type, remaining_functor_types >::rowptr
private

Definition at line 46 of file MueLu_MatrixConstruction.hpp.

◆ functor

template<class local_matrix_type, class functor_type, class... remaining_functor_types>
functor_type MueLu::MatrixConstruction::PointwiseCountingFunctor< local_matrix_type, functor_type, remaining_functor_types >::functor
private

Definition at line 47 of file MueLu_MatrixConstruction.hpp.

◆ remainingFunctors

template<class local_matrix_type, class functor_type, class... remaining_functor_types>
PointwiseCountingFunctor<local_matrix_type, remaining_functor_types...> MueLu::MatrixConstruction::PointwiseCountingFunctor< local_matrix_type, functor_type, remaining_functor_types >::remainingFunctors
private

Definition at line 48 of file MueLu_MatrixConstruction.hpp.

◆ firstFunctor

template<class local_matrix_type, class functor_type, class... remaining_functor_types>
bool MueLu::MatrixConstruction::PointwiseCountingFunctor< local_matrix_type, functor_type, remaining_functor_types >::firstFunctor
private

Definition at line 49 of file MueLu_MatrixConstruction.hpp.


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