projects
/
linpy.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Change string representations of Expression and Polyhedron
[linpy.git]
/
pypol
/
isl.py
diff --git
a/pypol/isl.py
b/pypol/isl.py
index
00d0818
..
0b9a485
100644
(file)
--- 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 ctypes, ctypes.util
-import functools
-import math
-import numbers
-import operator
-import re
from . import _isl
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 = 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:
class IslObject:
- __slots__ = ('_ptr')
+ __slots__ = (
+ '_ptr',
+ )
def __init__(self, ptr):
self._ptr = ptr
def __init__(self, ptr):
self._ptr = ptr
@@
-34,7
+32,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
+54,9
@@
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)
+
+ def constraints(self):
+ return _isl.basic_set_constraints(self._ptr)