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