SumPlus< Scalar, SavedScalar, Space > Struct Template Reference#

DiFfRG: DiFfRG::SumPlus< Scalar, SavedScalar, Space > Struct Template Reference
DiFfRG
DiFfRG::SumPlus< Scalar, SavedScalar, Space > Struct Template Reference

An extension of the Kokkos::Sum reducer that adds a constant value to the result. More...

#include <kokkos.hh>

Public Types

using reducer = SumPlus<Scalar, SavedScalar, Space>
 
using value_type = std::remove_cv_t<Scalar>
 
using saved_type = std::remove_cv_t<SavedScalar>
 
using result_view_type = Kokkos::View<value_type, Space>
 

Public Member Functions

KOKKOS_INLINE_FUNCTION SumPlus (value_type &value_, const saved_type &plus_value_)
 
KOKKOS_INLINE_FUNCTION SumPlus (const result_view_type &value_, const saved_type &plus_value_)
 
KOKKOS_INLINE_FUNCTION void join (value_type &dest, const value_type &src) const
 
KOKKOS_INLINE_FUNCTION void init (value_type &val) const
 
KOKKOS_INLINE_FUNCTION value_typereference () const
 
KOKKOS_INLINE_FUNCTION result_view_type view () const
 
KOKKOS_INLINE_FUNCTION bool references_scalar () const
 
KOKKOS_INLINE_FUNCTION void final (value_type &update) const
 

Private Attributes

result_view_type value
 
bool references_scalar_v
 
const saved_type plus_value
 

Detailed Description

template<class Scalar, class SavedScalar, class Space>
struct DiFfRG::SumPlus< Scalar, SavedScalar, Space >

An extension of the Kokkos::Sum reducer that adds a constant value to the result.

Template Parameters
Scalarthe type of the scalar value to be summed.
Spaceexecution space for the Kokkos::Sum reducer.

Member Typedef Documentation

◆ reducer

template<class Scalar , class SavedScalar , class Space >
using DiFfRG::SumPlus< Scalar, SavedScalar, Space >::reducer = SumPlus<Scalar, SavedScalar, Space>

◆ result_view_type

template<class Scalar , class SavedScalar , class Space >
using DiFfRG::SumPlus< Scalar, SavedScalar, Space >::result_view_type = Kokkos::View<value_type, Space>

◆ saved_type

template<class Scalar , class SavedScalar , class Space >
using DiFfRG::SumPlus< Scalar, SavedScalar, Space >::saved_type = std::remove_cv_t<SavedScalar>

◆ value_type

template<class Scalar , class SavedScalar , class Space >
using DiFfRG::SumPlus< Scalar, SavedScalar, Space >::value_type = std::remove_cv_t<Scalar>

Constructor & Destructor Documentation

◆ SumPlus() [1/2]

template<class Scalar , class SavedScalar , class Space >
KOKKOS_INLINE_FUNCTION DiFfRG::SumPlus< Scalar, SavedScalar, Space >::SumPlus ( value_type & value_,
const saved_type & plus_value_ )
inline

◆ SumPlus() [2/2]

template<class Scalar , class SavedScalar , class Space >
KOKKOS_INLINE_FUNCTION DiFfRG::SumPlus< Scalar, SavedScalar, Space >::SumPlus ( const result_view_type & value_,
const saved_type & plus_value_ )
inline

Member Function Documentation

◆ final()

template<class Scalar , class SavedScalar , class Space >
KOKKOS_INLINE_FUNCTION void DiFfRG::SumPlus< Scalar, SavedScalar, Space >::final ( value_type & update) const
inline

◆ init()

template<class Scalar , class SavedScalar , class Space >
KOKKOS_INLINE_FUNCTION void DiFfRG::SumPlus< Scalar, SavedScalar, Space >::init ( value_type & val) const
inline

◆ join()

template<class Scalar , class SavedScalar , class Space >
KOKKOS_INLINE_FUNCTION void DiFfRG::SumPlus< Scalar, SavedScalar, Space >::join ( value_type & dest,
const value_type & src ) const
inline

◆ reference()

template<class Scalar , class SavedScalar , class Space >
KOKKOS_INLINE_FUNCTION value_type & DiFfRG::SumPlus< Scalar, SavedScalar, Space >::reference ( ) const
inline

◆ references_scalar()

template<class Scalar , class SavedScalar , class Space >
KOKKOS_INLINE_FUNCTION bool DiFfRG::SumPlus< Scalar, SavedScalar, Space >::references_scalar ( ) const
inline

◆ view()

template<class Scalar , class SavedScalar , class Space >
KOKKOS_INLINE_FUNCTION result_view_type DiFfRG::SumPlus< Scalar, SavedScalar, Space >::view ( ) const
inline

Member Data Documentation

◆ plus_value

template<class Scalar , class SavedScalar , class Space >
const saved_type DiFfRG::SumPlus< Scalar, SavedScalar, Space >::plus_value
private

◆ references_scalar_v

template<class Scalar , class SavedScalar , class Space >
bool DiFfRG::SumPlus< Scalar, SavedScalar, Space >::references_scalar_v
private

◆ value

template<class Scalar , class SavedScalar , class Space >
result_view_type DiFfRG::SumPlus< Scalar, SavedScalar, Space >::value
private

The documentation for this struct was generated from the following file:
  • /home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/common/kokkos.hh