RTOp Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Private Attributes | List of all members
RTOpPack::RTOpSubRangeDecorator< Scalar > Class Template Reference

Decorator subclass that restricts the range of elements to apply the underlying RTOpT object to. More...

#include <RTOpPack_RTOpSubRangeDecorator_decl.hpp>

Inheritance diagram for RTOpPack::RTOpSubRangeDecorator< Scalar >:
Inheritance graph
[legend]

Private Attributes

Teuchos::ConstNonconstObjectContainer
< RTOpT< Scalar > > 
op_
 
Ordinal first_ele_offset_
 
Ordinal sub_dim_
 

Public types.

typedef RTOpT< Scalar >
::primitive_value_type 
primitive_value_type
 

Constructors, accessors.

 RTOpSubRangeDecorator ()
 
 RTOpSubRangeDecorator (const RCP< RTOpT< Scalar > > &op, const Ordinal first_ele_offset=0, const Ordinal sub_dim=-1)
 
 RTOpSubRangeDecorator (const RCP< const RTOpT< Scalar > > &op, const Ordinal first_ele_offset=0, const Ordinal sub_dim=-1)
 
void nonconstInitialize (const RCP< RTOpT< Scalar > > &op, const Ordinal first_ele_offset=0, const Ordinal sub_dim=-1)
 
void initialize (const RCP< const RTOpT< Scalar > > &op, const Ordinal first_ele_offset=0, const Ordinal sub_dim=-1)
 
RCP< RTOpT< Scalar > > getNonconstOp ()
 
RCP< const RTOpT< Scalar > > getOp () const
 

Overridden from RTOpT

void get_reduct_type_num_entries_impl (const Ptr< int > &num_values, const Ptr< int > &num_indexes, const Ptr< int > &num_chars) const
 
Teuchos::RCP< ReductTargetreduct_obj_create_impl () const
 
void reduce_reduct_objs_impl (const ReductTarget &in_reduct_obj, const Ptr< ReductTarget > &inout_reduct_obj) const
 
void reduct_obj_reinit_impl (const Ptr< ReductTarget > &reduct_obj) const
 
void extract_reduct_obj_state_impl (const ReductTarget &reduct_obj, const ArrayView< primitive_value_type > &value_data, const ArrayView< index_type > &index_data, const ArrayView< char_type > &char_data) const
 
void load_reduct_obj_state_impl (const ArrayView< const primitive_value_type > &value_data, const ArrayView< const index_type > &index_data, const ArrayView< const char_type > &char_data, const Ptr< ReductTarget > &reduct_obj) const
 
std::string op_name_impl () const
 
bool coord_invariant_impl () const
 
void apply_op_impl (const ArrayView< const ConstSubVectorView< Scalar > > &sub_vecs, const ArrayView< const SubVectorView< Scalar > > &targ_sub_vecs, const Ptr< ReductTarget > &reduct_obj) const
 

Additional Inherited Members

- Public Types inherited from RTOpPack::RTOpT< Scalar >
typedef PrimitiveTypeTraits
< Scalar, Scalar >
::primitiveType 
primitive_value_type
 
- Public Member Functions inherited from RTOpPack::RTOpT< Scalar >
void get_reduct_type_num_entries (const Ptr< int > &num_values, const Ptr< int > &num_indexes, const Ptr< int > &num_chars) const
 Get the number of entries of each basic data type in the externalized state for a reduction object for this operator. More...
 
Teuchos::RCP< ReductTargetreduct_obj_create () const
 Creates a new reduction target object initialized and ready to be used in a reduction. More...
 
void reduce_reduct_objs (const ReductTarget &in_reduct_obj, const Ptr< ReductTarget > &inout_reduct_obj) const
 Reduce intermediate reduction target objects. More...
 
void reduct_obj_reinit (const Ptr< ReductTarget > &reduct_obj) const
 Reinitialize an already created reduction object. More...
 
void extract_reduct_obj_state (const ReductTarget &reduct_obj, const ArrayView< primitive_value_type > &value_data, const ArrayView< index_type > &index_data, const ArrayView< char_type > &char_data) const
 Extract the state of an already created reduction object. More...
 
