From 538cd0d05962f48885e8dd68c93a0a1af67b9607 Mon Sep 17 00:00:00 2001
From: Vivien Maisonneuve <v.maisonneuve@gmail.com>
Date: Tue, 19 Aug 2014 14:22:36 +0200
Subject: [PATCH] Define Symbol.__slots__ and Rational.__slots__

---
 linpy/linexprs.py | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/linpy/linexprs.py b/linpy/linexprs.py
index d62c671..c100698 100644
--- a/linpy/linexprs.py
+++ b/linpy/linexprs.py
@@ -450,6 +450,13 @@ class Symbol(LinExpr):
     Two instances of Symbol are equal if they have the same name.
     """
 
+    __slots__ = (
+        '_name',
+        '_constant',
+        '_symbols',
+        '_dimension',
+    )
+
     def __new__(cls, name):
         """
         Return a symbol with the name string given in argument.
@@ -582,6 +589,13 @@ class Rational(LinExpr, Fraction):
     fractions.Fraction classes.
     """
 
+    __slots__ = (
+        '_coefficients',
+        '_constant',
+        '_symbols',
+        '_dimension',
+    ) + Fraction.__slots__
+
     def __new__(cls, numerator=0, denominator=None):
         self = object().__new__(cls)
         self._coefficients = {}
-- 
2.20.1