1.1 --- a/lemon/clp.cc Mon Jan 12 23:11:39 2009 +0100
1.2 +++ b/lemon/clp.cc Thu Nov 05 15:48:01 2009 +0100
1.3 @@ -24,7 +24,7 @@
1.4 ClpLp::ClpLp() {
1.5 _prob = new ClpSimplex();
1.6 _init_temporals();
1.7 - messageLevel(MESSAGE_NO_OUTPUT);
1.8 + messageLevel(MESSAGE_NOTHING);
1.9 }
1.10
1.11 ClpLp::ClpLp(const ClpLp& other) {
1.12 @@ -32,7 +32,7 @@
1.13 rows = other.rows;
1.14 cols = other.cols;
1.15 _init_temporals();
1.16 - messageLevel(MESSAGE_NO_OUTPUT);
1.17 + messageLevel(MESSAGE_NOTHING);
1.18 }
1.19
1.20 ClpLp::~ClpLp() {
1.21 @@ -56,12 +56,12 @@
1.22 }
1.23 }
1.24
1.25 - ClpLp* ClpLp::_newSolver() const {
1.26 + ClpLp* ClpLp::newSolver() const {
1.27 ClpLp* newlp = new ClpLp;
1.28 return newlp;
1.29 }
1.30
1.31 - ClpLp* ClpLp::_cloneSolver() const {
1.32 + ClpLp* ClpLp::cloneSolver() const {
1.33 ClpLp* copylp = new ClpLp(*this);
1.34 return copylp;
1.35 }
1.36 @@ -78,6 +78,19 @@
1.37 return _prob->numberRows() - 1;
1.38 }
1.39
1.40 + int ClpLp::_addRow(Value l, ExprIterator b, ExprIterator e, Value u) {
1.41 + std::vector<int> indexes;
1.42 + std::vector<Value> values;
1.43 +
1.44 + for(ExprIterator it = b; it != e; ++it) {
1.45 + indexes.push_back(it->first);
1.46 + values.push_back(it->second);
1.47 + }
1.48 +
1.49 + _prob->addRow(values.size(), &indexes.front(), &values.front(), l, u);
1.50 + return _prob->numberRows() - 1;
1.51 + }
1.52 +
1.53
1.54 void ClpLp::_eraseCol(int c) {
1.55 _col_names_ref.erase(_prob->getColumnName(c));
1.56 @@ -430,8 +443,24 @@
1.57 _clear_temporals();
1.58 }
1.59
1.60 - void ClpLp::messageLevel(MessageLevel m) {
1.61 - _prob->setLogLevel(static_cast<int>(m));
1.62 + void ClpLp::_messageLevel(MessageLevel level) {
1.63 + switch (level) {
1.64 + case MESSAGE_NOTHING:
1.65 + _prob->setLogLevel(0);
1.66 + break;
1.67 + case MESSAGE_ERROR:
1.68 + _prob->setLogLevel(1);
1.69 + break;
1.70 + case MESSAGE_WARNING:
1.71 + _prob->setLogLevel(2);
1.72 + break;
1.73 + case MESSAGE_NORMAL:
1.74 + _prob->setLogLevel(3);
1.75 + break;
1.76 + case MESSAGE_VERBOSE:
1.77 + _prob->setLogLevel(4);
1.78 + break;
1.79 + }
1.80 }
1.81
1.82 } //END OF NAMESPACE LEMON