void load_reduct_obj_state (const ArrayView< const primitive_value_type > &value_data, const ArrayView< const index_type > &index_data, const ArrayView< const char_type > &char_data, const Ptr< ReductTarget > &reduct_obj) const
 Load the state of an already created reduction object given arrays of primitive objects. More...
 
std::string op_name () const
 Return the name (as a null-terminated C-style string) of the operator. More...
 
bool coord_invariant () const
 Returns true if this operator is coordinate invariant. More...
 
Range1D range () const
 Returns the continuous range of elements that this operator is defined over. More...
 
void apply_op (const ArrayView< const ConstSubVectorView< Scalar > > &sub_vecs, const ArrayView< const SubVectorView< Scalar > > &targ_sub_vecs, const Ptr< ReductTarget > &reduct_obj) const
 Apply the reduction/transformation operator to a set of sub-vectors. More...
 
- Public Member Functions inherited from Teuchos::Describable
DescribableStreamManipulatorState describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default)
 
std::ostream & operator<< (std::ostream &os, const DescribableStreamManipulatorState &d)
 
virtual std::string description () const
 
virtual void describe (FancyOStream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
void describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
virtual ~Describable ()
 
 LabeledObject ()
 
virtual ~LabeledObject ()
 
virtual void setObjectLabel (const std::string &objectLabel)
 
virtual std::string getObjectLabel () const
 
- Static Public Attributes inherited from Teuchos::Describable
static const EVerbosityLevel verbLevel_default
 
- Protected Member Functions inherited from RTOpPack::RTOpT< Scalar >
virtual Range1D range_impl () const
 
 RTOpT (const std::string &op_name_base="")
 Constructor that creates an operator name appended with the type. More...
 
void setOpNameBase (const std::string &op_name_base)
 Just set the operator name. More...
 

Detailed Description

template<class Scalar>
class RTOpPack::RTOpSubRangeDecorator< Scalar >

Decorator subclass that restricts the range of elements to apply the underlying RTOpT object to.

This standard decorator class can wrap any RTOpT object and restrict what elements in the vector that RTOpT will be applied. The ordinals first_ele_offset and sub_dim determine which of the global elements the logical vector v that the RTOp will be applied. The ordinal global_offset_shift is used to shift adjust the vector element indicies before passing it to the underlying RTOpT object.

Therefore, the logical vector x derived from the input local vector v passed to getOp()->apply_op(...) in subvector checks is:

 z(k + global_offset_shift) = v(k),
   for k = first_ele_offset ... first_ele_offset+sub_dim-1

For example, if first_ele_offset=10, sub_dim=5, global_offset_shift=0, the subvectors elements with indices k= 10, 11, 12, 13, 14 would be pass into the underling RTOpT object *this->getOp() to be processed and would be given the global indices

ToDo: Finish documentation!

Definition at line 85 of file RTOpPack_RTOpSubRangeDecorator_decl.hpp.

Member Typedef Documentation

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

Definition at line 92 of file RTOpPack_RTOpSubRangeDecorator_decl.hpp.

Constructor & Destructor Documentation

template<class Scalar >
RTOpPack::RTOpSubRangeDecorator< Scalar >::RTOpSubRangeDecorator ( )

Definition at line 57 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.

template<class Scalar >
RTOpPack::RTOpSubRangeDecorator< Scalar >::RTOpSubRangeDecorator ( const RCP< RTOpT< Scalar > > &  op,
const Ordinal  first_ele_offset = 0,
const Ordinal  sub_dim = -1 
)

Definition at line 63 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.

template<class Scalar >
RTOpPack::RTOpSubRangeDecorator< Scalar >::RTOpSubRangeDecorator ( const RCP< const RTOpT< Scalar > > &  op,
const Ordinal  first_ele_offset = 0,
const Ordinal  sub_dim = -1 
)

Definition at line 75 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.

Member Function Documentation

template<class Scalar >
void RTOpPack::RTOpSubRangeDecorator< Scalar >::nonconstInitialize ( const RCP< RTOpT< Scalar > > &  op,
const Ordinal  first_ele_offset = 0,
const Ordinal  sub_dim = -1 
)

Definition at line 88 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.

template<class Scalar >
void RTOpPack::RTOpSubRangeDecorator< Scalar >::initialize ( const RCP< const RTOpT< Scalar > > &  op,
const Ordinal  first_ele_offset = 0,
const Ordinal  sub_dim = -1 
)

Definition at line 102 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.

template<class Scalar >
RCP< RTOpT< Scalar > > RTOpPack::RTOpSubRangeDecorator< Scalar >::getNonconstOp ( )

Definition at line 116 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.

template<class Scalar >
RCP< const RTOpT< Scalar > > RTOpPack::RTOpSubRangeDecorator< Scalar >::getOp ( ) const

Definition at line 124 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.

template<class Scalar >
void RTOpPack::RTOpSubRangeDecorator< Scalar >::get_reduct_type_num_entries_impl ( const Ptr< int > &  num_values,
const Ptr< int > &  num_indexes,
const Ptr< int > &  num_chars 
) const
virtual

Reimplemented from RTOpPack::RTOpT< Scalar >.

Definition at line 134 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.

template<class Scalar >
Teuchos::RCP< ReductTarget > RTOpPack::RTOpSubRangeDecorator< Scalar >::reduct_obj_create_impl ( ) const
virtual

Reimplemented from RTOpPack::RTOpT< Scalar >.

Definition at line 146 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.

template<class Scalar >
void RTOpPack::RTOpSubRangeDecorator< Scalar >::reduce_reduct_objs_impl ( const ReductTarget in_reduct_obj,
const Ptr< ReductTarget > &  inout_reduct_obj 
) const
virtual

Reimplemented from RTOpPack::RTOpT< Scalar >.

Definition at line 153 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.

template<class Scalar >
void RTOpPack::RTOpSubRangeDecorator< Scalar >::reduct_obj_reinit_impl ( const Ptr< ReductTarget > &  reduct_obj) const
virtual

Reimplemented from RTOpPack::RTOpT< Scalar >.

Definition at line 162 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.

template<class Scalar >
void RTOpPack::RTOpSubRangeDecorator< Scalar >::extract_reduct_obj_state_impl ( const ReductTarget reduct_obj,
const ArrayView< primitive_value_type > &  value_data,
const ArrayView< index_type > &  index_data,
const ArrayView< char_type > &  char_data 
) const
virtual

Reimplemented from RTOpPack::RTOpT< Scalar >.

Definition at line 170 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.

template<class Scalar >
void RTOpPack::RTOpSubRangeDecorator< Scalar >::load_reduct_obj_state_impl ( const ArrayView< const primitive_value_type > &  value_data,
const ArrayView< const index_type > &  index_data,
const ArrayView< const char_type > &  char_data,
const Ptr< ReductTarget > &  reduct_obj 
) const
virtual

Reimplemented from RTOpPack::RTOpT< Scalar >.

Definition at line 182 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.

template<class Scalar >
std::string RTOpPack::RTOpSubRangeDecorator< Scalar >::op_name_impl ( ) const
virtual

Reimplemented from RTOpPack::RTOpT< Scalar >.

Definition at line 194 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.

template<class Scalar >
bool RTOpPack::RTOpSubRangeDecorator< Scalar >::coord_invariant_impl ( ) const
virtual

Reimplemented from RTOpPack::RTOpT< Scalar >.

Definition at line 201 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.

template<class Scalar >
void RTOpPack::RTOpSubRangeDecorator< Scalar >::apply_op_impl ( const ArrayView< const ConstSubVectorView< Scalar > > &  sub_vecs,
const ArrayView< const SubVectorView< Scalar > > &  targ_sub_vecs,
const Ptr< ReductTarget > &  reduct_obj 
) const
virtual

Implements RTOpPack::RTOpT< Scalar >.

Definition at line 208 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.

Member Data Documentation

template<class Scalar >
Teuchos::ConstNonconstObjectContainer<RTOpT<Scalar> > RTOpPack::RTOpSubRangeDecorator< Scalar >::op_
private

Definition at line 183 of file RTOpPack_RTOpSubRangeDecorator_decl.hpp.

template<class Scalar >
Ordinal RTOpPack::RTOpSubRangeDecorator< Scalar >::first_ele_offset_
private

Definition at line 184 of file RTOpPack_RTOpSubRangeDecorator_decl.hpp.

template<class Scalar >
Ordinal RTOpPack::RTOpSubRangeDecorator< Scalar >::sub_dim_
private

Definition at line 185 of file RTOpPack_RTOpSubRangeDecorator_decl.hpp.


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