X-Git-Url: https://scm.cri.ensmp.fr/git/linpy.git/blobdiff_plain/1d494bb187b70135df721c13306d7f26fdf33f50..cc6c00616ffb4e7bdf81d5d186ea91b61b304ff1:/pypol/islhelper.py diff --git a/pypol/islhelper.py b/pypol/islhelper.py index 75d90d0..a493363 100644 --- a/pypol/islhelper.py +++ b/pypol/islhelper.py @@ -1,27 +1,34 @@ 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) @@ -39,3 +46,9 @@ def isl_set_to_str(islset): 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