RTOp Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Macros | Enumerations | Functions
RTOpPack_RTOpTHelpers_decl.hpp File Reference
#include <typeinfo>
#include "RTOpPack_RTOpT.hpp"
#include "Teuchos_StandardMemberCompositionMacros.hpp"
#include "Teuchos_ScalarTraits.hpp"
#include "Teuchos_dyn_cast.hpp"
#include "Teuchos_TypeNameTraits.hpp"
Include dependency graph for RTOpPack_RTOpTHelpers_decl.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  RTOpPack::ScalarIndex< Scalar >
 Simple struct for a Scalar and an Ordinal object. More...
 
class  RTOpPack::PrimitiveTypeTraits< Scalar, ScalarIndex< Scalar > >
 Partial specialization of PrimitiveTypeTraits for ScalarIndex. More...
 
class  RTOpPack::DefaultReductTarget< ConcreteReductObj >
 Simple ReductTarget subclass for simple scalar objects. More...
 
class  RTOpPack::BasicReductObjReductionOp< ConcreteReductObj, ReductionType >
 
class  RTOpPack::BasicReductObjReductionOp< ConcreteReductObj, REDUCT_TYPE_SUM >
 
class  RTOpPack::BasicReductObjReductionOp< ConcreteReductObj, REDUCT_TYPE_MAX >
 
class  RTOpPack::BasicReductObjReductionOp< ConcreteReductObj, REDUCT_TYPE_MIN >
 
class  RTOpPack::SumScalarReductObjReduction< Scalar >
 Null reduction object reduction operator. More...
 
class  RTOpPack::ROpScalarReductionWithOpBase< Scalar, ConcreteReductObj, ReductObjReduction >
 
class  RTOpPack::ROp_1_ScalarReduction< Scalar, ConcreteReductObj, EleWiseReduction, ReductObjReduction >
 Base class for scalar reduction RTOps with one input vector. More...
 
class  RTOpPack::ROp_1_CoordVariantScalarReduction< Scalar, ReductScalar, EleWiseReduction, ReductObjReduction >
 Base class for coordinate-variant scalar reduction RTOps with one input vector. More...
 
class  RTOpPack::ROp_2_ScalarReduction< Scalar, ReductScalar, EleWiseReduction, ReductObjReduction >
 Base class for scalar reduction RTOps with two input vectors. More...
 
class  RTOpPack::TOp_0_1_Base< Scalar, EleWiseTransformation >
 Base class for transformations for 0 input and 1 output vector. More...
 
class  RTOpPack::TOp_0_1_CoordVariantBase< Scalar, EleWiseTransformation >
 Base class for coordinate variant transformations for 0 input and 1 output vector. More...
 
class  RTOpPack::TOp_1_1_Base< Scalar, EleWiseTransformation >
 Base class for transformations for 1 input and 1 output vector. More...
 
class  RTOpPack::TOp_2_1_Base< Scalar, EleWiseTransformation >
 Base class for transformations for 2 input and 1 output vector. More...
 
class  RTOpPack::TOp_3_1_Base< Scalar, EleWiseTransformation >
 Base class for transformations for 3 input and 1 output vector. More...
 

Namespaces

 RTOpPack
 

Macros

#define RTOP_ROP_1_REDUCT_SCALAR_CUSTOM_DEFAULT(ROP_CLASS_NAME, REDUCT_SCALAR, BASIC_REDUCT_TYPE_ENUM, CUSTOM_DEFAULT)
 
#define RTOP_ROP_1_REDUCT_SCALAR(ROP_CLASS_NAME, REDUCT_SCALAR, BASIC_REDUCT_TYPE_ENUM)
 
#define RTOP_ROP_2_REDUCT_SCALAR(ROP_CLASS_NAME, REDUCT_SCALAR, BASIC_REDUCT_TYPE_ENUM)
 Declare and define a concreate reduction RTOp that accepts to vector arguments. More...
 
#define RTOP_TOP_1_1(TOP_CLASS_NAME)
 

Enumerations

enum  RTOpPack::EBasicReductTypes { RTOpPack::REDUCT_TYPE_SUM, RTOpPack::REDUCT_TYPE_MAX, RTOpPack::REDUCT_TYPE_MIN }
 

Functions

template<class Scalar >
void RTOpPack::validate_apply_op (const RTOpT< Scalar > &op, const int allowed_num_sub_vecs, const int allowed_num_targ_sub_vecs, const bool expect_reduct_obj, const ArrayView< const ConstSubVectorView< Scalar > > &sub_vecs, const ArrayView< const SubVectorView< Scalar > > &targ_sub_vecs, const Ptr< const ReductTarget > &reduct_obj)
 Validate the input to an apply_op(...) function. More...
 

Macro Definition Documentation

#define RTOP_ROP_1_REDUCT_SCALAR_CUSTOM_DEFAULT (   ROP_CLASS_NAME,
  REDUCT_SCALAR,
  BASIC_REDUCT_TYPE_ENUM,
  CUSTOM_DEFAULT 
)

Definition at line 512 of file RTOpPack_RTOpTHelpers_decl.hpp.

#define RTOP_ROP_1_REDUCT_SCALAR (   ROP_CLASS_NAME,
  REDUCT_SCALAR,
  BASIC_REDUCT_TYPE_ENUM 
)
Value:
RTOP_ROP_1_REDUCT_SCALAR_CUSTOM_DEFAULT(ROP_CLASS_NAME, REDUCT_SCALAR, \
BASIC_REDUCT_TYPE_ENUM, Teuchos::ScalarTraits<REDUCT_SCALAR >::zero() )
#define RTOP_ROP_1_REDUCT_SCALAR_CUSTOM_DEFAULT(ROP_CLASS_NAME, REDUCT_SCALAR, BASIC_REDUCT_TYPE_ENUM, CUSTOM_DEFAULT)

Definition at line 557 of file RTOpPack_RTOpTHelpers_decl.hpp.

#define RTOP_ROP_2_REDUCT_SCALAR (   ROP_CLASS_NAME,
  REDUCT_SCALAR,
  BASIC_REDUCT_TYPE_ENUM 
)

Declare and define a concreate reduction RTOp that accepts to vector arguments.

Definition at line 751 of file RTOpPack_RTOpTHelpers_decl.hpp.

#define RTOP_TOP_1_1 (   TOP_CLASS_NAME)
Value:
\
template<class Scalar> \
class TOP_CLASS_NAME ## EleWiseTransformation \
{ \
public: \
inline void operator()( const Scalar &v0, Scalar &z0 ) const; \
}; \
\
\
template<class Scalar> \
class TOP_CLASS_NAME \
: public RTOpPack::TOp_1_1_Base< Scalar, \
TOP_CLASS_NAME ## EleWiseTransformation<Scalar> > \
{ \
public: \
TOP_CLASS_NAME() \
{ \
this->setOpNameBase( #TOP_CLASS_NAME ); \
} \
}; \
\
\
template<class Scalar> \
void TOP_CLASS_NAME ## EleWiseTransformation<Scalar>::operator()( \
const Scalar &v0, Scalar &z0 \
) const
Base class for transformations for 1 input and 1 output vector.
void setOpNameBase(const std::string &op_name_base)
Just set the operator name.

Definition at line 993 of file RTOpPack_RTOpTHelpers_decl.hpp.