42 #ifndef THYRA_LISTED_MULTI_VECTOR_RANDOMIZER_HPP
43 #define THYRA_LISTED_MULTI_VECTOR_RANDOMIZER_HPP
45 #include "Thyra_MultiVectorRandomizerBase.hpp"
46 #include "Thyra_MultiVectorStdOps.hpp"
61 template<
class Scalar>
68 ,
const int numMultiVecs
74 ,
const int numMultiVecs
97 typedef std::vector<Teuchos::RCP<const MultiVectorBase<Scalar> > > multiVecs_t;
98 multiVecs_t multiVecs_;
108 template<
class Scalar>
111 ,
const int numMultiVecs
114 initialize(multiVecs,numMultiVecs);
118 template<
class Scalar>
121 ,
const int numMultiVecs
124 multiVecs_.resize(numMultiVecs);
125 std::copy( multiVecs, multiVecs + numMultiVecs, multiVecs_.begin() );
133 template<
class Scalar>
136 return multiVecs_[curr_mv_i_]->range()->isCompatible(space);
143 template<
class Scalar>
152 THYRA_ASSERT_VEC_SPACES(
"ListedMultiVectorRandomizer<Scalar>::randomize(mv)", *currMV->range(), *mv->range() );
153 THYRA_ASSERT_VEC_SPACES(
"ListedMultiVectorRandomizer<Scalar>::randomize(mv)", *currMV->domain(), *mv->domain() );
155 Thyra::assign( mv, *currMV );
156 if( curr_mv_i_ == static_cast<int>(multiVecs_.size()) - 1 )
166 #endif // THYRA_LISTED_MULTI_VECTOR_RANDOMIZER_HPP