# HG changeset patch # User Gabor Retvari # Date 2011-11-01 08:24:30 # Node ID 2eebc8f7dca5ad761c939d1a7443791e85b7ec08 # Parent 0dba9b96550a2465927558c8b34ab9cbfbae1d5a Fix LpBase::Constr two-side limit bug (#430) diff --git a/lemon/lp_base.h b/lemon/lp_base.h --- a/lemon/lp_base.h +++ b/lemon/lp_base.h @@ -1604,7 +1604,7 @@ /// inline LpBase::Constr operator<=(const LpBase::Expr &e, const LpBase::Expr &f) { - return LpBase::Constr(0, f - e, LpBase::INF); + return LpBase::Constr(0, f - e, LpBase::NaN); } ///Create constraint @@ -1622,7 +1622,7 @@ /// inline LpBase::Constr operator<=(const LpBase::Expr &e, const LpBase::Value &f) { - return LpBase::Constr(- LpBase::INF, e, f); + return LpBase::Constr(LpBase::NaN, e, f); } ///Create constraint @@ -1631,7 +1631,7 @@ /// inline LpBase::Constr operator>=(const LpBase::Expr &e, const LpBase::Expr &f) { - return LpBase::Constr(0, e - f, LpBase::INF); + return LpBase::Constr(0, e - f, LpBase::NaN); } @@ -1651,7 +1651,7 @@ /// inline LpBase::Constr operator>=(const LpBase::Expr &e, const LpBase::Value &f) { - return LpBase::Constr(f, e, LpBase::INF); + return LpBase::Constr(f, e, LpBase::NaN); } ///Create constraint diff --git a/test/lp_test.cc b/test/lp_test.cc --- a/test/lp_test.cc +++ b/test/lp_test.cc @@ -166,6 +166,14 @@ c = ((2 >= e) >= 3); c = ((2 >= p1) >= 3); + { //Tests for #430 + LP::Col v=lp.addCol(); + LP::Constr c = v >= -3; + c = c <= 4; + LP::Constr c2; + c2 = -3 <= v <= 4; + } + e[x[3]]=2; e[x[3]]=4; e[x[3]]=1;