RTOpPack::ROpScalarReductionBase< Scalar > Class Template Reference
[Utility code for creating concrete RTOpPack::RTOpT subclasses.]

Simple base class for all reduction operators that return a simple scalar reduction object. More...

#include <RTOpPack_RTOpTHelpers.hpp>

Inheritance diagram for RTOpPack::ROpScalarReductionBase< Scalar >:

[legend]
List of all members.

Overridden from RTOpT

void get_reduct_type_num_entries (int *num_values, int *num_indexes, int *num_chars) const
 
Teuchos::RefCountPtr< ReductTargetreduct_obj_create () const
 
void reduce_reduct_objs (const ReductTarget &in_reduct_obj, ReductTarget *inout_reduct_obj) const
 Default implementation here is for a sum.
void reduct_obj_reinit (ReductTarget *reduct_obj) const
 
void extract_reduct_obj_state (const ReductTarget &reduct_obj, int num_values, primitive_value_type value_data[], int num_indexes, index_type index_data[], int num_chars, char_type char_data[]) const
 
void load_reduct_obj_state (int num_values, const primitive_value_type value_data[], int num_indexes, const index_type index_data[], int num_chars, const char_type char_data[], ReductTarget *reduct_obj) const
 

Public Types

typedef RTOpT< Scalar >::primitive_value_type primitive_value_type
 

Public Member Functions

 ROpScalarReductionBase (const Scalar &initReductObjValue=Teuchos::ScalarTraits< Scalar >::zero())
 
const Scalar & getRawVal (const ReductTarget &reduct_obj) const
 
void setRawVal (const Scalar &rawVal, ReductTarget *reduct_obj) const
 

Protected Member Functions

void initReductObjValue (const Scalar &initReductObjValue)
 

Detailed Description

template<class Scalar>
class RTOpPack::ROpScalarReductionBase< Scalar >

Simple base class for all reduction operators that return a simple scalar reduction object.

Subclasses have to minimally define apply_op(). Subclasses should also override reduce_reduct_objs() if the reduction is not a simple summation.

Definition at line 98 of file RTOpPack_RTOpTHelpers.hpp.


Member Typedef Documentation

template<class Scalar>
typedef RTOpT<Scalar>::primitive_value_type RTOpPack::ROpScalarReductionBase< Scalar >::primitive_value_type
 

Reimplemented from RTOpPack::RTOpT< Scalar >.

Definition at line 100 of file RTOpPack_RTOpTHelpers.hpp.


Constructor & Destructor Documentation

template<class Scalar>
RTOpPack::ROpScalarReductionBase< Scalar >::ROpScalarReductionBase const Scalar &  initReductObjValue = Teuchos::ScalarTraits<Scalar>::zero()  )  [inline]
 

Definition at line 102 of file RTOpPack_RTOpTHelpers.hpp.


Member Function Documentation

template<class Scalar>
const Scalar& RTOpPack::ROpScalarReductionBase< Scalar >::getRawVal const ReductTarget reduct_obj  )  const [inline]
 

Definition at line 106 of file RTOpPack_RTOpTHelpers.hpp.

template<class Scalar>
void RTOpPack::ROpScalarReductionBase< Scalar >::setRawVal const Scalar &  rawVal,
ReductTarget reduct_obj
const [inline]
 

Definition at line 112 of file RTOpPack_RTOpTHelpers.hpp.

template<class Scalar>
void RTOpPack::ROpScalarReductionBase< Scalar >::get_reduct_type_num_entries int *  num_values,
int *  num_indexes,
int *  num_chars
const [inline, virtual]
 

Reimplemented from RTOpPack::RTOpT< Scalar >.

Definition at line 123 of file RTOpPack_RTOpTHelpers.hpp.

template<class Scalar>
Teuchos::RefCountPtr<ReductTarget> RTOpPack::ROpScalarReductionBase< Scalar >::reduct_obj_create  )  const [inline, virtual]
 

Reimplemented from RTOpPack::RTOpT< Scalar >.

Definition at line 134 of file RTOpPack_RTOpTHelpers.hpp.

template<class Scalar>
void RTOpPack::ROpScalarReductionBase< Scalar >::reduce_reduct_objs const ReductTarget in_reduct_obj,
ReductTarget inout_reduct_obj
const [inline, virtual]
 

Default implementation here is for a sum.

Reimplemented from RTOpPack::RTOpT< Scalar >.

Reimplemented in RTOpPack::ROpMax< Scalar >, RTOpPack::ROpMin< Scalar >, and RTOpPack::ROpNormInf< Scalar >.

Definition at line 139 of file RTOpPack_RTOpTHelpers.hpp.

template<class Scalar>
void RTOpPack::ROpScalarReductionBase< Scalar >::reduct_obj_reinit ReductTarget reduct_obj  )  const [inline, virtual]
 

Reimplemented from RTOpPack::RTOpT< Scalar >.

Definition at line 148 of file RTOpPack_RTOpTHelpers.hpp.

template<class Scalar>
void RTOpPack::ROpScalarReductionBase< Scalar >::extract_reduct_obj_state const ReductTarget reduct_obj,
int  num_values,
primitive_value_type  value_data[],
int  num_indexes,
index_type  index_data[],
int  num_chars,
char_type  char_data[]
const [inline, virtual]
 

Reimplemented from RTOpPack::RTOpT< Scalar >.

Definition at line 153 of file RTOpPack_RTOpTHelpers.hpp.

template<class Scalar>
void RTOpPack::ROpScalarReductionBase< Scalar >::load_reduct_obj_state int  num_values,
const primitive_value_type  value_data[],
int  num_indexes,
const index_type  index_data[],
int  num_chars,
const char_type  char_data[],
ReductTarget reduct_obj
const [inline, virtual]
 

Reimplemented from RTOpPack::RTOpT< Scalar >.

Definition at line 172 of file RTOpPack_RTOpTHelpers.hpp.

template<class Scalar>
void RTOpPack::ROpScalarReductionBase< Scalar >::initReductObjValue const Scalar &  initReductObjValue  )  [inline, protected]
 

Definition at line 195 of file RTOpPack_RTOpTHelpers.hpp.


The documentation for this class was generated from the following file:
Generated on Thu Sep 18 12:39:44 2008 for RTOp : Vector Reduction/Transformation Operators by doxygen 1.3.9.1