| 273 | } |
| 274 | |
| 275 | void HSimplexNla::unapplyBasisMatrixRowScale(HVector& rhs) const { |
| 276 | if (scale_ == NULL) return; |
| 277 | const vector<double>& row_scale = scale_->row; |
| 278 | HighsInt to_entry; |
| 279 | const bool use_row_indices = |
| 280 | sparseLoopStyle(rhs.count, lp_->num_row_, to_entry); |
| 281 | for (HighsInt iEntry = 0; iEntry < to_entry; iEntry++) { |
| 282 | const HighsInt iRow = use_row_indices ? rhs.index[iEntry] : iEntry; |
| 283 | rhs.array[iRow] /= row_scale[iRow]; |
| 284 | } |
| 285 | } |
| 286 | |
| 287 | void HSimplexNla::addCols(const HighsLp* updated_lp) { |
| 288 | // Adding columns is easy, since they are nonbasic |
no outgoing calls
no test coverage detected