Blame isl-0.14/interface/isl.py.top

Packit fb9d21
from ctypes import *
Packit fb9d21
Packit fb9d21
isl = cdll.LoadLibrary("libisl.so")
Packit fb9d21
libc = cdll.LoadLibrary("libc.so.6")
Packit fb9d21
Packit fb9d21
class Error(Exception):
Packit fb9d21
    pass
Packit fb9d21
Packit fb9d21
class Context:
Packit fb9d21
    defaultInstance = None
Packit fb9d21
Packit fb9d21
    def __init__(self):
Packit fb9d21
        ptr = isl.isl_ctx_alloc()
Packit fb9d21
        self.ptr = ptr
Packit fb9d21
Packit fb9d21
    def __del__(self):
Packit fb9d21
        isl.isl_ctx_free(self)
Packit fb9d21
Packit fb9d21
    def from_param(self):
Packit fb9d21
        return self.ptr
Packit fb9d21
Packit fb9d21
    @staticmethod
Packit fb9d21
    def getDefaultInstance():
Packit fb9d21
        if Context.defaultInstance == None:
Packit fb9d21
            Context.defaultInstance = Context()
Packit fb9d21
        return Context.defaultInstance
Packit fb9d21
Packit fb9d21
isl.isl_ctx_alloc.restype = c_void_p
Packit fb9d21
isl.isl_ctx_free.argtypes = [Context]