RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
Public Types | Public Member Functions | Static Public Attributes | List of all members
RAJA::internal::expt::ET::TensorDivide< LEFT_OPERAND_TYPE, RIGHT_OPERAND_TYPE > Class Template Reference

#include <TensorDivide.hpp>

Inheritance diagram for RAJA::internal::expt::ET::TensorDivide< LEFT_OPERAND_TYPE, RIGHT_OPERAND_TYPE >:
RAJA::internal::expt::ET::TensorExpressionBase< TensorDivide< LEFT_OPERAND_TYPE, RIGHT_OPERAND_TYPE > > RAJA::internal::expt::ET::TensorExpressionConcreteBase

Public Types

using self_type = TensorDivide< LEFT_OPERAND_TYPE, RIGHT_OPERAND_TYPE >
 
using left_operand_type = LEFT_OPERAND_TYPE
 
using right_operand_type = RIGHT_OPERAND_TYPE
 
using element_type = typename LEFT_OPERAND_TYPE::element_type
 
using index_type = typename LEFT_OPERAND_TYPE::index_type
 
using divide_op = DivideOperator< left_operand_type, right_operand_type >
 
using result_type = typename divide_op::result_type
 
- Public Types inherited from RAJA::internal::expt::ET::TensorExpressionBase< TensorDivide< LEFT_OPERAND_TYPE, RIGHT_OPERAND_TYPE > >
using self_type = TensorDivide< LEFT_OPERAND_TYPE, RIGHT_OPERAND_TYPE >
 

Public Member Functions

RAJA_INLINE RAJA_HOST_DEVICE TensorDivide (left_operand_type const &left_operand, right_operand_type const &right_operand)
 
RAJA_INLINE constexpr RAJA_HOST_DEVICE index_type getDimSize (index_type dim) const
 
template<typename TILE_TYPE >
RAJA_INLINE RAJA_HOST_DEVICE result_type eval (TILE_TYPE const &tile) const
 
RAJA_INLINE constexpr RAJA_HOST_DEVICE left_operand_type const & getLeftOperand () const
 
RAJA_INLINE constexpr RAJA_HOST_DEVICE right_operand_type const & getRightOperand () const
 
RAJA_INLINE RAJA_HOST_DEVICE void print_ast () const
 
- Public Member Functions inherited from RAJA::internal::expt::ET::TensorExpressionBase< TensorDivide< LEFT_OPERAND_TYPE, RIGHT_OPERAND_TYPE > >
RAJA_INLINE constexpr RAJA_HOST_DEVICE camp::idx_t getDimBegin (camp::idx_t) const
 
RAJA_SUPPRESS_HD_WARN RAJA_INLINE RAJA_HOST_DEVICE TensorAdd< self_type, normalize_operand_t< RHS > > operator+ (RHS const &rhs) const
 
RAJA_SUPPRESS_HD_WARN RAJA_INLINE RAJA_HOST_DEVICE TensorSubtract< self_type, normalize_operand_t< RHS > > operator- (RHS const &rhs) const
 
RAJA_SUPPRESS_HD_WARN RAJA_INLINE RAJA_HOST_DEVICE TensorNegate< self_typeoperator- () const
 
RAJA_SUPPRESS_HD_WARN RAJA_INLINE RAJA_HOST_DEVICE TensorMultiply< self_type, normalize_operand_t< RHS > > operator* (RHS const &rhs) const
 
RAJA_SUPPRESS_HD_WARN RAJA_INLINE RAJA_HOST_DEVICE TensorDivide< self_type, normalize_operand_t< RHS > > operator/ (RHS const &rhs) const
 
RAJA_SUPPRESS_HD_WARN RAJA_INLINE RAJA_HOST_DEVICE TensorTranspose< self_typetranspose () const
 

Static Public Attributes

static constexpr camp::idx_t s_num_dims = divide_op::s_num_dims
 

Member Typedef Documentation

◆ self_type

template<typename LEFT_OPERAND_TYPE , typename RIGHT_OPERAND_TYPE >
using RAJA::internal::expt::ET::TensorDivide< LEFT_OPERAND_TYPE, RIGHT_OPERAND_TYPE >::self_type = TensorDivide<LEFT_OPERAND_TYPE, RIGHT_OPERAND_TYPE>

◆ left_operand_type

template<typename LEFT_OPERAND_TYPE , typename RIGHT_OPERAND_TYPE >
using RAJA::internal::expt::ET::TensorDivide< LEFT_OPERAND_TYPE, RIGHT_OPERAND_TYPE >::left_operand_type = LEFT_OPERAND_TYPE

