X-Git-Url: https://scm.cri.ensmp.fr/git/linpy.git/blobdiff_plain/3b1b3560c8880ef25995a18b6e365e0d730a2df2..0efaf62e3354a0663031bc16b53d9d8b597f50d0:/pypol/isl.py?ds=sidebyside diff --git a/pypol/isl.py b/pypol/isl.py index 5a20514..ecc32c7 100644 --- a/pypol/isl.py +++ b/pypol/isl.py @@ -1,14 +1,4 @@ -""" -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 @@ -34,7 +24,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): @@ -53,6 +44,8 @@ class BasicSet(IslObject): ctx = libisl.isl_local_space_get_ctx(ls) p = libisl.isl_printer_to_str(ctx) p = libisl.isl_printer_print_basic_set(p, self) - string = libisl.isl_printer_get_str(p) - string = str(string.decode()) + string = libisl.isl_printer_get_str(p).decode() return string + + def __del__(self): + libisl.isl_basic_set_free(self)