From: Danielle Bolan Date: Wed, 11 Jun 2014 15:54:36 +0000 (+0200) Subject: changes before eclipse crashes again X-Git-Tag: 1.0~260 X-Git-Url: https://svn.cri.ensmp.fr/git/linpy.git/commitdiff_plain/966727e8d6a1bcbb27dfb1586daa233b006b4fca?ds=sidebyside;hp=2849330c65ff7bbc0bfefddf0f062fce51bde7b9 changes before eclipse crashes again --- diff --git a/pypol/isl.py b/pypol/isl.py index 41716c1..f1e63dc 100644 --- a/pypol/isl.py +++ b/pypol/isl.py @@ -40,9 +40,10 @@ class Context: @property def _as_parameter_(self): return self._ic - + + #comment out so does not delete itself after being created #def __del__(self): - # libisl.isl_ctx_free(self) + # libisl.isl_ctx_free(self) def __eq__(self, other): if not isinstance(other, Context): @@ -119,8 +120,7 @@ class Value: numerator = libisl.isl_val_read_from_str(context, numerator) denominator = str(frac.denominator).encode() denominator = libisl.isl_val_read_from_str(context, denominator) - self._iv = libisl.isl_val_div(numerator, denominator) - print('in isl') + self._iv = libisl.isl_val_div(numerator, denominator) return self @@ -258,7 +258,7 @@ class Value: return bool(libisl.isl_val_is_infty(self) or libisl.isl_val_is_neginfty(self)) - def is_nan(self): + def is_nan(self): return bool(libisl.isl_val_is_nan(self)) def __str__(self): diff --git a/pypol/linear.py b/pypol/linear.py index 2b064d4..de6f4ca 100644 --- a/pypol/linear.py +++ b/pypol/linear.py @@ -359,11 +359,8 @@ class Polyhedron: raise TypeError('non-integer constraint: ' '{} <= 0'.format(constraint)) self._inequalities.append(constraint) - print('in polyhedron') - #print(self.constraints()) self._bset = self.to_isl() - #print(self._bset) - return self + return self._bset @property @@ -400,7 +397,6 @@ class Polyhedron: s = [] for constraint in self.constraints(): s.append(constraint.symbols) - print(s) return s @property @@ -508,7 +504,7 @@ class Polyhedron: def printer(self): ip = libisl.isl_printer_to_str(_CONTEXT) - ip = libisl.isl_printer_print_val(ip, self) + ip = libisl.isl_printer_print_val(ip, self) #self should be value string = libisl.isl_printer_get_str(ip).decode() print(string) return string @@ -521,6 +517,7 @@ class Polyhedron: ceq = libisl.isl_equality_alloc(libisl.isl_local_space_copy(ls)) cin = libisl.isl_inequality_alloc(libisl.isl_local_space_copy(ls)) dict_ex = Expression().__dict__ + print(dict_ex) ''' if there are equalities/inequalities, take each constant and coefficient and add as a constraint to the basic set need to change the symbols method to a lookup table for the integer value for each letter that could be a symbol @@ -532,9 +529,9 @@ class Polyhedron: for _coefficients in dict_ex: value_co = dict_ex.get('_coefficients') if value_co: - ceq = libisl.isl_constraint_set_coefficient_si(ceq, libisl.isl_set_dim, self.symbols(), value_co) - bset = libisl.isl_set_add_constraint(bset, ceq) - + ceq = libisl.isl_constraint_set_coefficient_si(ceq, libisl.isl_set_dim, self.symbols(), value_co) + bset = libisl.isl_set_add_constraint(bset, ceq) + bset = libisl.isl_basic_set_project_out(bset, libisl.isl_set_dim, 1, 1); elif self.inequalities: for _constant in dict_ex: value = dict_ex.get('_constant') @@ -543,13 +540,14 @@ class Polyhedron: value_co = dict_ex.get('_coefficients') if value_co: cin = libisl.isl_constraint_set_coefficient_si(cin, libisl.isl_set_dim, self.symbols(), value_co) - bset = libisl.isl_set_add_contraint(bset, cin) - string = self.printer() - #string = libisl.isl_printer_print_basic_set(bset) + bset = libisl.isl_set_add_contraint(bset, cin) + + string = libisl.isl_printer_print_basic_set(bset) print('here') - print(string) + print(bset) print(self) - return string + #print(string) + return bset empty = eq(1, 1)