MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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

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.

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.

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.

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.

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

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.

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

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

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.

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.

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.

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.

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.

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: