From f42e2bf07b9fb5b19b9ab243079fc69234ef4549 Mon Sep 17 00:00:00 2001 From: Vivien Maisonneuve Date: Tue, 19 Aug 2014 15:22:25 +0200 Subject: [PATCH 1/1] Fix implementation of Polyhedron.__new__() --- linpy/polyhedra.py | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/linpy/polyhedra.py b/linpy/polyhedra.py index 543e673..8426d32 100644 --- a/linpy/polyhedra.py +++ b/linpy/polyhedra.py @@ -87,22 +87,20 @@ class Polyhedron(Domain): if inequalities is not None: raise TypeError('too many arguments') return equalities.aspolyhedron() - if equalities is None: - equalities = [] - else: - for i, equality in enumerate(equalities): + sc_equalities = [] + if equalities is not None: + for equality in equalities: if not isinstance(equality, LinExpr): raise TypeError('equalities must be linear expressions') - equalities[i] = equality.scaleint() - if inequalities is None: - inequalities = [] - else: - for i, inequality in enumerate(inequalities): + sc_equalities.append(equality.scaleint()) + sc_inequalities = [] + if inequalities is not None: + for inequality in inequalities: if not isinstance(inequality, LinExpr): raise TypeError('inequalities must be linear expressions') - inequalities[i] = inequality.scaleint() - symbols = cls._xsymbols(equalities + inequalities) - islbset = cls._toislbasicset(equalities, inequalities, symbols) + sc_inequalities.append(inequality.scaleint()) + symbols = cls._xsymbols(sc_equalities + sc_inequalities) + islbset = cls._toislbasicset(sc_equalities, sc_inequalities, symbols) return cls._fromislbasicset(islbset, symbols) @property -- 2.20.1