X-Git-Url: https://scm.cri.ensmp.fr/git/linpy.git/blobdiff_plain/ba88e64fedc541e9e3766e258a6cfa051acf56d9..a4a564b4061ca0a495f2f2dba784d28b685b6f1d:/linpy/linexprs.py diff --git a/linpy/linexprs.py b/linpy/linexprs.py index b97f048..d62c671 100644 --- a/linpy/linexprs.py +++ b/linpy/linexprs.py @@ -463,12 +463,15 @@ class Symbol(LinExpr): raise SyntaxError('invalid syntax') self = object().__new__(cls) self._name = name - self._coefficients = {self: Fraction(1)} self._constant = Fraction(0) self._symbols = (self,) self._dimension = 1 return self + @property + def _coefficients(self): + return {self: Fraction(1)} + @property def name(self): """ @@ -553,15 +556,8 @@ class Dummy(Symbol): """ if name is None: name = 'Dummy_{}'.format(Dummy._count) - elif not isinstance(name, str): - raise TypeError('name must be a string') - self = object().__new__(cls) + self = super().__new__(cls, name) self._index = Dummy._count - self._name = name.strip() - self._coefficients = {self: Fraction(1)} - self._constant = Fraction(0) - self._symbols = (self,) - self._dimension = 1 Dummy._count += 1 return self