44 #ifndef _fei_VectorTraits_Aztec_h_
45 #define _fei_VectorTraits_Aztec_h_
47 #ifdef HAVE_FEI_AZTECOO
53 #include <fei_VectorTraits.hpp>
54 #include <fei_Include_Trilinos.hpp>
64 struct VectorTraits<Aztec_LSVector> {
66 {
return(
"fei::Aztec_LSVector"); }
68 static int setValues(Aztec_LSVector* vec,
int firstLocalOffset,
69 double scalar,
bool isSolnVector=
false)
71 return( vec->put(scalar) );
81 bool isSolnVector=
false,
84 double* localVecValues = vec->startPointer();
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];
99 static int copyOut(Aztec_LSVector* vec,
100 int firstLocalOffset,
101 int numValues,
const int* indices,
double* values,
102 bool isSolnVector=
false,
105 double* localVecValues = vec->startPointer();
106 for(
int i=0; i<numValues; ++i) {
107 values[i] = localVecValues[indices[i]-firstLocalOffset];
114 bool isSolnVector=
false,
117 return(vec->startPointer());
120 static int update(Aztec_LSVector* vec,
122 const Aztec_LSVector* x,
133 #endif //HAVE_FEI_AZTECOO
135 #endif // _fei_VectorTraits_Aztec_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()