42 #ifndef THYRA_MULTI_VECTOR_STD_OPS_TESTER_HPP 43 #define THYRA_MULTI_VECTOR_STD_OPS_TESTER_HPP 45 #include "Thyra_MultiVectorStdOpsTester_decl.hpp" 46 #include "Thyra_MultiVectorStdOps.hpp" 47 #include "Thyra_TestingTools.hpp" 53 template <
class Scalar>
57 ,
const int num_mv_cols_in
59 :warning_tol_(warning_tol_in)
60 ,error_tol_(error_tol_in)
61 ,num_mv_cols_(num_mv_cols_in)
64 template <
class Scalar>
71 typedef Teuchos::ScalarTraits<Scalar> ST;
74 *out <<
"\n*** Entering MultiVectorStdOpsTester<"<<ST::name()<<
">::checkStdOps(...) ...\n" 75 <<
"using a \'" << vecSpc.description() <<
"\' object ...\n";
78 if(out) *out <<
"\nvecSpc.dim() = " << vecSpc.
dim() << std::endl;
80 if(out) *out <<
"\nCreating MultiVectorBase objects V1, V2, V3 and Z ...\n";
81 Teuchos::RCP<MultiVectorBase<Scalar> >
82 V1 = createMembers(vecSpc,num_mv_cols()),
83 V2 = createMembers(vecSpc,num_mv_cols()),
84 V3 = createMembers(vecSpc,num_mv_cols()),
85 Z = createMembers(vecSpc,num_mv_cols());
87 if(out) *out <<
"\nassign(V1.ptr(),-2.0);\n";
88 assign(V1.ptr(),Scalar(-2.0));
89 if(out) *out <<
"\nassign(V2.ptr(),-3.0);\n";
90 assign(V2.ptr(),Scalar(-3.0));
91 if(out) *out <<
"\nassign(V3.ptr(),-4.0);\n";
92 assign(V3.ptr(),Scalar(-4.0));
97 <<
"\n*** Leaving MultiVectorStdOpsTester<"<<ST::name()<<
">::checkStdOps(...) ...\n";
105 #endif // THYRA_MULTI_VECTOR_STD_OPS_TESTER_HPP MultiVectorStdOpsTester(const ScalarMag &warning_tol=0, const ScalarMag &error_tol=0, const int num_mv_cols=4)
Abstract interface for objects that represent a space for vectors.
bool checkStdOps(const VectorSpaceBase< Scalar > &vecSpc, std::ostream *out=0, const bool &dumpAll=false)
Run the tests using a vector space.
Teuchos::ScalarTraits< Scalar >::magnitudeType ScalarMag
virtual Ordinal dim() const =0
Return the dimension of the vector space.