From 75b826058dcbdb53fea2ed5258b59e806b465449 Mon Sep 17 00:00:00 2001 From: Vivien Maisonneuve Date: Tue, 19 Aug 2014 17:58:12 +0200 Subject: [PATCH] Improve comparison methods in LinExpr --- linpy/linexprs.py | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/linpy/linexprs.py b/linpy/linexprs.py index 961502d..a0be583 100644 --- a/linpy/linexprs.py +++ b/linpy/linexprs.py @@ -247,26 +247,28 @@ class LinExpr: """ Test whether two linear expressions are equal. """ - if isinstance(other, LinExpr): - return self._coefficients == other._coefficients and \ - self._constant == other._constant - return NotImplemented - - def __le__(self, other): - from .polyhedra import Le - return Le(self, other) + return self._coefficients == other._coefficients and \ + self._constant == other._constant + @_polymorphic def __lt__(self, other): - from .polyhedra import Lt - return Lt(self, other) + from .polyhedra import Polyhedron + return Polyhedron([], [other - self - 1]) + @_polymorphic + def __le__(self, other): + from .polyhedra import Polyhedron + return Polyhedron([], [other - self]) + + @_polymorphic def __ge__(self, other): - from .polyhedra import Ge - return Ge(self, other) + from .polyhedra import Polyhedron + return Polyhedron([], [self - other]) + @_polymorphic def __gt__(self, other): - from .polyhedra import Gt - return Gt(self, other) + from .polyhedra import Polyhedron + return Polyhedron([], [self - other - 1]) def scaleint(self): """ -- 2.20.1