From 62fbaa7984d8035cccc97555f1de3188e280e475 Mon Sep 17 00:00:00 2001 From: Vivien Maisonneuve Date: Tue, 19 Aug 2014 16:32:38 +0200 Subject: [PATCH 1/1] Cleaner implementation of Domain.__sub__() --- linpy/domains.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/linpy/domains.py b/linpy/domains.py index 57c08ba..9fdc7d5 100644 --- a/linpy/domains.py +++ b/linpy/domains.py @@ -363,14 +363,16 @@ class Domain(GeometricObject): """ Return the difference of two domains as a new domain. """ - symbols = self._xsymbols([self, other]) - islset1 = self._toislset(self.polyhedra, symbols) - islset2 = other._toislset(other.polyhedra, symbols) - islset = libisl.isl_set_subtract(islset1, islset2) - return self._fromislset(islset, symbols) + return self - other def __sub__(self, other): - return self.difference(other) + if isinstance(other, Domain): + symbols = self._xsymbols([self, other]) + islset1 = self._toislset(self.polyhedra, symbols) + islset2 = other._toislset(other.polyhedra, symbols) + islset = libisl.isl_set_subtract(islset1, islset2) + return self._fromislset(islset, symbols) + return NotImplemented __sub__.__doc__ = difference.__doc__ def lexmin(self): -- 2.20.1