44 #ifndef _fei_VectorTraits_Epetra_h_
45 #define _fei_VectorTraits_Epetra_h_
47 #ifdef HAVE_FEI_EPETRA
66 {
return(
"Epetra_MultiVector"); }
69 double scalar,
bool isSolnVector=
false)
71 return( vec->PutScalar(scalar) );
81 bool isSolnVector=
false,
84 double* localVecValues = (*vec)[vectorIndex];
86 for(
int i=0; i<numValues; ++i) {
87 localVecValues[indices[i]-firstLocalOffset] += values[i];
91 for(
int i=0; i<numValues; ++i) {
92 localVecValues[indices[i]-firstLocalOffset] = values[i];
100 int firstLocalOffset,
101 int numValues,
const int* indices,
double* values,
102 bool isSolnVector=
false,
105 double* localVecValues = (*vec)[vectorIndex];
106 for(
int i=0; i<numValues; ++i) {
107 values[i] = localVecValues[indices[i]-firstLocalOffset];
114 bool isSolnVector=
false,
117 return((*vec)[vectorIndex]);
125 return( vec->Update(a, *x, b) );
131 #endif //HAVE_FEI_EPETRA
133 #endif // _fei_VectorTraits_Epetra_hpp_
static int putValuesIn(T *vec, int firstLocalOffset, int numValues, const int *indices, const double *values, bool sum_into, bool isSolnVector=false, int vectorIndex=0)
static int update(T *vec, double a, const T *x, double b)
static int setValues(T *vec, int firstLocalOffset, double scalar, bool isSolnVector=false)
static double * getLocalCoefsPtr(T *vec, bool isSolnVector=false, int vectorIndex=0)
static int copyOut(T *vec, int firstLocalOffset, int numValues, const int *indices, double *values, bool isSolnVector=false, int vectorIndex=0)
static const char * typeName()