lemon/soplex.cc
changeset 1208 c6aa2cc1af04
parent 1092 dceba191c00d
equal deleted inserted replaced
7:f373023b3446 8:1d18f172e5b4
    35   SoplexLp::~SoplexLp() {
    35   SoplexLp::~SoplexLp() {
    36     delete soplex;
    36     delete soplex;
    37   }
    37   }
    38 
    38 
    39   SoplexLp::SoplexLp(const SoplexLp& lp) {
    39   SoplexLp::SoplexLp(const SoplexLp& lp) {
    40     rows = lp.rows;
    40     _rows = lp._rows;
    41     cols = lp.cols;
    41     _cols = lp._cols;
    42 
    42 
    43     soplex = new soplex::SoPlex;
    43     soplex = new soplex::SoPlex;
    44     (*static_cast<soplex::SPxLP*>(soplex)) = *(lp.soplex);
    44     (*static_cast<soplex::SPxLP*>(soplex)) = *(lp.soplex);
    45 
    45 
    46     _col_names = lp._col_names;
    46     _col_names = lp._col_names;
   120     _row_names_ref[_row_names.back()] = i;
   120     _row_names_ref[_row_names.back()] = i;
   121     _row_names.pop_back();
   121     _row_names.pop_back();
   122   }
   122   }
   123 
   123 
   124   void SoplexLp::_eraseColId(int i) {
   124   void SoplexLp::_eraseColId(int i) {
   125     cols.eraseIndex(i);
   125     _cols.eraseIndex(i);
   126     cols.relocateIndex(i, cols.maxIndex());
   126     _cols.relocateIndex(i, _cols.maxIndex());
   127   }
   127   }
   128   void SoplexLp::_eraseRowId(int i) {
   128   void SoplexLp::_eraseRowId(int i) {
   129     rows.eraseIndex(i);
   129     _rows.eraseIndex(i);
   130     rows.relocateIndex(i, rows.maxIndex());
   130     _rows.relocateIndex(i, _rows.maxIndex());
   131   }
   131   }
   132 
   132 
   133   void SoplexLp::_getColName(int c, std::string &name) const {
   133   void SoplexLp::_getColName(int c, std::string &name) const {
   134     name = _col_names[c];
   134     name = _col_names[c];
   135   }
   135   }
   430     soplex->clear();
   430     soplex->clear();
   431     _col_names.clear();
   431     _col_names.clear();
   432     _col_names_ref.clear();
   432     _col_names_ref.clear();
   433     _row_names.clear();
   433     _row_names.clear();
   434     _row_names_ref.clear();
   434     _row_names_ref.clear();
   435     cols.clear();
   435     _cols.clear();
   436     rows.clear();
   436     _rows.clear();
   437     _clear_temporals();
   437     _clear_temporals();
   438   }
   438   }
   439 
   439 
   440   void SoplexLp::_messageLevel(MessageLevel level) {
   440   void SoplexLp::_messageLevel(MessageLevel level) {
   441     switch (level) {
   441     switch (level) {