X-Git-Url: https://scm.cri.mines-paristech.fr/git/linpy.git/blobdiff_plain/1d10c1b14b9544aba049dab42fff4b1224bb1640..5a4b72c59f689a3eb67303c60a5d76a99d4b097c:/pypol/isl.py?ds=sidebyside diff --git a/pypol/isl.py b/pypol/isl.py index ddf7ea0..0b9a485 100644 --- a/pypol/isl.py +++ b/pypol/isl.py @@ -1,27 +1,25 @@ -""" -note: for islpy -isl format: basic set: ("{[x, y] : x >= 0 and x < 5 and y >= 0 and y < x+4 }") -""" - import ctypes, ctypes.util -import functools -import math -import numbers -import operator -import re from . import _isl +__all__ = [ + 'Context', + 'BasicSet', +] + + libisl = ctypes.CDLL(ctypes.util.find_library('isl')) libisl.isl_printer_get_str.restype = ctypes.c_char_p -libisl.isl_dim_set = _isl.isl_dim_set +libisl.isl_dim_set = _isl.dim_set class IslObject: - __slots__ = ('_ptr') + __slots__ = ( + '_ptr', + ) def __init__(self, ptr): self._ptr = ptr @@ -34,7 +32,8 @@ class IslObject: class Context(IslObject): def __init__(self): - self._ptr = libisl.isl_ctx_alloc() + ptr = libisl.isl_ctx_alloc() + super().__init__(ptr) #comment out so does not delete itself after being created #def __del__(self): @@ -58,3 +57,6 @@ class BasicSet(IslObject): def __del__(self): libisl.isl_basic_set_free(self) + + def constraints(self): + return _isl.basic_set_constraints(self._ptr)