row.h

Go to the documentation of this file.
00001 
00043 #ifndef ABA_ROW_H
00044 #define ABA_ROW_H
00045 
00046 #include "abacus/sparvec.h"
00047 #include "abacus/csense.h"
00048   class  ABA_ROW :  public ABA_SPARVEC  {
00049     public:
00050 
00061       ABA_ROW(ABA_GLOBAL *glob, 
00062               int nnz, 
00063               const ABA_ARRAY<int> &s, 
00064               const ABA_ARRAY<double> &c, 
00065               const ABA_CSENSE sense, double r);
00066 
00072       ABA_ROW(ABA_GLOBAL *glob, 
00073               int nnz, 
00074               const ABA_ARRAY<int> &s, 
00075               const ABA_ARRAY<double> &c, 
00076               const ABA_CSENSE::SENSE sense, double r);
00077 
00081       ABA_ROW(ABA_GLOBAL *glob, 
00082               int nnz, 
00083               int *s, 
00084               double *c, 
00085               ABA_CSENSE::SENSE sense, 
00086               double r);
00087 
00093       ABA_ROW(ABA_GLOBAL *glob, int size);
00094 
00096       ~ABA_ROW();
00097 #ifdef ABACUS_PARALLEL
00098 
00107       ABA_ROW(ABA_GLOBAL *glob, ABA_MESSAGE &msg);
00108 
00114       void pack(ABA_MESSAGE &msg) const;
00115 #endif
00116 
00130       friend ostream &operator<<(ostream& out, const ABA_ROW &rhs);
00131 
00134       double rhs() const;
00135 
00141       void rhs(double r);
00142 
00145       ABA_CSENSE *sense();
00146 
00152       void sense(ABA_CSENSE &s);
00153 
00159       void sense(ABA_CSENSE::SENSE s);
00160 
00167       void copy(const ABA_ROW &row);
00168 
00176       void delInd(ABA_BUFFER<int> &buf, double rhsDelta);
00177 
00178     protected:
00179 
00182       ABA_CSENSE sense_;
00183 
00186       double rhs_;
00187   };
00188 
00189 
00190 inline double ABA_ROW::rhs() const
00191   {
00192     return rhs_;
00193   }
00194 
00195 inline void  ABA_ROW::rhs(double r) 
00196   {
00197     rhs_ = r;
00198   }
00199 
00200 inline ABA_CSENSE *ABA_ROW::sense()
00201   {
00202     return &sense_;
00203   }
00204 
00205 inline void ABA_ROW::sense(ABA_CSENSE &s)
00206   {
00207     sense_ = s;
00208   }
00209 
00210 inline void ABA_ROW::sense(ABA_CSENSE::SENSE s)
00211   {
00212     sense_.sense(s);
00213   }
00214 
00215 
00216 #endif  // ABA_ROW_H
00217 

Generated on Tue Aug 14 18:09:54 2007 for ABACUS by  doxygen 1.5.1