equal
deleted
inserted
replaced
296 const Value &lowerBound() const { return _lb; } |
296 const Value &lowerBound() const { return _lb; } |
297 ///\e |
297 ///\e |
298 Value &upperBound() { return _ub; } |
298 Value &upperBound() { return _ub; } |
299 ///\e |
299 ///\e |
300 const Value &upperBound() const { return _ub; } |
300 const Value &upperBound() const { return _ub; } |
|
301 ///\e |
|
302 bool lowerBounded() const { return std::isfinite(_lb); } |
|
303 ///\e |
|
304 bool upperBounded() const { return std::isfinite(_ub); } |
301 }; |
305 }; |
302 |
306 |
303 |
307 |
304 protected: |
308 protected: |
305 _FixId rows; |
309 _FixId rows; |
482 |
486 |
483 ///\param r is the row to be modified |
487 ///\param r is the row to be modified |
484 ///\param c is a linear expression (see \ref Constr) |
488 ///\param c is a linear expression (see \ref Constr) |
485 void setRow(Row r, const Constr &c) { |
489 void setRow(Row r, const Constr &c) { |
486 setRow(r, |
490 setRow(r, |
487 isnan(c.lowerBound())?-INF:c.lowerBound(), |
491 c.lowerBounded()?c.lowerBound():-INF, |
488 c.expr(), |
492 c.expr(), |
489 isnan(c.upperBound())?INF:c.upperBound()); |
493 c.upperBounded()?c.upperBound():INF); |
490 } |
494 } |
491 |
495 |
492 ///Add a new row (i.e a new constaint) to the LP |
496 ///Add a new row (i.e a new constaint) to the LP |
493 |
497 |
494 ///\param l is the lower bound (-\ref INF means no bound) |
498 ///\param l is the lower bound (-\ref INF means no bound) |