import ctypes, ctypes.util
from . import _islhelper
-from ._islhelper import isl_basic_set_constraints, isl_set_basic_sets
+from ._islhelper import *
__all__ = [
'libisl',
+ 'isl_version',
'mainctx',
'isl_val_to_int',
'isl_basic_set_to_str', 'isl_basic_set_constraints',
'isl_set_to_str', 'isl_set_basic_sets',
+ 'isl_set_points',
+ 'isl_vertices_vertices',
+ 'isl_multi_aff_to_str',
]
libisl = ctypes.CDLL(ctypes.util.find_library('isl'))
-
-libisl.isl_printer_get_str.restype = ctypes.c_char_p
libisl.isl_dim_set = _islhelper.dim_set
+libisl.isl_version.restype = ctypes.c_char_p
+isl_version = libisl.isl_version().decode().strip()[len('isl-'):]
+
mainctx = libisl.isl_ctx_alloc()
+libisl.isl_printer_get_str.restype = ctypes.c_char_p
+
def isl_val_to_int(islval):
islpr = libisl.isl_printer_to_str(mainctx)
islpr = libisl.isl_printer_print_val(islpr, islval)
islpr = libisl.isl_printer_print_set(islpr, islset)
string = libisl.isl_printer_get_str(islpr).decode()
return string
+
+def isl_multi_aff_to_str(islmaff):
+ islpr = libisl.isl_printer_to_str(mainctx)
+ islpr = libisl.isl_printer_print_multi_aff(islpr, islmaff)
+ string = libisl.isl_printer_get_str(islpr).decode()
+ return string