Support Software for Vector Reduction/Transformation Operators
Version of the Day
|
Decorator subclass that restricts the range of elements to apply the underlying RTOpT object to. More...
#include <RTOpPack_RTOpSubRangeDecorator_decl.hpp>
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< ReductTarget > | reduct_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 |
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.
typedef RTOpT<Scalar>::primitive_value_type RTOpPack::RTOpSubRangeDecorator< Scalar >::primitive_value_type |
Definition at line 92 of file RTOpPack_RTOpSubRangeDecorator_decl.hpp.
RTOpPack::RTOpSubRangeDecorator< Scalar >::RTOpSubRangeDecorator | ( | ) |
Definition at line 57 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.
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.
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.
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.
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.
RCP< RTOpT< Scalar > > RTOpPack::RTOpSubRangeDecorator< Scalar >::getNonconstOp | ( | ) |
Definition at line 116 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.
RCP< const RTOpT< Scalar > > RTOpPack::RTOpSubRangeDecorator< Scalar >::getOp | ( | ) | const |
Definition at line 124 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.
|
virtual |
Reimplemented from RTOpPack::RTOpT< Scalar >.
Definition at line 134 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.
|
virtual |
Reimplemented from RTOpPack::RTOpT< Scalar >.
Definition at line 146 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.
|
virtual |
Reimplemented from RTOpPack::RTOpT< Scalar >.
Definition at line 153 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.
|
virtual |
Reimplemented from RTOpPack::RTOpT< Scalar >.
Definition at line 162 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.
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 |
Definition at line 170 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.
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 |
Definition at line 182 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.
|
virtual |
Reimplemented from RTOpPack::RTOpT< Scalar >.
Definition at line 194 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.
|
virtual |
Reimplemented from RTOpPack::RTOpT< Scalar >.
Definition at line 201 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.
|
virtual |
Implements RTOpPack::RTOpT< Scalar >.
Definition at line 208 of file RTOpPack_RTOpSubRangeDecorator_def.hpp.