src/work/athos/lp/lp_base.h
changeset 1275 16980bf77bd3
parent 1273 2b2ffa625775
child 1279 7caed393608e
equal deleted inserted replaced
11:5216eb35afc6 12:5c681e1f50bd
   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)