Fix Expression.__hash__
authorVivien Maisonneuve <v.maisonneuve@gmail.com>
Thu, 19 Jun 2014 07:15:55 +0000 (09:15 +0200)
committerVivien Maisonneuve <v.maisonneuve@gmail.com>
Thu, 19 Jun 2014 07:15:55 +0000 (09:15 +0200)
pypol/linear.py

index 8f73fd3..2c71c02 100644 (file)
@@ -271,7 +271,7 @@ class Expression:
                 self.constant == other.constant
 
     def __hash__(self):
                 self.constant == other.constant
 
     def __hash__(self):
-        return hash((self._coefficients, self._constant))
+        return hash((tuple(sorted(self._coefficients.items())), self._constant))
 
     def _toint(self):
         lcm = functools.reduce(lambda a, b: a*b // gcd(a, b),
 
     def _toint(self):
         lcm = functools.reduce(lambda a, b: a*b // gcd(a, b),