46 #ifdef HAVE_EPETRA_TEUCHOS
53 Epetra_View_(Source.Epetra_View_),
54 Copy_Created_(Source.Copy_Created_) {
55 Oski_View_ = oski_CopyVecView(Source.
Oski_View_);
60 Epetra_View_(&Source),
61 Copy_Created_(false) {
67 Aptr =
new double*[1];
70 std::cerr <<
"Extract view failed\n";
72 Oski_View_ = oski_CreateMultiVecView(*Aptr, Source.
MyLength(), Source.
NumVectors(), LAYOUT_COLMAJ, *LDAptr);
79 std::cerr <<
"Extract copy failed\n";
81 Oski_View_ = oski_CreateMultiVecView(A, Source.
MyLength(), Source.
NumVectors(), LAYOUT_COLMAJ, LDA);
89 std::cerr <<
"Vector destroy failed\n";
const Epetra_MultiVector * Epetra_View() const
Returns the Epetra portion of the Multi-Vector.
Epetra_MultiVector: A class for constructing and using dense multi-vectors, vectors and matrices in p...
Epetra_OskiMultiVector: A class for constructing and using dense Oski multi-vectors on a single proce...
const Epetra_MultiVector * Epetra_View_
int MyLength() const
Returns the local vector length on the calling processor of vectors in the multi-vector.
oski_vecview_t Oski_View() const
Returns the Oski portion of the Multi-Vector.
Epetra_OskiMultiVector(const Epetra_OskiMultiVector &Source)
Copy constructor.
int ExtractCopy(double *A, int MyLDA) const
Put multi-vector values into user-provided two-dimensional array.
int NumVectors() const
Returns the number of vectors in the multi-vector.
Epetra_OskiMultiVector & operator=(const Epetra_OskiMultiVector &Source)
Sets this equal to Source.
int ExtractView(double **A, int *MyLDA) const
Set user-provided addresses of A and MyLDA.
bool ConstantStride() const
Returns true if this multi-vector has constant stride between vectors.
oski_vecview_t Oski_View_
virtual ~Epetra_OskiMultiVector()
Destructor.
bool Copy_Created() const
Returns true if a deep copy of the multi-vector was created by the constructor.