X-Git-Url: https://scm.cri.mines-paristech.fr/git/linpy.git/blobdiff_plain/7b93cea1daf2889e9ee10ca9c22a1b5124404937..d585b06ccf67b2837519f4b48c6800dcdb924d9d:/linpy/islhelper.py?ds=inline diff --git a/linpy/islhelper.py b/linpy/islhelper.py index c38e734..d87eaa3 100644 --- a/linpy/islhelper.py +++ b/linpy/islhelper.py @@ -15,22 +15,27 @@ # You should have received a copy of the GNU General Public License # along with LinPy. If not, see . -import ctypes, ctypes.util +import ctypes +import ctypes.util +import re from . import _islhelper -from ._islhelper import * +from ._islhelper import (isl_basic_set_constraints, isl_set_basic_sets, + isl_set_points, isl_vertices_vertices) __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_basic_set_constraints', + 'isl_basic_set_to_str', + 'isl_multi_aff_to_str', + 'isl_set_basic_sets', 'isl_set_points', + 'isl_set_to_str', + 'isl_val_to_int', + 'isl_version', 'isl_vertices_vertices', - 'isl_multi_aff_to_str', + 'libisl', + 'mainctx', ] @@ -38,7 +43,8 @@ libisl = ctypes.CDLL(ctypes.util.find_library('isl')) libisl.isl_dim_set = _islhelper.dim_set libisl.isl_version.restype = ctypes.c_char_p -isl_version = libisl.isl_version().decode().strip()[len('isl-'):] +isl_version = libisl.isl_version().decode().strip() +isl_version = re.sub(r'^isl-', '', isl_version) mainctx = libisl.isl_ctx_alloc() @@ -46,24 +52,28 @@ 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) string = libisl.isl_printer_get_str(islpr).decode() return int(string) + def isl_basic_set_to_str(islbset): islpr = libisl.isl_printer_to_str(mainctx) islpr = libisl.isl_printer_print_basic_set(islpr, islbset) string = libisl.isl_printer_get_str(islpr).decode() return string + def isl_set_to_str(islset): islpr = libisl.isl_printer_to_str(mainctx) 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)