]> CRI, Mines Paris - PSL - linpy.git/commitdiff
Make Dummy.__new__() inherit from Symbol.__new__()
authorVivien Maisonneuve <v.maisonneuve@gmail.com>
Tue, 19 Aug 2014 12:15:56 +0000 (14:15 +0200)
committerVivien Maisonneuve <v.maisonneuve@gmail.com>
Tue, 19 Aug 2014 12:35:41 +0000 (14:35 +0200)
linpy/linexprs.py

index b97f0485abda897f673bc33e94e7b28a886a36df..d62c67149b70d9b5a1cbd6ace0cf0e19e14029c5 100644 (file)
@@ -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