X-Git-Url: https://scm.cri.ensmp.fr/git/linpy.git/blobdiff_plain/156db05a9a4c4e6d71a431fcc6343b973ca1d5ab..600e193f0f6ba62014cb5ac3d804504cb064b0ac:/pypol/linear.py diff --git a/pypol/linear.py b/pypol/linear.py index 8fdece9..eeee698 100644 --- a/pypol/linear.py +++ b/pypol/linear.py @@ -5,8 +5,8 @@ import re from fractions import Fraction, gcd -from pypol import isl -from pypol.isl import libisl +from . import isl +from .isl import libisl __all__ = [ @@ -355,8 +355,11 @@ class Constant(Expression): return bool(self.constant) def __repr__(self): - return '{}({!r})'.format(self.__class__.__name__, self._constant) - + if self.constant.denominator == 1: + return '{}({!r})'.format(self.__class__.__name__, self.constant) + else: + return '{}({!r}, {!r})'.format(self.__class__.__name__, + self.constant.numerator, self.constant.denominator) class Symbol(Expression): @@ -696,7 +699,8 @@ Universe = Polyhedron() if __name__ == '__main__': - p1 = Polyhedron('2a + 2b + 1 == 0') # empty - print(p1._toisl()) - p2 = Polyhedron('3x + 2y + 3 == 0') # not empty - print(p2._toisl()) + #p = Polyhedron('2a + 2b + 1 == 0') # empty + p = Polyhedron('3x + 2y + 3 == 0, y == 0') # not empty + ip = p._toisl() + print(ip) + print(ip.constraints())