RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
Public Types | Public Member Functions | List of all members
RAJA::reduce::detail::BaseReduceMinLoc< T, IndexType, Combiner > Class Template Reference

MinLoc reducer class template. More...

#include <reduce.hpp>

Inheritance diagram for RAJA::reduce::detail::BaseReduceMinLoc< T, IndexType, Combiner >:
RAJA::reduce::detail::BaseReduce< ValueLoc< T, IndexType >, RAJA::reduce::min, Combiner >

Public Types

using Base = BaseReduce< ValueLoc< T, IndexType >, RAJA::reduce::min, Combiner >
 
using value_type = typename Base::value_type
 
using reduce_type = typename Base::reduce_type
 
- Public Types inherited from RAJA::reduce::detail::BaseReduce< ValueLoc< T, IndexType >, RAJA::reduce::min, Combiner >
using value_type = ValueLoc< T, IndexType >
 
using reduce_type = Reduce
 

Public Member Functions

constexpr BaseReduceMinLoc ()
 
constexpr BaseReduceMinLoc (T init_val, IndexType init_idx, T identity_val_=reduce_type::identity(), IndexType identity_loc_=DefaultLoc< IndexType >().value())
 
void reset (T init_val, IndexType init_idx, T identity_val_=reduce_type::identity(), IndexType identity_loc_=DefaultLoc< IndexType >().value())
 
RAJA_HOST_DEVICE const BaseReduceMinLocminloc (T rhs, IndexType loc) const
 reducer function; updates the current instance's state More...
 
IndexType getLoc () const
 Get the calculated reduced value. More...
 
 operator T () const
 Get the calculated reduced value. More...
 
- Public Member Functions inherited from RAJA::reduce::detail::BaseReduce< ValueLoc< T, IndexType >, RAJA::reduce::min, Combiner >
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE BaseReduce ()
 
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE BaseReduce (ValueLoc< T, IndexType > init_val, ValueLoc< T, IndexType > identity_=Reduce::identity())
 
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE BaseReduce (const BaseReduce &copy)
 compiler-generated copy constructor More...
 
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE RAJA_INLINE BaseReduce (BaseReduce &&copy)
 compiler-generated move constructor More...
 
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE void reset (ValueLoc< T, IndexType > val, ValueLoc< T, IndexType > identity_=Reduce::identity())
 
BaseReduceoperator= (const BaseReduce &)=delete
 prohibit compiler-generated copy assignment More...
 
BaseReduceoperator= (BaseReduce &&)=default
 compiler-generated move assignment More...
 
RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE void combine (ValueLoc< T, IndexType > const &other) const
 
ValueLoc< T, IndexType > & local () const
 
 operator ValueLoc< T, IndexType > () const
 Get the calculated reduced value. More...
 
ValueLoc< T, IndexType > get () const
 Get the calculated reduced value. More...
 

Detailed Description

template<typename T, typename IndexType, template< typename, typename > class Combiner>
class RAJA::reduce::detail::BaseReduceMinLoc< T, IndexType, Combiner >

MinLoc reducer class template.

Member Typedef Documentation

◆ Base

template<typename T , typename IndexType , template< typename, typename > class Combiner>
using RAJA::reduce::detail::BaseReduceMinLoc< T, IndexType, Combiner >::Base = BaseReduce<ValueLoc<T, IndexType>, RAJA::reduce::min, Combiner>

◆ value_type

template<typename T , typename IndexType , template< typename, typename > class Combiner>
using RAJA::reduce::detail::BaseReduceMinLoc< T, IndexType, Combiner >::value_type = typename Base::value_type

◆ reduce_type

template<typename T , typename IndexType , template< typename, typename > class Combiner>
using RAJA::reduce::detail::BaseReduceMinLoc< T, IndexType, Combiner >::reduce_type = typename Base::reduce_type

Constructor & Destructor Documentation

◆ BaseReduceMinLoc() [1/2]

template<typename T , typename IndexType , template< typename, typename > class Combiner>
constexpr RAJA::reduce::detail::BaseReduceMinLoc< T, IndexType, Combiner >::BaseReduceMinLoc ( )
inlineconstexpr

◆ BaseReduceMinLoc() [2/2]

template<typename T , typename IndexType , template< typename, typename > class Combiner>
constexpr RAJA::reduce::detail::BaseReduceMinLoc< T, IndexType, Combiner >::BaseReduceMinLoc ( init_val,
IndexType  init_idx,
identity_val_ = reduce_type::identity(),
IndexType  identity_loc_ = DefaultLoc<IndexType>().value() 
)
inlineconstexpr

Member Function Documentation

◆ reset()

template<typename T , typename IndexType , template< typename, typename > class Combiner>
void RAJA::reduce::detail::BaseReduceMinLoc< T, IndexType, Combiner >::reset ( init_val,
IndexType  init_idx,
identity_val_ = reduce_type::identity(),
IndexType  identity_loc_ = DefaultLoc<IndexType>().value() 
)
inline

◆ minloc()

template<typename T , typename IndexType , template< typename, typename > class Combiner>
RAJA_HOST_DEVICE const BaseReduceMinLoc& RAJA::reduce::detail::BaseReduceMinLoc< T, IndexType, Combiner >::minloc ( rhs,
IndexType  loc 
) const
inline

reducer function; updates the current instance's state

◆ getLoc()

template<typename T , typename IndexType , template< typename, typename > class Combiner>
IndexType RAJA::reduce::detail::BaseReduceMinLoc< T, IndexType, Combiner >::getLoc ( ) const
inline

Get the calculated reduced value.

◆ operator T()

template<typename T , typename IndexType , template< typename, typename > class Combiner>
RAJA::reduce::detail::BaseReduceMinLoc< T, IndexType, Combiner >::operator T ( ) const
inline

Get the calculated reduced value.


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