points = {}
num = 0
vertices_points = []
- symbols = list(self.symbols)
for vertex in vertices:
- expr = libisl.isl_vertex_get_expr(vertex); #make vertices a bset
if islhelper.isl_version < '0.13':
+ expr = libisl.isl_vertex_get_expr(vertex)
constraints = islhelper.isl_basic_set_constraints(expr) #get bset constraints
- for dim in symbols:
- index = symbols.index(dim)
- for c in constraints: #for each constraint
- constant = libisl.isl_constraint_get_constant_val(c) #get contant value
+ for index, dim in enumerate(self.symbols):
+ for c in constraints: #for each constraint
+ constant = libisl.isl_constraint_get_constant_val(c) #get constant value
constant = islhelper.isl_val_to_int(constant)
coefficient = libisl.isl_constraint_get_coefficient_val(c,libisl.isl_dim_set, index)
coefficient = islhelper.isl_val_to_int(coefficient) #get coefficient
if coefficient != 0:
- num = Fraction(constant, coefficient)
- points.update({dim:num})
- vertices_points.append(points)
- print(points)
-
+ num = -Fraction(constant, coefficient)
+ points[dim]= float(num)
+ vertices_points.append(points.copy())
else:
points = []
string = islhelper.isl_multi_aff_to_str(expr)