# HG changeset patch
# User Gabor Retvari <retvari@tmit.bme.hu>
# Date 1320132270 -3600
# Node ID 2eebc8f7dca5ad761c939d1a7443791e85b7ec08
# Parent  0dba9b96550a2465927558c8b34ab9cbfbae1d5a
Fix LpBase::Constr two-side limit bug (#430)

diff -r 0dba9b96550a -r 2eebc8f7dca5 lemon/lp_base.h
--- a/lemon/lp_base.h	Wed Jul 13 14:38:50 2011 +0200
+++ b/lemon/lp_base.h	Tue Nov 01 08:24:30 2011 +0100
@@ -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 -r 0dba9b96550a -r 2eebc8f7dca5 test/lp_test.cc
--- a/test/lp_test.cc	Wed Jul 13 14:38:50 2011 +0200
+++ b/test/lp_test.cc	Tue Nov 01 08:24:30 2011 +0100
@@ -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;