Improvements in decorators, data types, caches
[linpy.git] / pypol / isl.py
index 00d0818..a95bba3 100644 (file)
@@ -1,8 +1,3 @@
-"""
-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 ctypes, ctypes.util
 import functools
 import math
@@ -34,7 +29,8 @@ class IslObject:
 class Context(IslObject):
 
     def __init__(self):
 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):
 
     #comment out so does not delete itself after being created
     #def __del__(self):
@@ -55,3 +51,6 @@ class BasicSet(IslObject):
         p = libisl.isl_printer_print_basic_set(p, self)
         string = libisl.isl_printer_get_str(p).decode()
         return string
         p = libisl.isl_printer_print_basic_set(p, self)
         string = libisl.isl_printer_get_str(p).decode()
         return string
+
+    def __del__(self):
+        libisl.isl_basic_set_free(self)