46 #ifndef XPETRA_MULTIVECTOR_DEF_HPP
47 #define XPETRA_MULTIVECTOR_DEF_HPP
53 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
58 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
66 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
69 typedef Teuchos::ScalarTraits<Scalar> SCT;
71 const size_t numVectors = getNumVectors();
72 for (
size_t i = 0; i < numVectors; i++) {
73 Teuchos::ArrayRCP<Scalar> datai = getDataNonConst(i);
75 const size_t myLength = getLocalLength();
76 for (
size_t j = 0; j < myLength; j++) {
77 datai[j] = SCT::random();
82 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
85 typedef Teuchos::ScalarTraits<Scalar> SCT;
86 Scalar point5 = SCT::one() / (SCT::one() + SCT::one());
88 const size_t numVectors = getNumVectors();
89 for (
size_t i = 0; i < numVectors; i++) {
90 Teuchos::ArrayRCP<Scalar> datai = getDataNonConst(i);
92 const size_t myLength = getLocalLength();
93 for (
size_t j = 0; j < myLength; j++) {
94 datai[j] = point5 * (maxVal - minVal) * SCT::random() + point5 * (maxVal + minVal);
101 #endif // XPETRA_MULTIVECTOR_DEF_HPP
virtual void Xpetra_randomize()
Set multi-vector values to random numbers. XPetra implementation.
MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & operator=(const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &rhs)
Assignment operator: Does a deep copy.
virtual ~MultiVector()
Destructor.