equal
deleted
inserted
replaced
593 // Value const * values ) = 0; |
593 // Value const * values ) = 0; |
594 virtual SolveExitStatus _solve() = 0; |
594 virtual SolveExitStatus _solve() = 0; |
595 virtual Value _getPrimal(int i) = 0; |
595 virtual Value _getPrimal(int i) = 0; |
596 virtual Value _getDual(int i) = 0; |
596 virtual Value _getDual(int i) = 0; |
597 virtual Value _getPrimalValue() = 0; |
597 virtual Value _getPrimalValue() = 0; |
|
598 virtual bool _isBasicCol(int i) = 0; |
598 virtual SolutionStatus _getPrimalStatus() = 0; |
599 virtual SolutionStatus _getPrimalStatus() = 0; |
599 virtual SolutionStatus _getDualStatus() = 0; |
600 virtual SolutionStatus _getDualStatus() = 0; |
600 ///\todo This could be implemented here, too, using _getPrimalStatus() and |
601 ///\todo This could be implemented here, too, using _getPrimalStatus() and |
601 ///_getDualStatus() |
602 ///_getDualStatus() |
602 virtual ProblemTypes _getProblemType() = 0; |
603 virtual ProblemTypes _getProblemType() = 0; |
998 |
999 |
999 ///\e |
1000 ///\e |
1000 Value dual(Row r) { return _getDual(rows.floatingId(r.id)); } |
1001 Value dual(Row r) { return _getDual(rows.floatingId(r.id)); } |
1001 |
1002 |
1002 ///\e |
1003 ///\e |
|
1004 bool isBasicCol(Col c) { return _isBasicCol(cols.floatingId(c.id)); } |
|
1005 |
|
1006 ///\e |
1003 |
1007 |
1004 ///\return |
1008 ///\return |
1005 ///- \ref INF or -\ref INF means either infeasibility or unboundedness |
1009 ///- \ref INF or -\ref INF means either infeasibility or unboundedness |
1006 /// of the primal problem, depending on whether we minimize or maximize. |
1010 /// of the primal problem, depending on whether we minimize or maximize. |
1007 ///- \ref NaN if no primal solution is found. |
1011 ///- \ref NaN if no primal solution is found. |