From 7a0183259951bd80aef293e8f12b128d7c32956e Mon Sep 17 00:00:00 2001
From: Vivien Maisonneuve <v.maisonneuve@gmail.com>
Date: Fri, 25 Jul 2014 06:52:24 +0200
Subject: [PATCH] Better initialization of Rational

---
 pypol/linexprs.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/pypol/linexprs.py b/pypol/linexprs.py
index 4fa8ed1..07d4005 100644
--- a/pypol/linexprs.py
+++ b/pypol/linexprs.py
@@ -413,11 +413,13 @@ def symbols(names):
 class Rational(Expression, Fraction):
 
     def __new__(cls, numerator=0, denominator=None):
-        self = Fraction.__new__(cls, numerator, denominator)
+        self = object().__new__(cls)
         self._coefficients = {}
-        self._constant = Fraction(self)
+        self._constant = Fraction(numerator, denominator)
         self._symbols = ()
         self._dimension = 0
+        self._numerator = self._constant.numerator
+        self._denominator = self._constant.denominator
         return self
 
     def __hash__(self):
-- 
2.20.1