◆ right_operand_type

template<typename LEFT_OPERAND_TYPE , typename RIGHT_OPERAND_TYPE >
using RAJA::internal::expt::ET::TensorDivide< LEFT_OPERAND_TYPE, RIGHT_OPERAND_TYPE >::right_operand_type = RIGHT_OPERAND_TYPE

◆ element_type

template<typename LEFT_OPERAND_TYPE , typename RIGHT_OPERAND_TYPE >
using RAJA::internal::expt::ET::TensorDivide< LEFT_OPERAND_TYPE, RIGHT_OPERAND_TYPE >::element_type = typename LEFT_OPERAND_TYPE::element_type

◆ index_type

template<typename LEFT_OPERAND_TYPE , typename RIGHT_OPERAND_TYPE >
using RAJA::internal::expt::ET::TensorDivide< LEFT_OPERAND_TYPE, RIGHT_OPERAND_TYPE >::index_type = typename LEFT_OPERAND_TYPE::index_type

◆ divide_op

template<typename LEFT_OPERAND_TYPE , typename RIGHT_OPERAND_TYPE >
using RAJA::internal::expt::ET::TensorDivide< LEFT_OPERAND_TYPE, RIGHT_OPERAND_TYPE >::divide_op = DivideOperator<left_operand_type, right_operand_type>

◆ result_type

template<typename LEFT_OPERAND_TYPE , typename RIGHT_OPERAND_TYPE >
using RAJA::internal::expt::ET::TensorDivide< LEFT_OPERAND_TYPE, RIGHT_OPERAND_TYPE >::result_type = typename divide_op::result_type

Constructor & Destructor Documentation

◆ TensorDivide()

template<typename LEFT_OPERAND_TYPE , typename RIGHT_OPERAND_TYPE >
RAJA_INLINE RAJA_HOST_DEVICE RAJA::internal::expt::ET::TensorDivide< LEFT_OPERAND_TYPE, RIGHT_OPERAND_TYPE >::TensorDivide ( left_operand_type const &  left_operand,
right_operand_type const &  right_operand 
)
inline

Member Function Documentation

◆ getDimSize()

template<typename LEFT_OPERAND_TYPE , typename RIGHT_OPERAND_TYPE >
RAJA_INLINE constexpr RAJA_HOST_DEVICE index_type RAJA::internal::expt::ET::TensorDivide< LEFT_OPERAND_TYPE, RIGHT_OPERAND_TYPE >::getDimSize ( index_type  dim) const
inlineconstexpr

◆ eval()

template<typename LEFT_OPERAND_TYPE , typename RIGHT_OPERAND_TYPE >
template<typename TILE_TYPE >
RAJA_INLINE RAJA_HOST_DEVICE result_type RAJA::internal::expt::ET::TensorDivide< LEFT_OPERAND_TYPE, RIGHT_OPERAND_TYPE >::eval ( TILE_TYPE const &  tile) const
inline

◆ getLeftOperand()

template<typename LEFT_OPERAND_TYPE , typename RIGHT_OPERAND_TYPE >
RAJA_INLINE constexpr RAJA_HOST_DEVICE left_operand_type const& RAJA::internal::expt::ET::TensorDivide< LEFT_OPERAND_TYPE, RIGHT_OPERAND_TYPE >::getLeftOperand ( ) const
inlineconstexpr

Returns the LHS of the operation, used to form contractions

◆ getRightOperand()

template<typename LEFT_OPERAND_TYPE , typename RIGHT_OPERAND_TYPE >
RAJA_INLINE constexpr RAJA_HOST_DEVICE right_operand_type const& RAJA::internal::expt::ET::TensorDivide< LEFT_OPERAND_TYPE, RIGHT_OPERAND_TYPE >::getRightOperand ( ) const
inlineconstexpr

Returns the RHS of the operation, used to form contractions

◆ print_ast()

template<typename LEFT_OPERAND_TYPE , typename RIGHT_OPERAND_TYPE >
RAJA_INLINE RAJA_HOST_DEVICE void RAJA::internal::expt::ET::TensorDivide< LEFT_OPERAND_TYPE, RIGHT_OPERAND_TYPE >::print_ast ( ) const
inline

Member Data Documentation

◆ s_num_dims

template<typename LEFT_OPERAND_TYPE , typename RIGHT_OPERAND_TYPE >
constexpr camp::idx_t RAJA::internal::expt::ET::TensorDivide< LEFT_OPERAND_TYPE, RIGHT_OPERAND_TYPE >::s_num_dims = divide_op::s_num_dims
staticconstexpr

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