Implement BasicSet.__del__
[linpy.git] / pypol / isl.py
index 0513358..ddf7ea0 100644 (file)
@@ -10,10 +10,13 @@ import numbers
 import operator
 import re
 
+from . import _isl
+
 
 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
 
 
 class IslObject:
@@ -50,6 +53,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)