From: Vivien Maisonneuve Date: Tue, 19 Aug 2014 13:22:25 +0000 (+0200) Subject: Fix implementation of Polyhedron.__new__() X-Git-Tag: 1.0~43 X-Git-Url: https://scm.cri.mines-paristech.fr/git/linpy.git/commitdiff_plain/f42e2bf07b9fb5b19b9ab243079fc69234ef4549?ds=sidebyside Fix implementation of Polyhedron.__new__() --- 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