00001 00035 #ifndef ABA_SROWCON_H 00036 #define ABA_SROWCON_H 00037 00038 #include "abacus/rowcon.h" 00039 class ABA_SROWCON : public ABA_ROWCON { 00040 public: 00041 00068 ABA_SROWCON(ABA_MASTER *master, 00069 const ABA_SUB *sub, 00070 ABA_CSENSE::SENSE sense, 00071 int nnz, 00072 const ABA_ARRAY<int> &support, 00073 const ABA_ARRAY<double> &coeff, 00074 double rhs, 00075 bool dynamic, 00076 bool local, 00077 bool liftable); 00078 00083 ABA_SROWCON(ABA_MASTER *master, 00084 const ABA_SUB *sub, 00085 ABA_CSENSE::SENSE sense, 00086 int nnz, 00087 int *support, 00088 double *coeff, 00089 double rhs, 00090 bool dynamic, 00091 bool local, 00092 bool liftable); 00093 00095 virtual ~ABA_SROWCON(); 00096 #ifdef ABACUS_PARALLEL 00097 00103 ABA_SROWCON(const ABA_MASTER *master, ABA_MESSAGE &msg); 00104 00113 virtual void pack(ABA_MESSAGE &msg) const; 00114 00119 virtual int classId() const; 00120 #endif 00121 00136 virtual int genRow(ABA_ACTIVE<ABA_VARIABLE, ABA_CONSTRAINT> *var, 00137 ABA_ROW &row); 00138 00152 virtual double slack(ABA_ACTIVE<ABA_VARIABLE, ABA_CONSTRAINT> *variables, 00153 double *x); 00154 }; 00155 #endif // ABA_SROWCON_H 00156