isl_dlname='libisl.so.23' import os from ctypes import * from ctypes.util import find_library isl_dyld_library_path = os.environ.get('ISL_DYLD_LIBRARY_PATH') if isl_dyld_library_path != None: os.environ['DYLD_LIBRARY_PATH'] = isl_dyld_library_path try: isl = cdll.LoadLibrary(isl_dlname) except: isl = cdll.LoadLibrary(find_library("isl")) libc = cdll.LoadLibrary(find_library("c")) class Error(Exception): pass class Context: defaultInstance = None def __init__(self): ptr = isl.isl_ctx_alloc() self.ptr = ptr def __del__(self): isl.isl_ctx_free(self) def from_param(self): return c_void_p(self.ptr) @staticmethod def getDefaultInstance(): if Context.defaultInstance == None: Context.defaultInstance = Context() return Context.defaultInstance @CFUNCTYPE(None, py_object) def free_user(user): pythonapi.Py_DecRef(py_object(user)) isl.isl_ctx_alloc.restype = c_void_p isl.isl_ctx_free.argtypes = [Context] isl.isl_id_alloc.restype = c_void_p isl.isl_id_alloc.argtypes = [Context, c_char_p, py_object] isl.isl_id_set_free_user.restype = c_void_p isl.isl_id_set_free_user.argtypes = [c_void_p, c_void_p] isl.isl_id_get_free_user.restype = c_void_p isl.isl_id_get_free_user.argtypes = [c_void_p] isl.isl_id_get_user.restype = py_object isl.isl_id_get_user.argtypes = [c_void_p] class union_pw_multi_aff(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and args[0].__class__ is multi_aff: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_union_pw_multi_aff_from_multi_aff(isl.isl_multi_aff_copy(args[0].ptr)) return if len(args) == 1 and args[0].__class__ is pw_multi_aff: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_union_pw_multi_aff_from_pw_multi_aff(isl.isl_pw_multi_aff_copy(args[0].ptr)) return if len(args) == 1 and args[0].__class__ is union_pw_aff: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_union_pw_multi_aff_from_union_pw_aff(isl.isl_union_pw_aff_copy(args[0].ptr)) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_union_pw_multi_aff_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_union_pw_multi_aff_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise ptr = isl.isl_union_pw_multi_aff_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.union_pw_multi_aff("""%s""")' % s else: return 'isl.union_pw_multi_aff("%s")' % s def add(arg0, arg1): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is union_pw_multi_aff: arg1 = union_pw_multi_aff(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_pw_multi_aff_add(isl.isl_union_pw_multi_aff_copy(arg0.ptr), isl.isl_union_pw_multi_aff_copy(arg1.ptr)) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj def apply(*args): if len(args) == 2 and args[1].__class__ is union_pw_multi_aff: args = list(args) try: if not args[0].__class__ is union_pw_multi_aff: args[0] = union_pw_multi_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_pw_multi_aff_apply_union_pw_multi_aff(isl.isl_union_pw_multi_aff_copy(args[0].ptr), isl.isl_union_pw_multi_aff_copy(args[1].ptr)) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj raise Error def as_multi_union_pw_aff(arg0): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_pw_multi_aff_as_multi_union_pw_aff(isl.isl_union_pw_multi_aff_copy(arg0.ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj def as_pw_multi_aff(arg0): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_pw_multi_aff_as_pw_multi_aff(isl.isl_union_pw_multi_aff_copy(arg0.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def as_union_map(arg0): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_pw_multi_aff_as_union_map(isl.isl_union_pw_multi_aff_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def coalesce(arg0): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_pw_multi_aff_coalesce(isl.isl_union_pw_multi_aff_copy(arg0.ptr)) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj def domain(arg0): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_pw_multi_aff_domain(isl.isl_union_pw_multi_aff_copy(arg0.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def drop_unused_params(arg0): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_pw_multi_aff_drop_unused_params(isl.isl_union_pw_multi_aff_copy(arg0.ptr)) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj @staticmethod def empty(*args): if len(args) == 0: ctx = Context.getDefaultInstance() res = isl.isl_union_pw_multi_aff_empty_ctx(ctx) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj raise Error def extract_pw_multi_aff(arg0, arg1): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is space: arg1 = space(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_pw_multi_aff_extract_pw_multi_aff(arg0.ptr, isl.isl_space_copy(arg1.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def flat_range_product(arg0, arg1): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is union_pw_multi_aff: arg1 = union_pw_multi_aff(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_pw_multi_aff_flat_range_product(isl.isl_union_pw_multi_aff_copy(arg0.ptr), isl.isl_union_pw_multi_aff_copy(arg1.ptr)) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj def gist(arg0, arg1): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_pw_multi_aff_gist(isl.isl_union_pw_multi_aff_copy(arg0.ptr), isl.isl_union_set_copy(arg1.ptr)) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj def intersect_domain(*args): if len(args) == 2 and args[1].__class__ is space: args = list(args) try: if not args[0].__class__ is union_pw_multi_aff: args[0] = union_pw_multi_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_pw_multi_aff_intersect_domain_space(isl.isl_union_pw_multi_aff_copy(args[0].ptr), isl.isl_space_copy(args[1].ptr)) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is union_set: args = list(args) try: if not args[0].__class__ is union_pw_multi_aff: args[0] = union_pw_multi_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_pw_multi_aff_intersect_domain_union_set(isl.isl_union_pw_multi_aff_copy(args[0].ptr), isl.isl_union_set_copy(args[1].ptr)) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj raise Error def intersect_domain_wrapped_domain(arg0, arg1): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_pw_multi_aff_intersect_domain_wrapped_domain(isl.isl_union_pw_multi_aff_copy(arg0.ptr), isl.isl_union_set_copy(arg1.ptr)) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj def intersect_domain_wrapped_range(arg0, arg1): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_pw_multi_aff_intersect_domain_wrapped_range(isl.isl_union_pw_multi_aff_copy(arg0.ptr), isl.isl_union_set_copy(arg1.ptr)) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj def intersect_params(arg0, arg1): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_pw_multi_aff_intersect_params(isl.isl_union_pw_multi_aff_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj def involves_locals(arg0): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_pw_multi_aff_involves_locals(arg0.ptr) if res < 0: raise Error return bool(res) def isa_pw_multi_aff(arg0): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_pw_multi_aff_isa_pw_multi_aff(arg0.ptr) if res < 0: raise Error return bool(res) def plain_is_empty(arg0): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_pw_multi_aff_plain_is_empty(arg0.ptr) if res < 0: raise Error return bool(res) def plain_is_equal(arg0, arg1): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is union_pw_multi_aff: arg1 = union_pw_multi_aff(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_pw_multi_aff_plain_is_equal(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def preimage_domain_wrapped_domain(*args): if len(args) == 2 and args[1].__class__ is union_pw_multi_aff: args = list(args) try: if not args[0].__class__ is union_pw_multi_aff: args[0] = union_pw_multi_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_pw_multi_aff_preimage_domain_wrapped_domain_union_pw_multi_aff(isl.isl_union_pw_multi_aff_copy(args[0].ptr), isl.isl_union_pw_multi_aff_copy(args[1].ptr)) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj raise Error def pullback(*args): if len(args) == 2 and args[1].__class__ is union_pw_multi_aff: args = list(args) try: if not args[0].__class__ is union_pw_multi_aff: args[0] = union_pw_multi_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_pw_multi_aff_pullback_union_pw_multi_aff(isl.isl_union_pw_multi_aff_copy(args[0].ptr), isl.isl_union_pw_multi_aff_copy(args[1].ptr)) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj raise Error def pw_multi_aff_list(arg0): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_pw_multi_aff_get_pw_multi_aff_list(arg0.ptr) obj = pw_multi_aff_list(ctx=ctx, ptr=res) return obj def get_pw_multi_aff_list(arg0): return arg0.pw_multi_aff_list() def range_factor_domain(arg0): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_pw_multi_aff_range_factor_domain(isl.isl_union_pw_multi_aff_copy(arg0.ptr)) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj def range_factor_range(arg0): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_pw_multi_aff_range_factor_range(isl.isl_union_pw_multi_aff_copy(arg0.ptr)) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj def range_product(arg0, arg1): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is union_pw_multi_aff: arg1 = union_pw_multi_aff(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_pw_multi_aff_range_product(isl.isl_union_pw_multi_aff_copy(arg0.ptr), isl.isl_union_pw_multi_aff_copy(arg1.ptr)) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj def space(arg0): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_pw_multi_aff_get_space(arg0.ptr) obj = space(ctx=ctx, ptr=res) return obj def get_space(arg0): return arg0.space() def sub(arg0, arg1): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is union_pw_multi_aff: arg1 = union_pw_multi_aff(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_pw_multi_aff_sub(isl.isl_union_pw_multi_aff_copy(arg0.ptr), isl.isl_union_pw_multi_aff_copy(arg1.ptr)) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj def subtract_domain(*args): if len(args) == 2 and args[1].__class__ is space: args = list(args) try: if not args[0].__class__ is union_pw_multi_aff: args[0] = union_pw_multi_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_pw_multi_aff_subtract_domain_space(isl.isl_union_pw_multi_aff_copy(args[0].ptr), isl.isl_space_copy(args[1].ptr)) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is union_set: args = list(args) try: if not args[0].__class__ is union_pw_multi_aff: args[0] = union_pw_multi_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_pw_multi_aff_subtract_domain_union_set(isl.isl_union_pw_multi_aff_copy(args[0].ptr), isl.isl_union_set_copy(args[1].ptr)) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj raise Error def union_add(arg0, arg1): try: if not arg0.__class__ is union_pw_multi_aff: arg0 = union_pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is union_pw_multi_aff: arg1 = union_pw_multi_aff(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_pw_multi_aff_union_add(isl.isl_union_pw_multi_aff_copy(arg0.ptr), isl.isl_union_pw_multi_aff_copy(arg1.ptr)) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj isl.isl_union_pw_multi_aff_from_multi_aff.restype = c_void_p isl.isl_union_pw_multi_aff_from_multi_aff.argtypes = [c_void_p] isl.isl_union_pw_multi_aff_from_pw_multi_aff.restype = c_void_p isl.isl_union_pw_multi_aff_from_pw_multi_aff.argtypes = [c_void_p] isl.isl_union_pw_multi_aff_from_union_pw_aff.restype = c_void_p isl.isl_union_pw_multi_aff_from_union_pw_aff.argtypes = [c_void_p] isl.isl_union_pw_multi_aff_read_from_str.restype = c_void_p isl.isl_union_pw_multi_aff_read_from_str.argtypes = [Context, c_char_p] isl.isl_union_pw_multi_aff_add.restype = c_void_p isl.isl_union_pw_multi_aff_add.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_multi_aff_apply_union_pw_multi_aff.restype = c_void_p isl.isl_union_pw_multi_aff_apply_union_pw_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_multi_aff_as_multi_union_pw_aff.restype = c_void_p isl.isl_union_pw_multi_aff_as_multi_union_pw_aff.argtypes = [c_void_p] isl.isl_union_pw_multi_aff_as_pw_multi_aff.restype = c_void_p isl.isl_union_pw_multi_aff_as_pw_multi_aff.argtypes = [c_void_p] isl.isl_union_pw_multi_aff_as_union_map.restype = c_void_p isl.isl_union_pw_multi_aff_as_union_map.argtypes = [c_void_p] isl.isl_union_pw_multi_aff_coalesce.restype = c_void_p isl.isl_union_pw_multi_aff_coalesce.argtypes = [c_void_p] isl.isl_union_pw_multi_aff_domain.restype = c_void_p isl.isl_union_pw_multi_aff_domain.argtypes = [c_void_p] isl.isl_union_pw_multi_aff_drop_unused_params.restype = c_void_p isl.isl_union_pw_multi_aff_drop_unused_params.argtypes = [c_void_p] isl.isl_union_pw_multi_aff_empty_ctx.restype = c_void_p isl.isl_union_pw_multi_aff_empty_ctx.argtypes = [Context] isl.isl_union_pw_multi_aff_extract_pw_multi_aff.restype = c_void_p isl.isl_union_pw_multi_aff_extract_pw_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_multi_aff_flat_range_product.restype = c_void_p isl.isl_union_pw_multi_aff_flat_range_product.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_multi_aff_gist.restype = c_void_p isl.isl_union_pw_multi_aff_gist.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_multi_aff_intersect_domain_space.restype = c_void_p isl.isl_union_pw_multi_aff_intersect_domain_space.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_multi_aff_intersect_domain_union_set.restype = c_void_p isl.isl_union_pw_multi_aff_intersect_domain_union_set.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_multi_aff_intersect_domain_wrapped_domain.restype = c_void_p isl.isl_union_pw_multi_aff_intersect_domain_wrapped_domain.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_multi_aff_intersect_domain_wrapped_range.restype = c_void_p isl.isl_union_pw_multi_aff_intersect_domain_wrapped_range.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_multi_aff_intersect_params.restype = c_void_p isl.isl_union_pw_multi_aff_intersect_params.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_multi_aff_involves_locals.argtypes = [c_void_p] isl.isl_union_pw_multi_aff_isa_pw_multi_aff.argtypes = [c_void_p] isl.isl_union_pw_multi_aff_plain_is_empty.argtypes = [c_void_p] isl.isl_union_pw_multi_aff_plain_is_equal.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_multi_aff_preimage_domain_wrapped_domain_union_pw_multi_aff.restype = c_void_p isl.isl_union_pw_multi_aff_preimage_domain_wrapped_domain_union_pw_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_multi_aff_pullback_union_pw_multi_aff.restype = c_void_p isl.isl_union_pw_multi_aff_pullback_union_pw_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_multi_aff_get_pw_multi_aff_list.restype = c_void_p isl.isl_union_pw_multi_aff_get_pw_multi_aff_list.argtypes = [c_void_p] isl.isl_union_pw_multi_aff_range_factor_domain.restype = c_void_p isl.isl_union_pw_multi_aff_range_factor_domain.argtypes = [c_void_p] isl.isl_union_pw_multi_aff_range_factor_range.restype = c_void_p isl.isl_union_pw_multi_aff_range_factor_range.argtypes = [c_void_p] isl.isl_union_pw_multi_aff_range_product.restype = c_void_p isl.isl_union_pw_multi_aff_range_product.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_multi_aff_get_space.restype = c_void_p isl.isl_union_pw_multi_aff_get_space.argtypes = [c_void_p] isl.isl_union_pw_multi_aff_sub.restype = c_void_p isl.isl_union_pw_multi_aff_sub.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_multi_aff_subtract_domain_space.restype = c_void_p isl.isl_union_pw_multi_aff_subtract_domain_space.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_multi_aff_subtract_domain_union_set.restype = c_void_p isl.isl_union_pw_multi_aff_subtract_domain_union_set.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_multi_aff_union_add.restype = c_void_p isl.isl_union_pw_multi_aff_union_add.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_multi_aff_copy.restype = c_void_p isl.isl_union_pw_multi_aff_copy.argtypes = [c_void_p] isl.isl_union_pw_multi_aff_free.restype = c_void_p isl.isl_union_pw_multi_aff_free.argtypes = [c_void_p] isl.isl_union_pw_multi_aff_to_str.restype = POINTER(c_char) isl.isl_union_pw_multi_aff_to_str.argtypes = [c_void_p] class multi_union_pw_aff(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and args[0].__class__ is multi_pw_aff: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_multi_union_pw_aff_from_multi_pw_aff(isl.isl_multi_pw_aff_copy(args[0].ptr)) return if len(args) == 1 and args[0].__class__ is union_pw_aff: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_multi_union_pw_aff_from_union_pw_aff(isl.isl_union_pw_aff_copy(args[0].ptr)) return if len(args) == 2 and args[0].__class__ is space and args[1].__class__ is union_pw_aff_list: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_multi_union_pw_aff_from_union_pw_aff_list(isl.isl_space_copy(args[0].ptr), isl.isl_union_pw_aff_list_copy(args[1].ptr)) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_multi_union_pw_aff_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_multi_union_pw_aff_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is multi_union_pw_aff: arg0 = multi_union_pw_aff(arg0) except: raise ptr = isl.isl_multi_union_pw_aff_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.multi_union_pw_aff("""%s""")' % s else: return 'isl.multi_union_pw_aff("%s")' % s def add(arg0, arg1): try: if not arg0.__class__ is multi_union_pw_aff: arg0 = multi_union_pw_aff(arg0) except: raise try: if not arg1.__class__ is multi_union_pw_aff: arg1 = multi_union_pw_aff(arg1) except: raise ctx = arg0.ctx res = isl.isl_multi_union_pw_aff_add(isl.isl_multi_union_pw_aff_copy(arg0.ptr), isl.isl_multi_union_pw_aff_copy(arg1.ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj def at(arg0, arg1): try: if not arg0.__class__ is multi_union_pw_aff: arg0 = multi_union_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_union_pw_aff_get_at(arg0.ptr, arg1) obj = union_pw_aff(ctx=ctx, ptr=res) return obj def get_at(arg0, arg1): return arg0.at(arg1) def bind(arg0, arg1): try: if not arg0.__class__ is multi_union_pw_aff: arg0 = multi_union_pw_aff(arg0) except: raise try: if not arg1.__class__ is multi_id: arg1 = multi_id(arg1) except: raise ctx = arg0.ctx res = isl.isl_multi_union_pw_aff_bind(isl.isl_multi_union_pw_aff_copy(arg0.ptr), isl.isl_multi_id_copy(arg1.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def coalesce(arg0): try: if not arg0.__class__ is multi_union_pw_aff: arg0 = multi_union_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_union_pw_aff_coalesce(isl.isl_multi_union_pw_aff_copy(arg0.ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj def domain(arg0): try: if not arg0.__class__ is multi_union_pw_aff: arg0 = multi_union_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_union_pw_aff_domain(isl.isl_multi_union_pw_aff_copy(arg0.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def flat_range_product(arg0, arg1): try: if not arg0.__class__ is multi_union_pw_aff: arg0 = multi_union_pw_aff(arg0) except: raise try: if not arg1.__class__ is multi_union_pw_aff: arg1 = multi_union_pw_aff(arg1) except: raise ctx = arg0.ctx res = isl.isl_multi_union_pw_aff_flat_range_product(isl.isl_multi_union_pw_aff_copy(arg0.ptr), isl.isl_multi_union_pw_aff_copy(arg1.ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj def gist(arg0, arg1): try: if not arg0.__class__ is multi_union_pw_aff: arg0 = multi_union_pw_aff(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: raise ctx = arg0.ctx res = isl.isl_multi_union_pw_aff_gist(isl.isl_multi_union_pw_aff_copy(arg0.ptr), isl.isl_union_set_copy(arg1.ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj def gist_params(arg0, arg1): try: if not arg0.__class__ is multi_union_pw_aff: arg0 = multi_union_pw_aff(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: raise ctx = arg0.ctx res = isl.isl_multi_union_pw_aff_gist_params(isl.isl_multi_union_pw_aff_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj def has_range_tuple_id(arg0): try: if not arg0.__class__ is multi_union_pw_aff: arg0 = multi_union_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_union_pw_aff_has_range_tuple_id(arg0.ptr) if res < 0: raise Error return bool(res) def intersect_domain(arg0, arg1): try: if not arg0.__class__ is multi_union_pw_aff: arg0 = multi_union_pw_aff(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: raise ctx = arg0.ctx res = isl.isl_multi_union_pw_aff_intersect_domain(isl.isl_multi_union_pw_aff_copy(arg0.ptr), isl.isl_union_set_copy(arg1.ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj def intersect_params(arg0, arg1): try: if not arg0.__class__ is multi_union_pw_aff: arg0 = multi_union_pw_aff(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: raise ctx = arg0.ctx res = isl.isl_multi_union_pw_aff_intersect_params(isl.isl_multi_union_pw_aff_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj def involves_nan(arg0): try: if not arg0.__class__ is multi_union_pw_aff: arg0 = multi_union_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_union_pw_aff_involves_nan(arg0.ptr) if res < 0: raise Error return bool(res) def list(arg0): try: if not arg0.__class__ is multi_union_pw_aff: arg0 = multi_union_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_union_pw_aff_get_list(arg0.ptr) obj = union_pw_aff_list(ctx=ctx, ptr=res) return obj def get_list(arg0): return arg0.list() def neg(arg0): try: if not arg0.__class__ is multi_union_pw_aff: arg0 = multi_union_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_union_pw_aff_neg(isl.isl_multi_union_pw_aff_copy(arg0.ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj def plain_is_equal(arg0, arg1): try: if not arg0.__class__ is multi_union_pw_aff: arg0 = multi_union_pw_aff(arg0) except: raise try: if not arg1.__class__ is multi_union_pw_aff: arg1 = multi_union_pw_aff(arg1) except: raise ctx = arg0.ctx res = isl.isl_multi_union_pw_aff_plain_is_equal(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def pullback(*args): if len(args) == 2 and args[1].__class__ is union_pw_multi_aff: args = list(args) try: if not args[0].__class__ is multi_union_pw_aff: args[0] = multi_union_pw_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_multi_union_pw_aff_pullback_union_pw_multi_aff(isl.isl_multi_union_pw_aff_copy(args[0].ptr), isl.isl_union_pw_multi_aff_copy(args[1].ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj raise Error def range_product(arg0, arg1): try: if not arg0.__class__ is multi_union_pw_aff: arg0 = multi_union_pw_aff(arg0) except: raise try: if not arg1.__class__ is multi_union_pw_aff: arg1 = multi_union_pw_aff(arg1) except: raise ctx = arg0.ctx res = isl.isl_multi_union_pw_aff_range_product(isl.isl_multi_union_pw_aff_copy(arg0.ptr), isl.isl_multi_union_pw_aff_copy(arg1.ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj def range_tuple_id(arg0): try: if not arg0.__class__ is multi_union_pw_aff: arg0 = multi_union_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_union_pw_aff_get_range_tuple_id(arg0.ptr) obj = id(ctx=ctx, ptr=res) return obj def get_range_tuple_id(arg0): return arg0.range_tuple_id() def reset_range_tuple_id(arg0): try: if not arg0.__class__ is multi_union_pw_aff: arg0 = multi_union_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_union_pw_aff_reset_range_tuple_id(isl.isl_multi_union_pw_aff_copy(arg0.ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj def scale(*args): if len(args) == 2 and args[1].__class__ is multi_val: args = list(args) try: if not args[0].__class__ is multi_union_pw_aff: args[0] = multi_union_pw_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_multi_union_pw_aff_scale_multi_val(isl.isl_multi_union_pw_aff_copy(args[0].ptr), isl.isl_multi_val_copy(args[1].ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is multi_union_pw_aff: args[0] = multi_union_pw_aff(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_multi_union_pw_aff_scale_val(isl.isl_multi_union_pw_aff_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj raise Error def scale_down(*args): if len(args) == 2 and args[1].__class__ is multi_val: args = list(args) try: if not args[0].__class__ is multi_union_pw_aff: args[0] = multi_union_pw_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_multi_union_pw_aff_scale_down_multi_val(isl.isl_multi_union_pw_aff_copy(args[0].ptr), isl.isl_multi_val_copy(args[1].ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is multi_union_pw_aff: args[0] = multi_union_pw_aff(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_multi_union_pw_aff_scale_down_val(isl.isl_multi_union_pw_aff_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj raise Error def set_at(arg0, arg1, arg2): try: if not arg0.__class__ is multi_union_pw_aff: arg0 = multi_union_pw_aff(arg0) except: raise try: if not arg2.__class__ is union_pw_aff: arg2 = union_pw_aff(arg2) except: raise ctx = arg0.ctx res = isl.isl_multi_union_pw_aff_set_at(isl.isl_multi_union_pw_aff_copy(arg0.ptr), arg1, isl.isl_union_pw_aff_copy(arg2.ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj def set_range_tuple(*args): if len(args) == 2 and (args[1].__class__ is id or type(args[1]) == str): args = list(args) try: if not args[0].__class__ is multi_union_pw_aff: args[0] = multi_union_pw_aff(args[0]) except: raise try: if not args[1].__class__ is id: args[1] = id(args[1]) except: raise ctx = args[0].ctx res = isl.isl_multi_union_pw_aff_set_range_tuple_id(isl.isl_multi_union_pw_aff_copy(args[0].ptr), isl.isl_id_copy(args[1].ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj raise Error def size(arg0): try: if not arg0.__class__ is multi_union_pw_aff: arg0 = multi_union_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_union_pw_aff_size(arg0.ptr) if res < 0: raise Error return int(res) def space(arg0): try: if not arg0.__class__ is multi_union_pw_aff: arg0 = multi_union_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_union_pw_aff_get_space(arg0.ptr) obj = space(ctx=ctx, ptr=res) return obj def get_space(arg0): return arg0.space() def sub(arg0, arg1): try: if not arg0.__class__ is multi_union_pw_aff: arg0 = multi_union_pw_aff(arg0) except: raise try: if not arg1.__class__ is multi_union_pw_aff: arg1 = multi_union_pw_aff(arg1) except: raise ctx = arg0.ctx res = isl.isl_multi_union_pw_aff_sub(isl.isl_multi_union_pw_aff_copy(arg0.ptr), isl.isl_multi_union_pw_aff_copy(arg1.ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj def union_add(arg0, arg1): try: if not arg0.__class__ is multi_union_pw_aff: arg0 = multi_union_pw_aff(arg0) except: raise try: if not arg1.__class__ is multi_union_pw_aff: arg1 = multi_union_pw_aff(arg1) except: raise ctx = arg0.ctx res = isl.isl_multi_union_pw_aff_union_add(isl.isl_multi_union_pw_aff_copy(arg0.ptr), isl.isl_multi_union_pw_aff_copy(arg1.ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj @staticmethod def zero(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_union_pw_aff_zero(isl.isl_space_copy(arg0.ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj isl.isl_multi_union_pw_aff_from_multi_pw_aff.restype = c_void_p isl.isl_multi_union_pw_aff_from_multi_pw_aff.argtypes = [c_void_p] isl.isl_multi_union_pw_aff_from_union_pw_aff.restype = c_void_p isl.isl_multi_union_pw_aff_from_union_pw_aff.argtypes = [c_void_p] isl.isl_multi_union_pw_aff_from_union_pw_aff_list.restype = c_void_p isl.isl_multi_union_pw_aff_from_union_pw_aff_list.argtypes = [c_void_p, c_void_p] isl.isl_multi_union_pw_aff_read_from_str.restype = c_void_p isl.isl_multi_union_pw_aff_read_from_str.argtypes = [Context, c_char_p] isl.isl_multi_union_pw_aff_add.restype = c_void_p isl.isl_multi_union_pw_aff_add.argtypes = [c_void_p, c_void_p] isl.isl_multi_union_pw_aff_get_at.restype = c_void_p isl.isl_multi_union_pw_aff_get_at.argtypes = [c_void_p, c_int] isl.isl_multi_union_pw_aff_bind.restype = c_void_p isl.isl_multi_union_pw_aff_bind.argtypes = [c_void_p, c_void_p] isl.isl_multi_union_pw_aff_coalesce.restype = c_void_p isl.isl_multi_union_pw_aff_coalesce.argtypes = [c_void_p] isl.isl_multi_union_pw_aff_domain.restype = c_void_p isl.isl_multi_union_pw_aff_domain.argtypes = [c_void_p] isl.isl_multi_union_pw_aff_flat_range_product.restype = c_void_p isl.isl_multi_union_pw_aff_flat_range_product.argtypes = [c_void_p, c_void_p] isl.isl_multi_union_pw_aff_gist.restype = c_void_p isl.isl_multi_union_pw_aff_gist.argtypes = [c_void_p, c_void_p] isl.isl_multi_union_pw_aff_gist_params.restype = c_void_p isl.isl_multi_union_pw_aff_gist_params.argtypes = [c_void_p, c_void_p] isl.isl_multi_union_pw_aff_has_range_tuple_id.argtypes = [c_void_p] isl.isl_multi_union_pw_aff_intersect_domain.restype = c_void_p isl.isl_multi_union_pw_aff_intersect_domain.argtypes = [c_void_p, c_void_p] isl.isl_multi_union_pw_aff_intersect_params.restype = c_void_p isl.isl_multi_union_pw_aff_intersect_params.argtypes = [c_void_p, c_void_p] isl.isl_multi_union_pw_aff_involves_nan.argtypes = [c_void_p] isl.isl_multi_union_pw_aff_get_list.restype = c_void_p isl.isl_multi_union_pw_aff_get_list.argtypes = [c_void_p] isl.isl_multi_union_pw_aff_neg.restype = c_void_p isl.isl_multi_union_pw_aff_neg.argtypes = [c_void_p] isl.isl_multi_union_pw_aff_plain_is_equal.argtypes = [c_void_p, c_void_p] isl.isl_multi_union_pw_aff_pullback_union_pw_multi_aff.restype = c_void_p isl.isl_multi_union_pw_aff_pullback_union_pw_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_multi_union_pw_aff_range_product.restype = c_void_p isl.isl_multi_union_pw_aff_range_product.argtypes = [c_void_p, c_void_p] isl.isl_multi_union_pw_aff_get_range_tuple_id.restype = c_void_p isl.isl_multi_union_pw_aff_get_range_tuple_id.argtypes = [c_void_p] isl.isl_multi_union_pw_aff_reset_range_tuple_id.restype = c_void_p isl.isl_multi_union_pw_aff_reset_range_tuple_id.argtypes = [c_void_p] isl.isl_multi_union_pw_aff_scale_multi_val.restype = c_void_p isl.isl_multi_union_pw_aff_scale_multi_val.argtypes = [c_void_p, c_void_p] isl.isl_multi_union_pw_aff_scale_val.restype = c_void_p isl.isl_multi_union_pw_aff_scale_val.argtypes = [c_void_p, c_void_p] isl.isl_multi_union_pw_aff_scale_down_multi_val.restype = c_void_p isl.isl_multi_union_pw_aff_scale_down_multi_val.argtypes = [c_void_p, c_void_p] isl.isl_multi_union_pw_aff_scale_down_val.restype = c_void_p isl.isl_multi_union_pw_aff_scale_down_val.argtypes = [c_void_p, c_void_p] isl.isl_multi_union_pw_aff_set_at.restype = c_void_p isl.isl_multi_union_pw_aff_set_at.argtypes = [c_void_p, c_int, c_void_p] isl.isl_multi_union_pw_aff_set_range_tuple_id.restype = c_void_p isl.isl_multi_union_pw_aff_set_range_tuple_id.argtypes = [c_void_p, c_void_p] isl.isl_multi_union_pw_aff_size.argtypes = [c_void_p] isl.isl_multi_union_pw_aff_get_space.restype = c_void_p isl.isl_multi_union_pw_aff_get_space.argtypes = [c_void_p] isl.isl_multi_union_pw_aff_sub.restype = c_void_p isl.isl_multi_union_pw_aff_sub.argtypes = [c_void_p, c_void_p] isl.isl_multi_union_pw_aff_union_add.restype = c_void_p isl.isl_multi_union_pw_aff_union_add.argtypes = [c_void_p, c_void_p] isl.isl_multi_union_pw_aff_zero.restype = c_void_p isl.isl_multi_union_pw_aff_zero.argtypes = [c_void_p] isl.isl_multi_union_pw_aff_copy.restype = c_void_p isl.isl_multi_union_pw_aff_copy.argtypes = [c_void_p] isl.isl_multi_union_pw_aff_free.restype = c_void_p isl.isl_multi_union_pw_aff_free.argtypes = [c_void_p] isl.isl_multi_union_pw_aff_to_str.restype = POINTER(c_char) isl.isl_multi_union_pw_aff_to_str.argtypes = [c_void_p] class union_pw_aff(union_pw_multi_aff, multi_union_pw_aff): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and args[0].__class__ is aff: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_union_pw_aff_from_aff(isl.isl_aff_copy(args[0].ptr)) return if len(args) == 1 and args[0].__class__ is pw_aff: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_union_pw_aff_from_pw_aff(isl.isl_pw_aff_copy(args[0].ptr)) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_union_pw_aff_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_union_pw_aff_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is union_pw_aff: arg0 = union_pw_aff(arg0) except: raise ptr = isl.isl_union_pw_aff_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.union_pw_aff("""%s""")' % s else: return 'isl.union_pw_aff("%s")' % s def add(arg0, arg1): try: if not arg0.__class__ is union_pw_aff: arg0 = union_pw_aff(arg0) except: raise try: if not arg1.__class__ is union_pw_aff: arg1 = union_pw_aff(arg1) except: return union_pw_multi_aff(arg0).add(arg1) ctx = arg0.ctx res = isl.isl_union_pw_aff_add(isl.isl_union_pw_aff_copy(arg0.ptr), isl.isl_union_pw_aff_copy(arg1.ptr)) obj = union_pw_aff(ctx=ctx, ptr=res) return obj def bind(*args): if len(args) == 2 and (args[1].__class__ is id or type(args[1]) == str): args = list(args) try: if not args[0].__class__ is union_pw_aff: args[0] = union_pw_aff(args[0]) except: raise try: if not args[1].__class__ is id: args[1] = id(args[1]) except: raise ctx = args[0].ctx res = isl.isl_union_pw_aff_bind_id(isl.isl_union_pw_aff_copy(args[0].ptr), isl.isl_id_copy(args[1].ptr)) obj = union_set(ctx=ctx, ptr=res) return obj raise Error def coalesce(arg0): try: if not arg0.__class__ is union_pw_aff: arg0 = union_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_pw_aff_coalesce(isl.isl_union_pw_aff_copy(arg0.ptr)) obj = union_pw_aff(ctx=ctx, ptr=res) return obj def domain(arg0): try: if not arg0.__class__ is union_pw_aff: arg0 = union_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_pw_aff_domain(isl.isl_union_pw_aff_copy(arg0.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def drop_unused_params(arg0): try: if not arg0.__class__ is union_pw_aff: arg0 = union_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_pw_aff_drop_unused_params(isl.isl_union_pw_aff_copy(arg0.ptr)) obj = union_pw_aff(ctx=ctx, ptr=res) return obj def gist(arg0, arg1): try: if not arg0.__class__ is union_pw_aff: arg0 = union_pw_aff(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: return union_pw_multi_aff(arg0).gist(arg1) ctx = arg0.ctx res = isl.isl_union_pw_aff_gist(isl.isl_union_pw_aff_copy(arg0.ptr), isl.isl_union_set_copy(arg1.ptr)) obj = union_pw_aff(ctx=ctx, ptr=res) return obj def intersect_domain(*args): if len(args) == 2 and args[1].__class__ is space: args = list(args) try: if not args[0].__class__ is union_pw_aff: args[0] = union_pw_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_pw_aff_intersect_domain_space(isl.isl_union_pw_aff_copy(args[0].ptr), isl.isl_space_copy(args[1].ptr)) obj = union_pw_aff(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is union_set: args = list(args) try: if not args[0].__class__ is union_pw_aff: args[0] = union_pw_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_pw_aff_intersect_domain_union_set(isl.isl_union_pw_aff_copy(args[0].ptr), isl.isl_union_set_copy(args[1].ptr)) obj = union_pw_aff(ctx=ctx, ptr=res) return obj raise Error def intersect_domain_wrapped_domain(arg0, arg1): try: if not arg0.__class__ is union_pw_aff: arg0 = union_pw_aff(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: return union_pw_multi_aff(arg0).intersect_domain_wrapped_domain(arg1) ctx = arg0.ctx res = isl.isl_union_pw_aff_intersect_domain_wrapped_domain(isl.isl_union_pw_aff_copy(arg0.ptr), isl.isl_union_set_copy(arg1.ptr)) obj = union_pw_aff(ctx=ctx, ptr=res) return obj def intersect_domain_wrapped_range(arg0, arg1): try: if not arg0.__class__ is union_pw_aff: arg0 = union_pw_aff(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: return union_pw_multi_aff(arg0).intersect_domain_wrapped_range(arg1) ctx = arg0.ctx res = isl.isl_union_pw_aff_intersect_domain_wrapped_range(isl.isl_union_pw_aff_copy(arg0.ptr), isl.isl_union_set_copy(arg1.ptr)) obj = union_pw_aff(ctx=ctx, ptr=res) return obj def intersect_params(arg0, arg1): try: if not arg0.__class__ is union_pw_aff: arg0 = union_pw_aff(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_pw_multi_aff(arg0).intersect_params(arg1) ctx = arg0.ctx res = isl.isl_union_pw_aff_intersect_params(isl.isl_union_pw_aff_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = union_pw_aff(ctx=ctx, ptr=res) return obj def plain_is_equal(arg0, arg1): try: if not arg0.__class__ is union_pw_aff: arg0 = union_pw_aff(arg0) except: raise try: if not arg1.__class__ is union_pw_aff: arg1 = union_pw_aff(arg1) except: return union_pw_multi_aff(arg0).plain_is_equal(arg1) ctx = arg0.ctx res = isl.isl_union_pw_aff_plain_is_equal(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def pullback(*args): if len(args) == 2 and args[1].__class__ is union_pw_multi_aff: args = list(args) try: if not args[0].__class__ is union_pw_aff: args[0] = union_pw_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_pw_aff_pullback_union_pw_multi_aff(isl.isl_union_pw_aff_copy(args[0].ptr), isl.isl_union_pw_multi_aff_copy(args[1].ptr)) obj = union_pw_aff(ctx=ctx, ptr=res) return obj raise Error def space(arg0): try: if not arg0.__class__ is union_pw_aff: arg0 = union_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_pw_aff_get_space(arg0.ptr) obj = space(ctx=ctx, ptr=res) return obj def get_space(arg0): return arg0.space() def sub(arg0, arg1): try: if not arg0.__class__ is union_pw_aff: arg0 = union_pw_aff(arg0) except: raise try: if not arg1.__class__ is union_pw_aff: arg1 = union_pw_aff(arg1) except: return union_pw_multi_aff(arg0).sub(arg1) ctx = arg0.ctx res = isl.isl_union_pw_aff_sub(isl.isl_union_pw_aff_copy(arg0.ptr), isl.isl_union_pw_aff_copy(arg1.ptr)) obj = union_pw_aff(ctx=ctx, ptr=res) return obj def subtract_domain(*args): if len(args) == 2 and args[1].__class__ is space: args = list(args) try: if not args[0].__class__ is union_pw_aff: args[0] = union_pw_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_pw_aff_subtract_domain_space(isl.isl_union_pw_aff_copy(args[0].ptr), isl.isl_space_copy(args[1].ptr)) obj = union_pw_aff(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is union_set: args = list(args) try: if not args[0].__class__ is union_pw_aff: args[0] = union_pw_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_pw_aff_subtract_domain_union_set(isl.isl_union_pw_aff_copy(args[0].ptr), isl.isl_union_set_copy(args[1].ptr)) obj = union_pw_aff(ctx=ctx, ptr=res) return obj raise Error def to_list(arg0): try: if not arg0.__class__ is union_pw_aff: arg0 = union_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_pw_aff_to_list(isl.isl_union_pw_aff_copy(arg0.ptr)) obj = union_pw_aff_list(ctx=ctx, ptr=res) return obj def union_add(arg0, arg1): try: if not arg0.__class__ is union_pw_aff: arg0 = union_pw_aff(arg0) except: raise try: if not arg1.__class__ is union_pw_aff: arg1 = union_pw_aff(arg1) except: return union_pw_multi_aff(arg0).union_add(arg1) ctx = arg0.ctx res = isl.isl_union_pw_aff_union_add(isl.isl_union_pw_aff_copy(arg0.ptr), isl.isl_union_pw_aff_copy(arg1.ptr)) obj = union_pw_aff(ctx=ctx, ptr=res) return obj isl.isl_union_pw_aff_from_aff.restype = c_void_p isl.isl_union_pw_aff_from_aff.argtypes = [c_void_p] isl.isl_union_pw_aff_from_pw_aff.restype = c_void_p isl.isl_union_pw_aff_from_pw_aff.argtypes = [c_void_p] isl.isl_union_pw_aff_read_from_str.restype = c_void_p isl.isl_union_pw_aff_read_from_str.argtypes = [Context, c_char_p] isl.isl_union_pw_aff_add.restype = c_void_p isl.isl_union_pw_aff_add.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_aff_bind_id.restype = c_void_p isl.isl_union_pw_aff_bind_id.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_aff_coalesce.restype = c_void_p isl.isl_union_pw_aff_coalesce.argtypes = [c_void_p] isl.isl_union_pw_aff_domain.restype = c_void_p isl.isl_union_pw_aff_domain.argtypes = [c_void_p] isl.isl_union_pw_aff_drop_unused_params.restype = c_void_p isl.isl_union_pw_aff_drop_unused_params.argtypes = [c_void_p] isl.isl_union_pw_aff_gist.restype = c_void_p isl.isl_union_pw_aff_gist.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_aff_intersect_domain_space.restype = c_void_p isl.isl_union_pw_aff_intersect_domain_space.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_aff_intersect_domain_union_set.restype = c_void_p isl.isl_union_pw_aff_intersect_domain_union_set.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_aff_intersect_domain_wrapped_domain.restype = c_void_p isl.isl_union_pw_aff_intersect_domain_wrapped_domain.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_aff_intersect_domain_wrapped_range.restype = c_void_p isl.isl_union_pw_aff_intersect_domain_wrapped_range.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_aff_intersect_params.restype = c_void_p isl.isl_union_pw_aff_intersect_params.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_aff_plain_is_equal.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_aff_pullback_union_pw_multi_aff.restype = c_void_p isl.isl_union_pw_aff_pullback_union_pw_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_aff_get_space.restype = c_void_p isl.isl_union_pw_aff_get_space.argtypes = [c_void_p] isl.isl_union_pw_aff_sub.restype = c_void_p isl.isl_union_pw_aff_sub.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_aff_subtract_domain_space.restype = c_void_p isl.isl_union_pw_aff_subtract_domain_space.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_aff_subtract_domain_union_set.restype = c_void_p isl.isl_union_pw_aff_subtract_domain_union_set.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_aff_to_list.restype = c_void_p isl.isl_union_pw_aff_to_list.argtypes = [c_void_p] isl.isl_union_pw_aff_union_add.restype = c_void_p isl.isl_union_pw_aff_union_add.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_aff_copy.restype = c_void_p isl.isl_union_pw_aff_copy.argtypes = [c_void_p] isl.isl_union_pw_aff_free.restype = c_void_p isl.isl_union_pw_aff_free.argtypes = [c_void_p] isl.isl_union_pw_aff_to_str.restype = POINTER(c_char) isl.isl_union_pw_aff_to_str.argtypes = [c_void_p] class multi_pw_aff(multi_union_pw_aff): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and args[0].__class__ is aff: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_multi_pw_aff_from_aff(isl.isl_aff_copy(args[0].ptr)) return if len(args) == 1 and args[0].__class__ is multi_aff: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_multi_pw_aff_from_multi_aff(isl.isl_multi_aff_copy(args[0].ptr)) return if len(args) == 1 and args[0].__class__ is pw_aff: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_multi_pw_aff_from_pw_aff(isl.isl_pw_aff_copy(args[0].ptr)) return if len(args) == 2 and args[0].__class__ is space and args[1].__class__ is pw_aff_list: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_multi_pw_aff_from_pw_aff_list(isl.isl_space_copy(args[0].ptr), isl.isl_pw_aff_list_copy(args[1].ptr)) return if len(args) == 1 and args[0].__class__ is pw_multi_aff: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_multi_pw_aff_from_pw_multi_aff(isl.isl_pw_multi_aff_copy(args[0].ptr)) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_multi_pw_aff_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_multi_pw_aff_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise ptr = isl.isl_multi_pw_aff_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.multi_pw_aff("""%s""")' % s else: return 'isl.multi_pw_aff("%s")' % s def add(arg0, arg1): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise try: if not arg1.__class__ is multi_pw_aff: arg1 = multi_pw_aff(arg1) except: return multi_union_pw_aff(arg0).add(arg1) ctx = arg0.ctx res = isl.isl_multi_pw_aff_add(isl.isl_multi_pw_aff_copy(arg0.ptr), isl.isl_multi_pw_aff_copy(arg1.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def add_constant(*args): if len(args) == 2 and args[1].__class__ is multi_val: args = list(args) try: if not args[0].__class__ is multi_pw_aff: args[0] = multi_pw_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_multi_pw_aff_add_constant_multi_val(isl.isl_multi_pw_aff_copy(args[0].ptr), isl.isl_multi_val_copy(args[1].ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is multi_pw_aff: args[0] = multi_pw_aff(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_multi_pw_aff_add_constant_val(isl.isl_multi_pw_aff_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj raise Error def as_map(arg0): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_pw_aff_as_map(isl.isl_multi_pw_aff_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def as_multi_aff(arg0): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_pw_aff_as_multi_aff(isl.isl_multi_pw_aff_copy(arg0.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj def as_set(arg0): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_pw_aff_as_set(isl.isl_multi_pw_aff_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def at(arg0, arg1): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_pw_aff_get_at(arg0.ptr, arg1) obj = pw_aff(ctx=ctx, ptr=res) return obj def get_at(arg0, arg1): return arg0.at(arg1) def bind(arg0, arg1): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise try: if not arg1.__class__ is multi_id: arg1 = multi_id(arg1) except: return multi_union_pw_aff(arg0).bind(arg1) ctx = arg0.ctx res = isl.isl_multi_pw_aff_bind(isl.isl_multi_pw_aff_copy(arg0.ptr), isl.isl_multi_id_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def bind_domain(arg0, arg1): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise try: if not arg1.__class__ is multi_id: arg1 = multi_id(arg1) except: return multi_union_pw_aff(arg0).bind_domain(arg1) ctx = arg0.ctx res = isl.isl_multi_pw_aff_bind_domain(isl.isl_multi_pw_aff_copy(arg0.ptr), isl.isl_multi_id_copy(arg1.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def bind_domain_wrapped_domain(arg0, arg1): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise try: if not arg1.__class__ is multi_id: arg1 = multi_id(arg1) except: return multi_union_pw_aff(arg0).bind_domain_wrapped_domain(arg1) ctx = arg0.ctx res = isl.isl_multi_pw_aff_bind_domain_wrapped_domain(isl.isl_multi_pw_aff_copy(arg0.ptr), isl.isl_multi_id_copy(arg1.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def coalesce(arg0): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_pw_aff_coalesce(isl.isl_multi_pw_aff_copy(arg0.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def domain(arg0): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_pw_aff_domain(isl.isl_multi_pw_aff_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def domain_reverse(arg0): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_pw_aff_domain_reverse(isl.isl_multi_pw_aff_copy(arg0.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def flat_range_product(arg0, arg1): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise try: if not arg1.__class__ is multi_pw_aff: arg1 = multi_pw_aff(arg1) except: return multi_union_pw_aff(arg0).flat_range_product(arg1) ctx = arg0.ctx res = isl.isl_multi_pw_aff_flat_range_product(isl.isl_multi_pw_aff_copy(arg0.ptr), isl.isl_multi_pw_aff_copy(arg1.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def gist(arg0, arg1): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return multi_union_pw_aff(arg0).gist(arg1) ctx = arg0.ctx res = isl.isl_multi_pw_aff_gist(isl.isl_multi_pw_aff_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def gist_params(arg0, arg1): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return multi_union_pw_aff(arg0).gist_params(arg1) ctx = arg0.ctx res = isl.isl_multi_pw_aff_gist_params(isl.isl_multi_pw_aff_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def has_range_tuple_id(arg0): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_pw_aff_has_range_tuple_id(arg0.ptr) if res < 0: raise Error return bool(res) def identity(*args): if len(args) == 1: args = list(args) try: if not args[0].__class__ is multi_pw_aff: args[0] = multi_pw_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_multi_pw_aff_identity_multi_pw_aff(isl.isl_multi_pw_aff_copy(args[0].ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj raise Error @staticmethod def identity_on_domain(*args): if len(args) == 1 and args[0].__class__ is space: ctx = args[0].ctx res = isl.isl_multi_pw_aff_identity_on_domain_space(isl.isl_space_copy(args[0].ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj raise Error def insert_domain(arg0, arg1): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise try: if not arg1.__class__ is space: arg1 = space(arg1) except: return multi_union_pw_aff(arg0).insert_domain(arg1) ctx = arg0.ctx res = isl.isl_multi_pw_aff_insert_domain(isl.isl_multi_pw_aff_copy(arg0.ptr), isl.isl_space_copy(arg1.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def intersect_domain(arg0, arg1): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return multi_union_pw_aff(arg0).intersect_domain(arg1) ctx = arg0.ctx res = isl.isl_multi_pw_aff_intersect_domain(isl.isl_multi_pw_aff_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def intersect_params(arg0, arg1): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return multi_union_pw_aff(arg0).intersect_params(arg1) ctx = arg0.ctx res = isl.isl_multi_pw_aff_intersect_params(isl.isl_multi_pw_aff_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def involves_nan(arg0): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_pw_aff_involves_nan(arg0.ptr) if res < 0: raise Error return bool(res) def involves_param(*args): if len(args) == 2 and (args[1].__class__ is id or type(args[1]) == str): args = list(args) try: if not args[0].__class__ is multi_pw_aff: args[0] = multi_pw_aff(args[0]) except: raise try: if not args[1].__class__ is id: args[1] = id(args[1]) except: raise ctx = args[0].ctx res = isl.isl_multi_pw_aff_involves_param_id(args[0].ptr, args[1].ptr) if res < 0: raise Error return bool(res) if len(args) == 2 and args[1].__class__ is id_list: args = list(args) try: if not args[0].__class__ is multi_pw_aff: args[0] = multi_pw_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_multi_pw_aff_involves_param_id_list(args[0].ptr, args[1].ptr) if res < 0: raise Error return bool(res) raise Error def isa_multi_aff(arg0): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_pw_aff_isa_multi_aff(arg0.ptr) if res < 0: raise Error return bool(res) def list(arg0): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_pw_aff_get_list(arg0.ptr) obj = pw_aff_list(ctx=ctx, ptr=res) return obj def get_list(arg0): return arg0.list() def max(arg0, arg1): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise try: if not arg1.__class__ is multi_pw_aff: arg1 = multi_pw_aff(arg1) except: return multi_union_pw_aff(arg0).max(arg1) ctx = arg0.ctx res = isl.isl_multi_pw_aff_max(isl.isl_multi_pw_aff_copy(arg0.ptr), isl.isl_multi_pw_aff_copy(arg1.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def max_multi_val(arg0): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_pw_aff_max_multi_val(isl.isl_multi_pw_aff_copy(arg0.ptr)) obj = multi_val(ctx=ctx, ptr=res) return obj def min(arg0, arg1): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise try: if not arg1.__class__ is multi_pw_aff: arg1 = multi_pw_aff(arg1) except: return multi_union_pw_aff(arg0).min(arg1) ctx = arg0.ctx res = isl.isl_multi_pw_aff_min(isl.isl_multi_pw_aff_copy(arg0.ptr), isl.isl_multi_pw_aff_copy(arg1.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def min_multi_val(arg0): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_pw_aff_min_multi_val(isl.isl_multi_pw_aff_copy(arg0.ptr)) obj = multi_val(ctx=ctx, ptr=res) return obj def neg(arg0): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_pw_aff_neg(isl.isl_multi_pw_aff_copy(arg0.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def plain_is_equal(arg0, arg1): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise try: if not arg1.__class__ is multi_pw_aff: arg1 = multi_pw_aff(arg1) except: return multi_union_pw_aff(arg0).plain_is_equal(arg1) ctx = arg0.ctx res = isl.isl_multi_pw_aff_plain_is_equal(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def product(arg0, arg1): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise try: if not arg1.__class__ is multi_pw_aff: arg1 = multi_pw_aff(arg1) except: return multi_union_pw_aff(arg0).product(arg1) ctx = arg0.ctx res = isl.isl_multi_pw_aff_product(isl.isl_multi_pw_aff_copy(arg0.ptr), isl.isl_multi_pw_aff_copy(arg1.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def pullback(*args): if len(args) == 2 and args[1].__class__ is multi_aff: args = list(args) try: if not args[0].__class__ is multi_pw_aff: args[0] = multi_pw_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_multi_pw_aff_pullback_multi_aff(isl.isl_multi_pw_aff_copy(args[0].ptr), isl.isl_multi_aff_copy(args[1].ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is multi_pw_aff: args = list(args) try: if not args[0].__class__ is multi_pw_aff: args[0] = multi_pw_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_multi_pw_aff_pullback_multi_pw_aff(isl.isl_multi_pw_aff_copy(args[0].ptr), isl.isl_multi_pw_aff_copy(args[1].ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is pw_multi_aff: args = list(args) try: if not args[0].__class__ is multi_pw_aff: args[0] = multi_pw_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_multi_pw_aff_pullback_pw_multi_aff(isl.isl_multi_pw_aff_copy(args[0].ptr), isl.isl_pw_multi_aff_copy(args[1].ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj raise Error def range_product(arg0, arg1): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise try: if not arg1.__class__ is multi_pw_aff: arg1 = multi_pw_aff(arg1) except: return multi_union_pw_aff(arg0).range_product(arg1) ctx = arg0.ctx res = isl.isl_multi_pw_aff_range_product(isl.isl_multi_pw_aff_copy(arg0.ptr), isl.isl_multi_pw_aff_copy(arg1.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def range_tuple_id(arg0): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_pw_aff_get_range_tuple_id(arg0.ptr) obj = id(ctx=ctx, ptr=res) return obj def get_range_tuple_id(arg0): return arg0.range_tuple_id() def reset_range_tuple_id(arg0): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_pw_aff_reset_range_tuple_id(isl.isl_multi_pw_aff_copy(arg0.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def scale(*args): if len(args) == 2 and args[1].__class__ is multi_val: args = list(args) try: if not args[0].__class__ is multi_pw_aff: args[0] = multi_pw_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_multi_pw_aff_scale_multi_val(isl.isl_multi_pw_aff_copy(args[0].ptr), isl.isl_multi_val_copy(args[1].ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is multi_pw_aff: args[0] = multi_pw_aff(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_multi_pw_aff_scale_val(isl.isl_multi_pw_aff_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj raise Error def scale_down(*args): if len(args) == 2 and args[1].__class__ is multi_val: args = list(args) try: if not args[0].__class__ is multi_pw_aff: args[0] = multi_pw_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_multi_pw_aff_scale_down_multi_val(isl.isl_multi_pw_aff_copy(args[0].ptr), isl.isl_multi_val_copy(args[1].ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is multi_pw_aff: args[0] = multi_pw_aff(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_multi_pw_aff_scale_down_val(isl.isl_multi_pw_aff_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj raise Error def set_at(arg0, arg1, arg2): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise try: if not arg2.__class__ is pw_aff: arg2 = pw_aff(arg2) except: return multi_union_pw_aff(arg0).set_at(arg1, arg2) ctx = arg0.ctx res = isl.isl_multi_pw_aff_set_at(isl.isl_multi_pw_aff_copy(arg0.ptr), arg1, isl.isl_pw_aff_copy(arg2.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def set_range_tuple(*args): if len(args) == 2 and (args[1].__class__ is id or type(args[1]) == str): args = list(args) try: if not args[0].__class__ is multi_pw_aff: args[0] = multi_pw_aff(args[0]) except: raise try: if not args[1].__class__ is id: args[1] = id(args[1]) except: raise ctx = args[0].ctx res = isl.isl_multi_pw_aff_set_range_tuple_id(isl.isl_multi_pw_aff_copy(args[0].ptr), isl.isl_id_copy(args[1].ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj raise Error def size(arg0): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_pw_aff_size(arg0.ptr) if res < 0: raise Error return int(res) def space(arg0): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_pw_aff_get_space(arg0.ptr) obj = space(ctx=ctx, ptr=res) return obj def get_space(arg0): return arg0.space() def sub(arg0, arg1): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise try: if not arg1.__class__ is multi_pw_aff: arg1 = multi_pw_aff(arg1) except: return multi_union_pw_aff(arg0).sub(arg1) ctx = arg0.ctx res = isl.isl_multi_pw_aff_sub(isl.isl_multi_pw_aff_copy(arg0.ptr), isl.isl_multi_pw_aff_copy(arg1.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def unbind_params_insert_domain(arg0, arg1): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise try: if not arg1.__class__ is multi_id: arg1 = multi_id(arg1) except: return multi_union_pw_aff(arg0).unbind_params_insert_domain(arg1) ctx = arg0.ctx res = isl.isl_multi_pw_aff_unbind_params_insert_domain(isl.isl_multi_pw_aff_copy(arg0.ptr), isl.isl_multi_id_copy(arg1.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def union_add(arg0, arg1): try: if not arg0.__class__ is multi_pw_aff: arg0 = multi_pw_aff(arg0) except: raise try: if not arg1.__class__ is multi_pw_aff: arg1 = multi_pw_aff(arg1) except: return multi_union_pw_aff(arg0).union_add(arg1) ctx = arg0.ctx res = isl.isl_multi_pw_aff_union_add(isl.isl_multi_pw_aff_copy(arg0.ptr), isl.isl_multi_pw_aff_copy(arg1.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj @staticmethod def zero(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_pw_aff_zero(isl.isl_space_copy(arg0.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj isl.isl_multi_pw_aff_from_aff.restype = c_void_p isl.isl_multi_pw_aff_from_aff.argtypes = [c_void_p] isl.isl_multi_pw_aff_from_multi_aff.restype = c_void_p isl.isl_multi_pw_aff_from_multi_aff.argtypes = [c_void_p] isl.isl_multi_pw_aff_from_pw_aff.restype = c_void_p isl.isl_multi_pw_aff_from_pw_aff.argtypes = [c_void_p] isl.isl_multi_pw_aff_from_pw_aff_list.restype = c_void_p isl.isl_multi_pw_aff_from_pw_aff_list.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_from_pw_multi_aff.restype = c_void_p isl.isl_multi_pw_aff_from_pw_multi_aff.argtypes = [c_void_p] isl.isl_multi_pw_aff_read_from_str.restype = c_void_p isl.isl_multi_pw_aff_read_from_str.argtypes = [Context, c_char_p] isl.isl_multi_pw_aff_add.restype = c_void_p isl.isl_multi_pw_aff_add.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_add_constant_multi_val.restype = c_void_p isl.isl_multi_pw_aff_add_constant_multi_val.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_add_constant_val.restype = c_void_p isl.isl_multi_pw_aff_add_constant_val.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_as_map.restype = c_void_p isl.isl_multi_pw_aff_as_map.argtypes = [c_void_p] isl.isl_multi_pw_aff_as_multi_aff.restype = c_void_p isl.isl_multi_pw_aff_as_multi_aff.argtypes = [c_void_p] isl.isl_multi_pw_aff_as_set.restype = c_void_p isl.isl_multi_pw_aff_as_set.argtypes = [c_void_p] isl.isl_multi_pw_aff_get_at.restype = c_void_p isl.isl_multi_pw_aff_get_at.argtypes = [c_void_p, c_int] isl.isl_multi_pw_aff_bind.restype = c_void_p isl.isl_multi_pw_aff_bind.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_bind_domain.restype = c_void_p isl.isl_multi_pw_aff_bind_domain.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_bind_domain_wrapped_domain.restype = c_void_p isl.isl_multi_pw_aff_bind_domain_wrapped_domain.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_coalesce.restype = c_void_p isl.isl_multi_pw_aff_coalesce.argtypes = [c_void_p] isl.isl_multi_pw_aff_domain.restype = c_void_p isl.isl_multi_pw_aff_domain.argtypes = [c_void_p] isl.isl_multi_pw_aff_domain_reverse.restype = c_void_p isl.isl_multi_pw_aff_domain_reverse.argtypes = [c_void_p] isl.isl_multi_pw_aff_flat_range_product.restype = c_void_p isl.isl_multi_pw_aff_flat_range_product.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_gist.restype = c_void_p isl.isl_multi_pw_aff_gist.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_gist_params.restype = c_void_p isl.isl_multi_pw_aff_gist_params.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_has_range_tuple_id.argtypes = [c_void_p] isl.isl_multi_pw_aff_identity_multi_pw_aff.restype = c_void_p isl.isl_multi_pw_aff_identity_multi_pw_aff.argtypes = [c_void_p] isl.isl_multi_pw_aff_identity_on_domain_space.restype = c_void_p isl.isl_multi_pw_aff_identity_on_domain_space.argtypes = [c_void_p] isl.isl_multi_pw_aff_insert_domain.restype = c_void_p isl.isl_multi_pw_aff_insert_domain.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_intersect_domain.restype = c_void_p isl.isl_multi_pw_aff_intersect_domain.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_intersect_params.restype = c_void_p isl.isl_multi_pw_aff_intersect_params.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_involves_nan.argtypes = [c_void_p] isl.isl_multi_pw_aff_involves_param_id.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_involves_param_id_list.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_isa_multi_aff.argtypes = [c_void_p] isl.isl_multi_pw_aff_get_list.restype = c_void_p isl.isl_multi_pw_aff_get_list.argtypes = [c_void_p] isl.isl_multi_pw_aff_max.restype = c_void_p isl.isl_multi_pw_aff_max.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_max_multi_val.restype = c_void_p isl.isl_multi_pw_aff_max_multi_val.argtypes = [c_void_p] isl.isl_multi_pw_aff_min.restype = c_void_p isl.isl_multi_pw_aff_min.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_min_multi_val.restype = c_void_p isl.isl_multi_pw_aff_min_multi_val.argtypes = [c_void_p] isl.isl_multi_pw_aff_neg.restype = c_void_p isl.isl_multi_pw_aff_neg.argtypes = [c_void_p] isl.isl_multi_pw_aff_plain_is_equal.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_product.restype = c_void_p isl.isl_multi_pw_aff_product.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_pullback_multi_aff.restype = c_void_p isl.isl_multi_pw_aff_pullback_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_pullback_multi_pw_aff.restype = c_void_p isl.isl_multi_pw_aff_pullback_multi_pw_aff.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_pullback_pw_multi_aff.restype = c_void_p isl.isl_multi_pw_aff_pullback_pw_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_range_product.restype = c_void_p isl.isl_multi_pw_aff_range_product.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_get_range_tuple_id.restype = c_void_p isl.isl_multi_pw_aff_get_range_tuple_id.argtypes = [c_void_p] isl.isl_multi_pw_aff_reset_range_tuple_id.restype = c_void_p isl.isl_multi_pw_aff_reset_range_tuple_id.argtypes = [c_void_p] isl.isl_multi_pw_aff_scale_multi_val.restype = c_void_p isl.isl_multi_pw_aff_scale_multi_val.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_scale_val.restype = c_void_p isl.isl_multi_pw_aff_scale_val.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_scale_down_multi_val.restype = c_void_p isl.isl_multi_pw_aff_scale_down_multi_val.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_scale_down_val.restype = c_void_p isl.isl_multi_pw_aff_scale_down_val.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_set_at.restype = c_void_p isl.isl_multi_pw_aff_set_at.argtypes = [c_void_p, c_int, c_void_p] isl.isl_multi_pw_aff_set_range_tuple_id.restype = c_void_p isl.isl_multi_pw_aff_set_range_tuple_id.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_size.argtypes = [c_void_p] isl.isl_multi_pw_aff_get_space.restype = c_void_p isl.isl_multi_pw_aff_get_space.argtypes = [c_void_p] isl.isl_multi_pw_aff_sub.restype = c_void_p isl.isl_multi_pw_aff_sub.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_unbind_params_insert_domain.restype = c_void_p isl.isl_multi_pw_aff_unbind_params_insert_domain.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_union_add.restype = c_void_p isl.isl_multi_pw_aff_union_add.argtypes = [c_void_p, c_void_p] isl.isl_multi_pw_aff_zero.restype = c_void_p isl.isl_multi_pw_aff_zero.argtypes = [c_void_p] isl.isl_multi_pw_aff_copy.restype = c_void_p isl.isl_multi_pw_aff_copy.argtypes = [c_void_p] isl.isl_multi_pw_aff_free.restype = c_void_p isl.isl_multi_pw_aff_free.argtypes = [c_void_p] isl.isl_multi_pw_aff_to_str.restype = POINTER(c_char) isl.isl_multi_pw_aff_to_str.argtypes = [c_void_p] class pw_multi_aff(union_pw_multi_aff, multi_pw_aff): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and args[0].__class__ is multi_aff: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_pw_multi_aff_from_multi_aff(isl.isl_multi_aff_copy(args[0].ptr)) return if len(args) == 1 and args[0].__class__ is pw_aff: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_pw_multi_aff_from_pw_aff(isl.isl_pw_aff_copy(args[0].ptr)) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_pw_multi_aff_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_pw_multi_aff_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise ptr = isl.isl_pw_multi_aff_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.pw_multi_aff("""%s""")' % s else: return 'isl.pw_multi_aff("%s")' % s def add(arg0, arg1): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is pw_multi_aff: arg1 = pw_multi_aff(arg1) except: return union_pw_multi_aff(arg0).add(arg1) ctx = arg0.ctx res = isl.isl_pw_multi_aff_add(isl.isl_pw_multi_aff_copy(arg0.ptr), isl.isl_pw_multi_aff_copy(arg1.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def add_constant(*args): if len(args) == 2 and args[1].__class__ is multi_val: args = list(args) try: if not args[0].__class__ is pw_multi_aff: args[0] = pw_multi_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_pw_multi_aff_add_constant_multi_val(isl.isl_pw_multi_aff_copy(args[0].ptr), isl.isl_multi_val_copy(args[1].ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is pw_multi_aff: args[0] = pw_multi_aff(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_pw_multi_aff_add_constant_val(isl.isl_pw_multi_aff_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj raise Error def as_map(arg0): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_as_map(isl.isl_pw_multi_aff_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def as_multi_aff(arg0): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_as_multi_aff(isl.isl_pw_multi_aff_copy(arg0.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj def as_set(arg0): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_as_set(isl.isl_pw_multi_aff_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def at(arg0, arg1): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_get_at(arg0.ptr, arg1) obj = pw_aff(ctx=ctx, ptr=res) return obj def get_at(arg0, arg1): return arg0.at(arg1) def bind_domain(arg0, arg1): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is multi_id: arg1 = multi_id(arg1) except: return union_pw_multi_aff(arg0).bind_domain(arg1) ctx = arg0.ctx res = isl.isl_pw_multi_aff_bind_domain(isl.isl_pw_multi_aff_copy(arg0.ptr), isl.isl_multi_id_copy(arg1.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def bind_domain_wrapped_domain(arg0, arg1): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is multi_id: arg1 = multi_id(arg1) except: return union_pw_multi_aff(arg0).bind_domain_wrapped_domain(arg1) ctx = arg0.ctx res = isl.isl_pw_multi_aff_bind_domain_wrapped_domain(isl.isl_pw_multi_aff_copy(arg0.ptr), isl.isl_multi_id_copy(arg1.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def coalesce(arg0): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_coalesce(isl.isl_pw_multi_aff_copy(arg0.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def domain(arg0): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_domain(isl.isl_pw_multi_aff_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj @staticmethod def domain_map(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_domain_map(isl.isl_space_copy(arg0.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def domain_reverse(arg0): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_domain_reverse(isl.isl_pw_multi_aff_copy(arg0.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def drop_unused_params(arg0): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_drop_unused_params(isl.isl_pw_multi_aff_copy(arg0.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def flat_range_product(arg0, arg1): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is pw_multi_aff: arg1 = pw_multi_aff(arg1) except: return union_pw_multi_aff(arg0).flat_range_product(arg1) ctx = arg0.ctx res = isl.isl_pw_multi_aff_flat_range_product(isl.isl_pw_multi_aff_copy(arg0.ptr), isl.isl_pw_multi_aff_copy(arg1.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def foreach_piece(arg0, arg1): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1, cb_arg2): cb_arg0 = set(ctx=arg0.ctx, ptr=(cb_arg0)) cb_arg1 = multi_aff(ctx=arg0.ctx, ptr=(cb_arg1)) try: arg1(cb_arg0, cb_arg1) except BaseException as e: exc_info[0] = e return -1 return 0 cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_pw_multi_aff_foreach_piece(arg0.ptr, cb1, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def gist(arg0, arg1): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_pw_multi_aff(arg0).gist(arg1) ctx = arg0.ctx res = isl.isl_pw_multi_aff_gist(isl.isl_pw_multi_aff_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def gist_params(arg0, arg1): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_pw_multi_aff(arg0).gist_params(arg1) ctx = arg0.ctx res = isl.isl_pw_multi_aff_gist_params(isl.isl_pw_multi_aff_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def has_range_tuple_id(arg0): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_has_range_tuple_id(arg0.ptr) if res < 0: raise Error return bool(res) @staticmethod def identity_on_domain(*args): if len(args) == 1 and args[0].__class__ is space: ctx = args[0].ctx res = isl.isl_pw_multi_aff_identity_on_domain_space(isl.isl_space_copy(args[0].ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj raise Error def insert_domain(arg0, arg1): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is space: arg1 = space(arg1) except: return union_pw_multi_aff(arg0).insert_domain(arg1) ctx = arg0.ctx res = isl.isl_pw_multi_aff_insert_domain(isl.isl_pw_multi_aff_copy(arg0.ptr), isl.isl_space_copy(arg1.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def intersect_domain(arg0, arg1): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_pw_multi_aff(arg0).intersect_domain(arg1) ctx = arg0.ctx res = isl.isl_pw_multi_aff_intersect_domain(isl.isl_pw_multi_aff_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def intersect_params(arg0, arg1): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_pw_multi_aff(arg0).intersect_params(arg1) ctx = arg0.ctx res = isl.isl_pw_multi_aff_intersect_params(isl.isl_pw_multi_aff_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def involves_locals(arg0): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_involves_locals(arg0.ptr) if res < 0: raise Error return bool(res) def isa_multi_aff(arg0): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_isa_multi_aff(arg0.ptr) if res < 0: raise Error return bool(res) def max_multi_val(arg0): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_max_multi_val(isl.isl_pw_multi_aff_copy(arg0.ptr)) obj = multi_val(ctx=ctx, ptr=res) return obj def min_multi_val(arg0): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_min_multi_val(isl.isl_pw_multi_aff_copy(arg0.ptr)) obj = multi_val(ctx=ctx, ptr=res) return obj @staticmethod def multi_val_on_domain(arg0, arg1): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise try: if not arg1.__class__ is multi_val: arg1 = multi_val(arg1) except: return union_pw_multi_aff(arg0).multi_val_on_domain(arg1) ctx = arg0.ctx res = isl.isl_pw_multi_aff_multi_val_on_domain(isl.isl_set_copy(arg0.ptr), isl.isl_multi_val_copy(arg1.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def n_piece(arg0): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_n_piece(arg0.ptr) if res < 0: raise Error return int(res) def plain_is_equal(arg0, arg1): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is pw_multi_aff: arg1 = pw_multi_aff(arg1) except: return union_pw_multi_aff(arg0).plain_is_equal(arg1) ctx = arg0.ctx res = isl.isl_pw_multi_aff_plain_is_equal(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def preimage_domain_wrapped_domain(*args): if len(args) == 2 and args[1].__class__ is pw_multi_aff: args = list(args) try: if not args[0].__class__ is pw_multi_aff: args[0] = pw_multi_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_pw_multi_aff_preimage_domain_wrapped_domain_pw_multi_aff(isl.isl_pw_multi_aff_copy(args[0].ptr), isl.isl_pw_multi_aff_copy(args[1].ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj raise Error def product(arg0, arg1): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is pw_multi_aff: arg1 = pw_multi_aff(arg1) except: return union_pw_multi_aff(arg0).product(arg1) ctx = arg0.ctx res = isl.isl_pw_multi_aff_product(isl.isl_pw_multi_aff_copy(arg0.ptr), isl.isl_pw_multi_aff_copy(arg1.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def pullback(*args): if len(args) == 2 and args[1].__class__ is multi_aff: args = list(args) try: if not args[0].__class__ is pw_multi_aff: args[0] = pw_multi_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_pw_multi_aff_pullback_multi_aff(isl.isl_pw_multi_aff_copy(args[0].ptr), isl.isl_multi_aff_copy(args[1].ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is pw_multi_aff: args = list(args) try: if not args[0].__class__ is pw_multi_aff: args[0] = pw_multi_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_pw_multi_aff_pullback_pw_multi_aff(isl.isl_pw_multi_aff_copy(args[0].ptr), isl.isl_pw_multi_aff_copy(args[1].ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj raise Error def range_factor_domain(arg0): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_range_factor_domain(isl.isl_pw_multi_aff_copy(arg0.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def range_factor_range(arg0): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_range_factor_range(isl.isl_pw_multi_aff_copy(arg0.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj @staticmethod def range_map(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_range_map(isl.isl_space_copy(arg0.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def range_product(arg0, arg1): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is pw_multi_aff: arg1 = pw_multi_aff(arg1) except: return union_pw_multi_aff(arg0).range_product(arg1) ctx = arg0.ctx res = isl.isl_pw_multi_aff_range_product(isl.isl_pw_multi_aff_copy(arg0.ptr), isl.isl_pw_multi_aff_copy(arg1.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def range_tuple_id(arg0): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_get_range_tuple_id(arg0.ptr) obj = id(ctx=ctx, ptr=res) return obj def get_range_tuple_id(arg0): return arg0.range_tuple_id() def scale(*args): if len(args) == 2 and args[1].__class__ is multi_val: args = list(args) try: if not args[0].__class__ is pw_multi_aff: args[0] = pw_multi_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_pw_multi_aff_scale_multi_val(isl.isl_pw_multi_aff_copy(args[0].ptr), isl.isl_multi_val_copy(args[1].ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is pw_multi_aff: args[0] = pw_multi_aff(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_pw_multi_aff_scale_val(isl.isl_pw_multi_aff_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj raise Error def scale_down(*args): if len(args) == 2 and args[1].__class__ is multi_val: args = list(args) try: if not args[0].__class__ is pw_multi_aff: args[0] = pw_multi_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_pw_multi_aff_scale_down_multi_val(isl.isl_pw_multi_aff_copy(args[0].ptr), isl.isl_multi_val_copy(args[1].ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is pw_multi_aff: args[0] = pw_multi_aff(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_pw_multi_aff_scale_down_val(isl.isl_pw_multi_aff_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj raise Error def set_range_tuple(*args): if len(args) == 2 and (args[1].__class__ is id or type(args[1]) == str): args = list(args) try: if not args[0].__class__ is pw_multi_aff: args[0] = pw_multi_aff(args[0]) except: raise try: if not args[1].__class__ is id: args[1] = id(args[1]) except: raise ctx = args[0].ctx res = isl.isl_pw_multi_aff_set_range_tuple_id(isl.isl_pw_multi_aff_copy(args[0].ptr), isl.isl_id_copy(args[1].ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj raise Error def space(arg0): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_get_space(arg0.ptr) obj = space(ctx=ctx, ptr=res) return obj def get_space(arg0): return arg0.space() def sub(arg0, arg1): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is pw_multi_aff: arg1 = pw_multi_aff(arg1) except: return union_pw_multi_aff(arg0).sub(arg1) ctx = arg0.ctx res = isl.isl_pw_multi_aff_sub(isl.isl_pw_multi_aff_copy(arg0.ptr), isl.isl_pw_multi_aff_copy(arg1.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def subtract_domain(arg0, arg1): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_pw_multi_aff(arg0).subtract_domain(arg1) ctx = arg0.ctx res = isl.isl_pw_multi_aff_subtract_domain(isl.isl_pw_multi_aff_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def to_list(arg0): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_to_list(isl.isl_pw_multi_aff_copy(arg0.ptr)) obj = pw_multi_aff_list(ctx=ctx, ptr=res) return obj def to_multi_pw_aff(arg0): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_to_multi_pw_aff(isl.isl_pw_multi_aff_copy(arg0.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def to_union_pw_multi_aff(arg0): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_to_union_pw_multi_aff(isl.isl_pw_multi_aff_copy(arg0.ptr)) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj def union_add(arg0, arg1): try: if not arg0.__class__ is pw_multi_aff: arg0 = pw_multi_aff(arg0) except: raise try: if not arg1.__class__ is pw_multi_aff: arg1 = pw_multi_aff(arg1) except: return union_pw_multi_aff(arg0).union_add(arg1) ctx = arg0.ctx res = isl.isl_pw_multi_aff_union_add(isl.isl_pw_multi_aff_copy(arg0.ptr), isl.isl_pw_multi_aff_copy(arg1.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj @staticmethod def zero(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_zero(isl.isl_space_copy(arg0.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj isl.isl_pw_multi_aff_from_multi_aff.restype = c_void_p isl.isl_pw_multi_aff_from_multi_aff.argtypes = [c_void_p] isl.isl_pw_multi_aff_from_pw_aff.restype = c_void_p isl.isl_pw_multi_aff_from_pw_aff.argtypes = [c_void_p] isl.isl_pw_multi_aff_read_from_str.restype = c_void_p isl.isl_pw_multi_aff_read_from_str.argtypes = [Context, c_char_p] isl.isl_pw_multi_aff_add.restype = c_void_p isl.isl_pw_multi_aff_add.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_add_constant_multi_val.restype = c_void_p isl.isl_pw_multi_aff_add_constant_multi_val.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_add_constant_val.restype = c_void_p isl.isl_pw_multi_aff_add_constant_val.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_as_map.restype = c_void_p isl.isl_pw_multi_aff_as_map.argtypes = [c_void_p] isl.isl_pw_multi_aff_as_multi_aff.restype = c_void_p isl.isl_pw_multi_aff_as_multi_aff.argtypes = [c_void_p] isl.isl_pw_multi_aff_as_set.restype = c_void_p isl.isl_pw_multi_aff_as_set.argtypes = [c_void_p] isl.isl_pw_multi_aff_get_at.restype = c_void_p isl.isl_pw_multi_aff_get_at.argtypes = [c_void_p, c_int] isl.isl_pw_multi_aff_bind_domain.restype = c_void_p isl.isl_pw_multi_aff_bind_domain.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_bind_domain_wrapped_domain.restype = c_void_p isl.isl_pw_multi_aff_bind_domain_wrapped_domain.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_coalesce.restype = c_void_p isl.isl_pw_multi_aff_coalesce.argtypes = [c_void_p] isl.isl_pw_multi_aff_domain.restype = c_void_p isl.isl_pw_multi_aff_domain.argtypes = [c_void_p] isl.isl_pw_multi_aff_domain_map.restype = c_void_p isl.isl_pw_multi_aff_domain_map.argtypes = [c_void_p] isl.isl_pw_multi_aff_domain_reverse.restype = c_void_p isl.isl_pw_multi_aff_domain_reverse.argtypes = [c_void_p] isl.isl_pw_multi_aff_drop_unused_params.restype = c_void_p isl.isl_pw_multi_aff_drop_unused_params.argtypes = [c_void_p] isl.isl_pw_multi_aff_flat_range_product.restype = c_void_p isl.isl_pw_multi_aff_flat_range_product.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_foreach_piece.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_pw_multi_aff_gist.restype = c_void_p isl.isl_pw_multi_aff_gist.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_gist_params.restype = c_void_p isl.isl_pw_multi_aff_gist_params.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_has_range_tuple_id.argtypes = [c_void_p] isl.isl_pw_multi_aff_identity_on_domain_space.restype = c_void_p isl.isl_pw_multi_aff_identity_on_domain_space.argtypes = [c_void_p] isl.isl_pw_multi_aff_insert_domain.restype = c_void_p isl.isl_pw_multi_aff_insert_domain.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_intersect_domain.restype = c_void_p isl.isl_pw_multi_aff_intersect_domain.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_intersect_params.restype = c_void_p isl.isl_pw_multi_aff_intersect_params.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_involves_locals.argtypes = [c_void_p] isl.isl_pw_multi_aff_isa_multi_aff.argtypes = [c_void_p] isl.isl_pw_multi_aff_max_multi_val.restype = c_void_p isl.isl_pw_multi_aff_max_multi_val.argtypes = [c_void_p] isl.isl_pw_multi_aff_min_multi_val.restype = c_void_p isl.isl_pw_multi_aff_min_multi_val.argtypes = [c_void_p] isl.isl_pw_multi_aff_multi_val_on_domain.restype = c_void_p isl.isl_pw_multi_aff_multi_val_on_domain.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_n_piece.argtypes = [c_void_p] isl.isl_pw_multi_aff_plain_is_equal.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_preimage_domain_wrapped_domain_pw_multi_aff.restype = c_void_p isl.isl_pw_multi_aff_preimage_domain_wrapped_domain_pw_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_product.restype = c_void_p isl.isl_pw_multi_aff_product.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_pullback_multi_aff.restype = c_void_p isl.isl_pw_multi_aff_pullback_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_pullback_pw_multi_aff.restype = c_void_p isl.isl_pw_multi_aff_pullback_pw_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_range_factor_domain.restype = c_void_p isl.isl_pw_multi_aff_range_factor_domain.argtypes = [c_void_p] isl.isl_pw_multi_aff_range_factor_range.restype = c_void_p isl.isl_pw_multi_aff_range_factor_range.argtypes = [c_void_p] isl.isl_pw_multi_aff_range_map.restype = c_void_p isl.isl_pw_multi_aff_range_map.argtypes = [c_void_p] isl.isl_pw_multi_aff_range_product.restype = c_void_p isl.isl_pw_multi_aff_range_product.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_get_range_tuple_id.restype = c_void_p isl.isl_pw_multi_aff_get_range_tuple_id.argtypes = [c_void_p] isl.isl_pw_multi_aff_scale_multi_val.restype = c_void_p isl.isl_pw_multi_aff_scale_multi_val.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_scale_val.restype = c_void_p isl.isl_pw_multi_aff_scale_val.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_scale_down_multi_val.restype = c_void_p isl.isl_pw_multi_aff_scale_down_multi_val.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_scale_down_val.restype = c_void_p isl.isl_pw_multi_aff_scale_down_val.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_set_range_tuple_id.restype = c_void_p isl.isl_pw_multi_aff_set_range_tuple_id.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_get_space.restype = c_void_p isl.isl_pw_multi_aff_get_space.argtypes = [c_void_p] isl.isl_pw_multi_aff_sub.restype = c_void_p isl.isl_pw_multi_aff_sub.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_subtract_domain.restype = c_void_p isl.isl_pw_multi_aff_subtract_domain.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_to_list.restype = c_void_p isl.isl_pw_multi_aff_to_list.argtypes = [c_void_p] isl.isl_pw_multi_aff_to_multi_pw_aff.restype = c_void_p isl.isl_pw_multi_aff_to_multi_pw_aff.argtypes = [c_void_p] isl.isl_pw_multi_aff_to_union_pw_multi_aff.restype = c_void_p isl.isl_pw_multi_aff_to_union_pw_multi_aff.argtypes = [c_void_p] isl.isl_pw_multi_aff_union_add.restype = c_void_p isl.isl_pw_multi_aff_union_add.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_zero.restype = c_void_p isl.isl_pw_multi_aff_zero.argtypes = [c_void_p] isl.isl_pw_multi_aff_copy.restype = c_void_p isl.isl_pw_multi_aff_copy.argtypes = [c_void_p] isl.isl_pw_multi_aff_free.restype = c_void_p isl.isl_pw_multi_aff_free.argtypes = [c_void_p] isl.isl_pw_multi_aff_to_str.restype = POINTER(c_char) isl.isl_pw_multi_aff_to_str.argtypes = [c_void_p] class pw_aff(union_pw_aff, pw_multi_aff, multi_pw_aff): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and args[0].__class__ is aff: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_pw_aff_from_aff(isl.isl_aff_copy(args[0].ptr)) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_pw_aff_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_pw_aff_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise ptr = isl.isl_pw_aff_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.pw_aff("""%s""")' % s else: return 'isl.pw_aff("%s")' % s def add(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is pw_aff: arg1 = pw_aff(arg1) except: return union_pw_aff(arg0).add(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_add(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_pw_aff_copy(arg1.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj def add_constant(*args): if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is pw_aff: args[0] = pw_aff(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_pw_aff_add_constant_val(isl.isl_pw_aff_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj raise Error def as_aff(arg0): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_aff_as_aff(isl.isl_pw_aff_copy(arg0.ptr)) obj = aff(ctx=ctx, ptr=res) return obj def as_map(arg0): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_aff_as_map(isl.isl_pw_aff_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def bind(*args): if len(args) == 2 and (args[1].__class__ is id or type(args[1]) == str): args = list(args) try: if not args[0].__class__ is pw_aff: args[0] = pw_aff(args[0]) except: raise try: if not args[1].__class__ is id: args[1] = id(args[1]) except: raise ctx = args[0].ctx res = isl.isl_pw_aff_bind_id(isl.isl_pw_aff_copy(args[0].ptr), isl.isl_id_copy(args[1].ptr)) obj = set(ctx=ctx, ptr=res) return obj raise Error def bind_domain(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is multi_id: arg1 = multi_id(arg1) except: return union_pw_aff(arg0).bind_domain(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_bind_domain(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_multi_id_copy(arg1.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj def bind_domain_wrapped_domain(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is multi_id: arg1 = multi_id(arg1) except: return union_pw_aff(arg0).bind_domain_wrapped_domain(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_bind_domain_wrapped_domain(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_multi_id_copy(arg1.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj def ceil(arg0): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_aff_ceil(isl.isl_pw_aff_copy(arg0.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj def coalesce(arg0): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_aff_coalesce(isl.isl_pw_aff_copy(arg0.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj def cond(arg0, arg1, arg2): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is pw_aff: arg1 = pw_aff(arg1) except: return union_pw_aff(arg0).cond(arg1, arg2) try: if not arg2.__class__ is pw_aff: arg2 = pw_aff(arg2) except: return union_pw_aff(arg0).cond(arg1, arg2) ctx = arg0.ctx res = isl.isl_pw_aff_cond(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_pw_aff_copy(arg1.ptr), isl.isl_pw_aff_copy(arg2.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj def div(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is pw_aff: arg1 = pw_aff(arg1) except: return union_pw_aff(arg0).div(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_div(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_pw_aff_copy(arg1.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj def domain(arg0): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_aff_domain(isl.isl_pw_aff_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def domain_reverse(arg0): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_aff_domain_reverse(isl.isl_pw_aff_copy(arg0.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj def drop_unused_params(arg0): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_aff_drop_unused_params(isl.isl_pw_aff_copy(arg0.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj def eq_set(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is pw_aff: arg1 = pw_aff(arg1) except: return union_pw_aff(arg0).eq_set(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_eq_set(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_pw_aff_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def eval(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is point: arg1 = point(arg1) except: return union_pw_aff(arg0).eval(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_eval(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_point_copy(arg1.ptr)) obj = val(ctx=ctx, ptr=res) return obj def floor(arg0): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_aff_floor(isl.isl_pw_aff_copy(arg0.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj def ge_set(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is pw_aff: arg1 = pw_aff(arg1) except: return union_pw_aff(arg0).ge_set(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_ge_set(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_pw_aff_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def gist(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_pw_aff(arg0).gist(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_gist(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj def gist_params(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_pw_aff(arg0).gist_params(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_gist_params(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj def gt_set(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is pw_aff: arg1 = pw_aff(arg1) except: return union_pw_aff(arg0).gt_set(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_gt_set(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_pw_aff_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def insert_domain(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is space: arg1 = space(arg1) except: return union_pw_aff(arg0).insert_domain(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_insert_domain(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_space_copy(arg1.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj def intersect_domain(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_pw_aff(arg0).intersect_domain(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_intersect_domain(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj def intersect_params(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_pw_aff(arg0).intersect_params(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_intersect_params(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj def isa_aff(arg0): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_aff_isa_aff(arg0.ptr) if res < 0: raise Error return bool(res) def le_set(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is pw_aff: arg1 = pw_aff(arg1) except: return union_pw_aff(arg0).le_set(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_le_set(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_pw_aff_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def lt_set(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is pw_aff: arg1 = pw_aff(arg1) except: return union_pw_aff(arg0).lt_set(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_lt_set(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_pw_aff_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def max(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is pw_aff: arg1 = pw_aff(arg1) except: return union_pw_aff(arg0).max(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_max(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_pw_aff_copy(arg1.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj def max_val(arg0): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_aff_max_val(isl.isl_pw_aff_copy(arg0.ptr)) obj = val(ctx=ctx, ptr=res) return obj def min(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is pw_aff: arg1 = pw_aff(arg1) except: return union_pw_aff(arg0).min(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_min(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_pw_aff_copy(arg1.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj def min_val(arg0): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_aff_min_val(isl.isl_pw_aff_copy(arg0.ptr)) obj = val(ctx=ctx, ptr=res) return obj def mod(*args): if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is pw_aff: args[0] = pw_aff(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_pw_aff_mod_val(isl.isl_pw_aff_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj raise Error def mul(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is pw_aff: arg1 = pw_aff(arg1) except: return union_pw_aff(arg0).mul(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_mul(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_pw_aff_copy(arg1.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj def ne_set(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is pw_aff: arg1 = pw_aff(arg1) except: return union_pw_aff(arg0).ne_set(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_ne_set(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_pw_aff_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def neg(arg0): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_aff_neg(isl.isl_pw_aff_copy(arg0.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj @staticmethod def param_on_domain(*args): if len(args) == 2 and args[0].__class__ is set and (args[1].__class__ is id or type(args[1]) == str): args = list(args) try: if not args[1].__class__ is id: args[1] = id(args[1]) except: raise ctx = args[0].ctx res = isl.isl_pw_aff_param_on_domain_id(isl.isl_set_copy(args[0].ptr), isl.isl_id_copy(args[1].ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj raise Error def params(arg0): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_aff_params(isl.isl_pw_aff_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def plain_is_equal(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is pw_aff: arg1 = pw_aff(arg1) except: return union_pw_aff(arg0).plain_is_equal(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_plain_is_equal(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def pullback(*args): if len(args) == 2 and args[1].__class__ is multi_aff: args = list(args) try: if not args[0].__class__ is pw_aff: args[0] = pw_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_pw_aff_pullback_multi_aff(isl.isl_pw_aff_copy(args[0].ptr), isl.isl_multi_aff_copy(args[1].ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is multi_pw_aff: args = list(args) try: if not args[0].__class__ is pw_aff: args[0] = pw_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_pw_aff_pullback_multi_pw_aff(isl.isl_pw_aff_copy(args[0].ptr), isl.isl_multi_pw_aff_copy(args[1].ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is pw_multi_aff: args = list(args) try: if not args[0].__class__ is pw_aff: args[0] = pw_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_pw_aff_pullback_pw_multi_aff(isl.isl_pw_aff_copy(args[0].ptr), isl.isl_pw_multi_aff_copy(args[1].ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj raise Error def scale(*args): if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is pw_aff: args[0] = pw_aff(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_pw_aff_scale_val(isl.isl_pw_aff_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj raise Error def scale_down(*args): if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is pw_aff: args[0] = pw_aff(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_pw_aff_scale_down_val(isl.isl_pw_aff_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj raise Error def space(arg0): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_aff_get_space(arg0.ptr) obj = space(ctx=ctx, ptr=res) return obj def get_space(arg0): return arg0.space() def sub(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is pw_aff: arg1 = pw_aff(arg1) except: return union_pw_aff(arg0).sub(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_sub(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_pw_aff_copy(arg1.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj def subtract_domain(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_pw_aff(arg0).subtract_domain(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_subtract_domain(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj def tdiv_q(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is pw_aff: arg1 = pw_aff(arg1) except: return union_pw_aff(arg0).tdiv_q(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_tdiv_q(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_pw_aff_copy(arg1.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj def tdiv_r(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is pw_aff: arg1 = pw_aff(arg1) except: return union_pw_aff(arg0).tdiv_r(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_tdiv_r(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_pw_aff_copy(arg1.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj def to_list(arg0): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_aff_to_list(isl.isl_pw_aff_copy(arg0.ptr)) obj = pw_aff_list(ctx=ctx, ptr=res) return obj def to_union_pw_aff(arg0): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_aff_to_union_pw_aff(isl.isl_pw_aff_copy(arg0.ptr)) obj = union_pw_aff(ctx=ctx, ptr=res) return obj def union_add(arg0, arg1): try: if not arg0.__class__ is pw_aff: arg0 = pw_aff(arg0) except: raise try: if not arg1.__class__ is pw_aff: arg1 = pw_aff(arg1) except: return union_pw_aff(arg0).union_add(arg1) ctx = arg0.ctx res = isl.isl_pw_aff_union_add(isl.isl_pw_aff_copy(arg0.ptr), isl.isl_pw_aff_copy(arg1.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj isl.isl_pw_aff_from_aff.restype = c_void_p isl.isl_pw_aff_from_aff.argtypes = [c_void_p] isl.isl_pw_aff_read_from_str.restype = c_void_p isl.isl_pw_aff_read_from_str.argtypes = [Context, c_char_p] isl.isl_pw_aff_add.restype = c_void_p isl.isl_pw_aff_add.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_add_constant_val.restype = c_void_p isl.isl_pw_aff_add_constant_val.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_as_aff.restype = c_void_p isl.isl_pw_aff_as_aff.argtypes = [c_void_p] isl.isl_pw_aff_as_map.restype = c_void_p isl.isl_pw_aff_as_map.argtypes = [c_void_p] isl.isl_pw_aff_bind_id.restype = c_void_p isl.isl_pw_aff_bind_id.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_bind_domain.restype = c_void_p isl.isl_pw_aff_bind_domain.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_bind_domain_wrapped_domain.restype = c_void_p isl.isl_pw_aff_bind_domain_wrapped_domain.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_ceil.restype = c_void_p isl.isl_pw_aff_ceil.argtypes = [c_void_p] isl.isl_pw_aff_coalesce.restype = c_void_p isl.isl_pw_aff_coalesce.argtypes = [c_void_p] isl.isl_pw_aff_cond.restype = c_void_p isl.isl_pw_aff_cond.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_pw_aff_div.restype = c_void_p isl.isl_pw_aff_div.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_domain.restype = c_void_p isl.isl_pw_aff_domain.argtypes = [c_void_p] isl.isl_pw_aff_domain_reverse.restype = c_void_p isl.isl_pw_aff_domain_reverse.argtypes = [c_void_p] isl.isl_pw_aff_drop_unused_params.restype = c_void_p isl.isl_pw_aff_drop_unused_params.argtypes = [c_void_p] isl.isl_pw_aff_eq_set.restype = c_void_p isl.isl_pw_aff_eq_set.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_eval.restype = c_void_p isl.isl_pw_aff_eval.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_floor.restype = c_void_p isl.isl_pw_aff_floor.argtypes = [c_void_p] isl.isl_pw_aff_ge_set.restype = c_void_p isl.isl_pw_aff_ge_set.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_gist.restype = c_void_p isl.isl_pw_aff_gist.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_gist_params.restype = c_void_p isl.isl_pw_aff_gist_params.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_gt_set.restype = c_void_p isl.isl_pw_aff_gt_set.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_insert_domain.restype = c_void_p isl.isl_pw_aff_insert_domain.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_intersect_domain.restype = c_void_p isl.isl_pw_aff_intersect_domain.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_intersect_params.restype = c_void_p isl.isl_pw_aff_intersect_params.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_isa_aff.argtypes = [c_void_p] isl.isl_pw_aff_le_set.restype = c_void_p isl.isl_pw_aff_le_set.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_lt_set.restype = c_void_p isl.isl_pw_aff_lt_set.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_max.restype = c_void_p isl.isl_pw_aff_max.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_max_val.restype = c_void_p isl.isl_pw_aff_max_val.argtypes = [c_void_p] isl.isl_pw_aff_min.restype = c_void_p isl.isl_pw_aff_min.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_min_val.restype = c_void_p isl.isl_pw_aff_min_val.argtypes = [c_void_p] isl.isl_pw_aff_mod_val.restype = c_void_p isl.isl_pw_aff_mod_val.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_mul.restype = c_void_p isl.isl_pw_aff_mul.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_ne_set.restype = c_void_p isl.isl_pw_aff_ne_set.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_neg.restype = c_void_p isl.isl_pw_aff_neg.argtypes = [c_void_p] isl.isl_pw_aff_param_on_domain_id.restype = c_void_p isl.isl_pw_aff_param_on_domain_id.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_params.restype = c_void_p isl.isl_pw_aff_params.argtypes = [c_void_p] isl.isl_pw_aff_plain_is_equal.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_pullback_multi_aff.restype = c_void_p isl.isl_pw_aff_pullback_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_pullback_multi_pw_aff.restype = c_void_p isl.isl_pw_aff_pullback_multi_pw_aff.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_pullback_pw_multi_aff.restype = c_void_p isl.isl_pw_aff_pullback_pw_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_scale_val.restype = c_void_p isl.isl_pw_aff_scale_val.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_scale_down_val.restype = c_void_p isl.isl_pw_aff_scale_down_val.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_get_space.restype = c_void_p isl.isl_pw_aff_get_space.argtypes = [c_void_p] isl.isl_pw_aff_sub.restype = c_void_p isl.isl_pw_aff_sub.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_subtract_domain.restype = c_void_p isl.isl_pw_aff_subtract_domain.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_tdiv_q.restype = c_void_p isl.isl_pw_aff_tdiv_q.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_tdiv_r.restype = c_void_p isl.isl_pw_aff_tdiv_r.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_to_list.restype = c_void_p isl.isl_pw_aff_to_list.argtypes = [c_void_p] isl.isl_pw_aff_to_union_pw_aff.restype = c_void_p isl.isl_pw_aff_to_union_pw_aff.argtypes = [c_void_p] isl.isl_pw_aff_union_add.restype = c_void_p isl.isl_pw_aff_union_add.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_copy.restype = c_void_p isl.isl_pw_aff_copy.argtypes = [c_void_p] isl.isl_pw_aff_free.restype = c_void_p isl.isl_pw_aff_free.argtypes = [c_void_p] isl.isl_pw_aff_to_str.restype = POINTER(c_char) isl.isl_pw_aff_to_str.argtypes = [c_void_p] class multi_aff(pw_multi_aff, multi_pw_aff): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and args[0].__class__ is aff: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_multi_aff_from_aff(isl.isl_aff_copy(args[0].ptr)) return if len(args) == 2 and args[0].__class__ is space and args[1].__class__ is aff_list: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_multi_aff_from_aff_list(isl.isl_space_copy(args[0].ptr), isl.isl_aff_list_copy(args[1].ptr)) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_multi_aff_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_multi_aff_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise ptr = isl.isl_multi_aff_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.multi_aff("""%s""")' % s else: return 'isl.multi_aff("%s")' % s def add(arg0, arg1): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise try: if not arg1.__class__ is multi_aff: arg1 = multi_aff(arg1) except: return pw_multi_aff(arg0).add(arg1) ctx = arg0.ctx res = isl.isl_multi_aff_add(isl.isl_multi_aff_copy(arg0.ptr), isl.isl_multi_aff_copy(arg1.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj def add_constant(*args): if len(args) == 2 and args[1].__class__ is multi_val: args = list(args) try: if not args[0].__class__ is multi_aff: args[0] = multi_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_multi_aff_add_constant_multi_val(isl.isl_multi_aff_copy(args[0].ptr), isl.isl_multi_val_copy(args[1].ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is multi_aff: args[0] = multi_aff(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_multi_aff_add_constant_val(isl.isl_multi_aff_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj raise Error def as_map(arg0): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_aff_as_map(isl.isl_multi_aff_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def as_set(arg0): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_aff_as_set(isl.isl_multi_aff_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def at(arg0, arg1): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_aff_get_at(arg0.ptr, arg1) obj = aff(ctx=ctx, ptr=res) return obj def get_at(arg0, arg1): return arg0.at(arg1) def bind(arg0, arg1): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise try: if not arg1.__class__ is multi_id: arg1 = multi_id(arg1) except: return pw_multi_aff(arg0).bind(arg1) ctx = arg0.ctx res = isl.isl_multi_aff_bind(isl.isl_multi_aff_copy(arg0.ptr), isl.isl_multi_id_copy(arg1.ptr)) obj = basic_set(ctx=ctx, ptr=res) return obj def bind_domain(arg0, arg1): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise try: if not arg1.__class__ is multi_id: arg1 = multi_id(arg1) except: return pw_multi_aff(arg0).bind_domain(arg1) ctx = arg0.ctx res = isl.isl_multi_aff_bind_domain(isl.isl_multi_aff_copy(arg0.ptr), isl.isl_multi_id_copy(arg1.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj def bind_domain_wrapped_domain(arg0, arg1): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise try: if not arg1.__class__ is multi_id: arg1 = multi_id(arg1) except: return pw_multi_aff(arg0).bind_domain_wrapped_domain(arg1) ctx = arg0.ctx res = isl.isl_multi_aff_bind_domain_wrapped_domain(isl.isl_multi_aff_copy(arg0.ptr), isl.isl_multi_id_copy(arg1.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj def constant_multi_val(arg0): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_aff_get_constant_multi_val(arg0.ptr) obj = multi_val(ctx=ctx, ptr=res) return obj def get_constant_multi_val(arg0): return arg0.constant_multi_val() @staticmethod def domain_map(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_aff_domain_map(isl.isl_space_copy(arg0.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj def domain_reverse(arg0): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_aff_domain_reverse(isl.isl_multi_aff_copy(arg0.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj def flat_range_product(arg0, arg1): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise try: if not arg1.__class__ is multi_aff: arg1 = multi_aff(arg1) except: return pw_multi_aff(arg0).flat_range_product(arg1) ctx = arg0.ctx res = isl.isl_multi_aff_flat_range_product(isl.isl_multi_aff_copy(arg0.ptr), isl.isl_multi_aff_copy(arg1.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj def floor(arg0): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_aff_floor(isl.isl_multi_aff_copy(arg0.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj def gist(arg0, arg1): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return pw_multi_aff(arg0).gist(arg1) ctx = arg0.ctx res = isl.isl_multi_aff_gist(isl.isl_multi_aff_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj def gist_params(arg0, arg1): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return pw_multi_aff(arg0).gist_params(arg1) ctx = arg0.ctx res = isl.isl_multi_aff_gist_params(isl.isl_multi_aff_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj def has_range_tuple_id(arg0): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_aff_has_range_tuple_id(arg0.ptr) if res < 0: raise Error return bool(res) def identity(*args): if len(args) == 1: args = list(args) try: if not args[0].__class__ is multi_aff: args[0] = multi_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_multi_aff_identity_multi_aff(isl.isl_multi_aff_copy(args[0].ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj raise Error @staticmethod def identity_on_domain(*args): if len(args) == 1 and args[0].__class__ is space: ctx = args[0].ctx res = isl.isl_multi_aff_identity_on_domain_space(isl.isl_space_copy(args[0].ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj raise Error def insert_domain(arg0, arg1): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise try: if not arg1.__class__ is space: arg1 = space(arg1) except: return pw_multi_aff(arg0).insert_domain(arg1) ctx = arg0.ctx res = isl.isl_multi_aff_insert_domain(isl.isl_multi_aff_copy(arg0.ptr), isl.isl_space_copy(arg1.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj def involves_locals(arg0): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_aff_involves_locals(arg0.ptr) if res < 0: raise Error return bool(res) def involves_nan(arg0): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_aff_involves_nan(arg0.ptr) if res < 0: raise Error return bool(res) def list(arg0): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_aff_get_list(arg0.ptr) obj = aff_list(ctx=ctx, ptr=res) return obj def get_list(arg0): return arg0.list() @staticmethod def multi_val_on_domain(*args): if len(args) == 2 and args[0].__class__ is space and args[1].__class__ is multi_val: ctx = args[0].ctx res = isl.isl_multi_aff_multi_val_on_domain_space(isl.isl_space_copy(args[0].ptr), isl.isl_multi_val_copy(args[1].ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj raise Error def neg(arg0): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_aff_neg(isl.isl_multi_aff_copy(arg0.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj def plain_is_equal(arg0, arg1): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise try: if not arg1.__class__ is multi_aff: arg1 = multi_aff(arg1) except: return pw_multi_aff(arg0).plain_is_equal(arg1) ctx = arg0.ctx res = isl.isl_multi_aff_plain_is_equal(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def product(arg0, arg1): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise try: if not arg1.__class__ is multi_aff: arg1 = multi_aff(arg1) except: return pw_multi_aff(arg0).product(arg1) ctx = arg0.ctx res = isl.isl_multi_aff_product(isl.isl_multi_aff_copy(arg0.ptr), isl.isl_multi_aff_copy(arg1.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj def pullback(*args): if len(args) == 2 and args[1].__class__ is multi_aff: args = list(args) try: if not args[0].__class__ is multi_aff: args[0] = multi_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_multi_aff_pullback_multi_aff(isl.isl_multi_aff_copy(args[0].ptr), isl.isl_multi_aff_copy(args[1].ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj raise Error @staticmethod def range_map(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_aff_range_map(isl.isl_space_copy(arg0.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj def range_product(arg0, arg1): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise try: if not arg1.__class__ is multi_aff: arg1 = multi_aff(arg1) except: return pw_multi_aff(arg0).range_product(arg1) ctx = arg0.ctx res = isl.isl_multi_aff_range_product(isl.isl_multi_aff_copy(arg0.ptr), isl.isl_multi_aff_copy(arg1.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj def range_tuple_id(arg0): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_aff_get_range_tuple_id(arg0.ptr) obj = id(ctx=ctx, ptr=res) return obj def get_range_tuple_id(arg0): return arg0.range_tuple_id() def reset_range_tuple_id(arg0): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_aff_reset_range_tuple_id(isl.isl_multi_aff_copy(arg0.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj def scale(*args): if len(args) == 2 and args[1].__class__ is multi_val: args = list(args) try: if not args[0].__class__ is multi_aff: args[0] = multi_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_multi_aff_scale_multi_val(isl.isl_multi_aff_copy(args[0].ptr), isl.isl_multi_val_copy(args[1].ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is multi_aff: args[0] = multi_aff(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_multi_aff_scale_val(isl.isl_multi_aff_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj raise Error def scale_down(*args): if len(args) == 2 and args[1].__class__ is multi_val: args = list(args) try: if not args[0].__class__ is multi_aff: args[0] = multi_aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_multi_aff_scale_down_multi_val(isl.isl_multi_aff_copy(args[0].ptr), isl.isl_multi_val_copy(args[1].ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is multi_aff: args[0] = multi_aff(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_multi_aff_scale_down_val(isl.isl_multi_aff_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj raise Error def set_at(arg0, arg1, arg2): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise try: if not arg2.__class__ is aff: arg2 = aff(arg2) except: return pw_multi_aff(arg0).set_at(arg1, arg2) ctx = arg0.ctx res = isl.isl_multi_aff_set_at(isl.isl_multi_aff_copy(arg0.ptr), arg1, isl.isl_aff_copy(arg2.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj def set_range_tuple(*args): if len(args) == 2 and (args[1].__class__ is id or type(args[1]) == str): args = list(args) try: if not args[0].__class__ is multi_aff: args[0] = multi_aff(args[0]) except: raise try: if not args[1].__class__ is id: args[1] = id(args[1]) except: raise ctx = args[0].ctx res = isl.isl_multi_aff_set_range_tuple_id(isl.isl_multi_aff_copy(args[0].ptr), isl.isl_id_copy(args[1].ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj raise Error def size(arg0): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_aff_size(arg0.ptr) if res < 0: raise Error return int(res) def space(arg0): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_aff_get_space(arg0.ptr) obj = space(ctx=ctx, ptr=res) return obj def get_space(arg0): return arg0.space() def sub(arg0, arg1): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise try: if not arg1.__class__ is multi_aff: arg1 = multi_aff(arg1) except: return pw_multi_aff(arg0).sub(arg1) ctx = arg0.ctx res = isl.isl_multi_aff_sub(isl.isl_multi_aff_copy(arg0.ptr), isl.isl_multi_aff_copy(arg1.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj def to_multi_pw_aff(arg0): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_aff_to_multi_pw_aff(isl.isl_multi_aff_copy(arg0.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def to_multi_union_pw_aff(arg0): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_aff_to_multi_union_pw_aff(isl.isl_multi_aff_copy(arg0.ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj def to_pw_multi_aff(arg0): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_aff_to_pw_multi_aff(isl.isl_multi_aff_copy(arg0.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def unbind_params_insert_domain(arg0, arg1): try: if not arg0.__class__ is multi_aff: arg0 = multi_aff(arg0) except: raise try: if not arg1.__class__ is multi_id: arg1 = multi_id(arg1) except: return pw_multi_aff(arg0).unbind_params_insert_domain(arg1) ctx = arg0.ctx res = isl.isl_multi_aff_unbind_params_insert_domain(isl.isl_multi_aff_copy(arg0.ptr), isl.isl_multi_id_copy(arg1.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj @staticmethod def zero(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_aff_zero(isl.isl_space_copy(arg0.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj isl.isl_multi_aff_from_aff.restype = c_void_p isl.isl_multi_aff_from_aff.argtypes = [c_void_p] isl.isl_multi_aff_from_aff_list.restype = c_void_p isl.isl_multi_aff_from_aff_list.argtypes = [c_void_p, c_void_p] isl.isl_multi_aff_read_from_str.restype = c_void_p isl.isl_multi_aff_read_from_str.argtypes = [Context, c_char_p] isl.isl_multi_aff_add.restype = c_void_p isl.isl_multi_aff_add.argtypes = [c_void_p, c_void_p] isl.isl_multi_aff_add_constant_multi_val.restype = c_void_p isl.isl_multi_aff_add_constant_multi_val.argtypes = [c_void_p, c_void_p] isl.isl_multi_aff_add_constant_val.restype = c_void_p isl.isl_multi_aff_add_constant_val.argtypes = [c_void_p, c_void_p] isl.isl_multi_aff_as_map.restype = c_void_p isl.isl_multi_aff_as_map.argtypes = [c_void_p] isl.isl_multi_aff_as_set.restype = c_void_p isl.isl_multi_aff_as_set.argtypes = [c_void_p] isl.isl_multi_aff_get_at.restype = c_void_p isl.isl_multi_aff_get_at.argtypes = [c_void_p, c_int] isl.isl_multi_aff_bind.restype = c_void_p isl.isl_multi_aff_bind.argtypes = [c_void_p, c_void_p] isl.isl_multi_aff_bind_domain.restype = c_void_p isl.isl_multi_aff_bind_domain.argtypes = [c_void_p, c_void_p] isl.isl_multi_aff_bind_domain_wrapped_domain.restype = c_void_p isl.isl_multi_aff_bind_domain_wrapped_domain.argtypes = [c_void_p, c_void_p] isl.isl_multi_aff_get_constant_multi_val.restype = c_void_p isl.isl_multi_aff_get_constant_multi_val.argtypes = [c_void_p] isl.isl_multi_aff_domain_map.restype = c_void_p isl.isl_multi_aff_domain_map.argtypes = [c_void_p] isl.isl_multi_aff_domain_reverse.restype = c_void_p isl.isl_multi_aff_domain_reverse.argtypes = [c_void_p] isl.isl_multi_aff_flat_range_product.restype = c_void_p isl.isl_multi_aff_flat_range_product.argtypes = [c_void_p, c_void_p] isl.isl_multi_aff_floor.restype = c_void_p isl.isl_multi_aff_floor.argtypes = [c_void_p] isl.isl_multi_aff_gist.restype = c_void_p isl.isl_multi_aff_gist.argtypes = [c_void_p, c_void_p] isl.isl_multi_aff_gist_params.restype = c_void_p isl.isl_multi_aff_gist_params.argtypes = [c_void_p, c_void_p] isl.isl_multi_aff_has_range_tuple_id.argtypes = [c_void_p] isl.isl_multi_aff_identity_multi_aff.restype = c_void_p isl.isl_multi_aff_identity_multi_aff.argtypes = [c_void_p] isl.isl_multi_aff_identity_on_domain_space.restype = c_void_p isl.isl_multi_aff_identity_on_domain_space.argtypes = [c_void_p] isl.isl_multi_aff_insert_domain.restype = c_void_p isl.isl_multi_aff_insert_domain.argtypes = [c_void_p, c_void_p] isl.isl_multi_aff_involves_locals.argtypes = [c_void_p] isl.isl_multi_aff_involves_nan.argtypes = [c_void_p] isl.isl_multi_aff_get_list.restype = c_void_p isl.isl_multi_aff_get_list.argtypes = [c_void_p] isl.isl_multi_aff_multi_val_on_domain_space.restype = c_void_p isl.isl_multi_aff_multi_val_on_domain_space.argtypes = [c_void_p, c_void_p] isl.isl_multi_aff_neg.restype = c_void_p isl.isl_multi_aff_neg.argtypes = [c_void_p] isl.isl_multi_aff_plain_is_equal.argtypes = [c_void_p, c_void_p] isl.isl_multi_aff_product.restype = c_void_p isl.isl_multi_aff_product.argtypes = [c_void_p, c_void_p] isl.isl_multi_aff_pullback_multi_aff.restype = c_void_p isl.isl_multi_aff_pullback_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_multi_aff_range_map.restype = c_void_p isl.isl_multi_aff_range_map.argtypes = [c_void_p] isl.isl_multi_aff_range_product.restype = c_void_p isl.isl_multi_aff_range_product.argtypes = [c_void_p, c_void_p] isl.isl_multi_aff_get_range_tuple_id.restype = c_void_p isl.isl_multi_aff_get_range_tuple_id.argtypes = [c_void_p] isl.isl_multi_aff_reset_range_tuple_id.restype = c_void_p isl.isl_multi_aff_reset_range_tuple_id.argtypes = [c_void_p] isl.isl_multi_aff_scale_multi_val.restype = c_void_p isl.isl_multi_aff_scale_multi_val.argtypes = [c_void_p, c_void_p] isl.isl_multi_aff_scale_val.restype = c_void_p isl.isl_multi_aff_scale_val.argtypes = [c_void_p, c_void_p] isl.isl_multi_aff_scale_down_multi_val.restype = c_void_p isl.isl_multi_aff_scale_down_multi_val.argtypes = [c_void_p, c_void_p] isl.isl_multi_aff_scale_down_val.restype = c_void_p isl.isl_multi_aff_scale_down_val.argtypes = [c_void_p, c_void_p] isl.isl_multi_aff_set_at.restype = c_void_p isl.isl_multi_aff_set_at.argtypes = [c_void_p, c_int, c_void_p] isl.isl_multi_aff_set_range_tuple_id.restype = c_void_p isl.isl_multi_aff_set_range_tuple_id.argtypes = [c_void_p, c_void_p] isl.isl_multi_aff_size.argtypes = [c_void_p] isl.isl_multi_aff_get_space.restype = c_void_p isl.isl_multi_aff_get_space.argtypes = [c_void_p] isl.isl_multi_aff_sub.restype = c_void_p isl.isl_multi_aff_sub.argtypes = [c_void_p, c_void_p] isl.isl_multi_aff_to_multi_pw_aff.restype = c_void_p isl.isl_multi_aff_to_multi_pw_aff.argtypes = [c_void_p] isl.isl_multi_aff_to_multi_union_pw_aff.restype = c_void_p isl.isl_multi_aff_to_multi_union_pw_aff.argtypes = [c_void_p] isl.isl_multi_aff_to_pw_multi_aff.restype = c_void_p isl.isl_multi_aff_to_pw_multi_aff.argtypes = [c_void_p] isl.isl_multi_aff_unbind_params_insert_domain.restype = c_void_p isl.isl_multi_aff_unbind_params_insert_domain.argtypes = [c_void_p, c_void_p] isl.isl_multi_aff_zero.restype = c_void_p isl.isl_multi_aff_zero.argtypes = [c_void_p] isl.isl_multi_aff_copy.restype = c_void_p isl.isl_multi_aff_copy.argtypes = [c_void_p] isl.isl_multi_aff_free.restype = c_void_p isl.isl_multi_aff_free.argtypes = [c_void_p] isl.isl_multi_aff_to_str.restype = POINTER(c_char) isl.isl_multi_aff_to_str.argtypes = [c_void_p] class aff(pw_aff, multi_aff): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_aff_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_aff_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is aff: arg0 = aff(arg0) except: raise ptr = isl.isl_aff_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.aff("""%s""")' % s else: return 'isl.aff("%s")' % s def add(arg0, arg1): try: if not arg0.__class__ is aff: arg0 = aff(arg0) except: raise try: if not arg1.__class__ is aff: arg1 = aff(arg1) except: return pw_aff(arg0).add(arg1) ctx = arg0.ctx res = isl.isl_aff_add(isl.isl_aff_copy(arg0.ptr), isl.isl_aff_copy(arg1.ptr)) obj = aff(ctx=ctx, ptr=res) return obj def add_constant(*args): if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is aff: args[0] = aff(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_aff_add_constant_val(isl.isl_aff_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = aff(ctx=ctx, ptr=res) return obj raise Error def bind(*args): if len(args) == 2 and (args[1].__class__ is id or type(args[1]) == str): args = list(args) try: if not args[0].__class__ is aff: args[0] = aff(args[0]) except: raise try: if not args[1].__class__ is id: args[1] = id(args[1]) except: raise ctx = args[0].ctx res = isl.isl_aff_bind_id(isl.isl_aff_copy(args[0].ptr), isl.isl_id_copy(args[1].ptr)) obj = basic_set(ctx=ctx, ptr=res) return obj raise Error def ceil(arg0): try: if not arg0.__class__ is aff: arg0 = aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_aff_ceil(isl.isl_aff_copy(arg0.ptr)) obj = aff(ctx=ctx, ptr=res) return obj def constant_val(arg0): try: if not arg0.__class__ is aff: arg0 = aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_aff_get_constant_val(arg0.ptr) obj = val(ctx=ctx, ptr=res) return obj def get_constant_val(arg0): return arg0.constant_val() def div(arg0, arg1): try: if not arg0.__class__ is aff: arg0 = aff(arg0) except: raise try: if not arg1.__class__ is aff: arg1 = aff(arg1) except: return pw_aff(arg0).div(arg1) ctx = arg0.ctx res = isl.isl_aff_div(isl.isl_aff_copy(arg0.ptr), isl.isl_aff_copy(arg1.ptr)) obj = aff(ctx=ctx, ptr=res) return obj def domain_reverse(arg0): try: if not arg0.__class__ is aff: arg0 = aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_aff_domain_reverse(isl.isl_aff_copy(arg0.ptr)) obj = aff(ctx=ctx, ptr=res) return obj def eq_set(arg0, arg1): try: if not arg0.__class__ is aff: arg0 = aff(arg0) except: raise try: if not arg1.__class__ is aff: arg1 = aff(arg1) except: return pw_aff(arg0).eq_set(arg1) ctx = arg0.ctx res = isl.isl_aff_eq_set(isl.isl_aff_copy(arg0.ptr), isl.isl_aff_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def eval(arg0, arg1): try: if not arg0.__class__ is aff: arg0 = aff(arg0) except: raise try: if not arg1.__class__ is point: arg1 = point(arg1) except: return pw_aff(arg0).eval(arg1) ctx = arg0.ctx res = isl.isl_aff_eval(isl.isl_aff_copy(arg0.ptr), isl.isl_point_copy(arg1.ptr)) obj = val(ctx=ctx, ptr=res) return obj def floor(arg0): try: if not arg0.__class__ is aff: arg0 = aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_aff_floor(isl.isl_aff_copy(arg0.ptr)) obj = aff(ctx=ctx, ptr=res) return obj def ge_set(arg0, arg1): try: if not arg0.__class__ is aff: arg0 = aff(arg0) except: raise try: if not arg1.__class__ is aff: arg1 = aff(arg1) except: return pw_aff(arg0).ge_set(arg1) ctx = arg0.ctx res = isl.isl_aff_ge_set(isl.isl_aff_copy(arg0.ptr), isl.isl_aff_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def gist(arg0, arg1): try: if not arg0.__class__ is aff: arg0 = aff(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return pw_aff(arg0).gist(arg1) ctx = arg0.ctx res = isl.isl_aff_gist(isl.isl_aff_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = aff(ctx=ctx, ptr=res) return obj def gist_params(arg0, arg1): try: if not arg0.__class__ is aff: arg0 = aff(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return pw_aff(arg0).gist_params(arg1) ctx = arg0.ctx res = isl.isl_aff_gist_params(isl.isl_aff_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = aff(ctx=ctx, ptr=res) return obj def gt_set(arg0, arg1): try: if not arg0.__class__ is aff: arg0 = aff(arg0) except: raise try: if not arg1.__class__ is aff: arg1 = aff(arg1) except: return pw_aff(arg0).gt_set(arg1) ctx = arg0.ctx res = isl.isl_aff_gt_set(isl.isl_aff_copy(arg0.ptr), isl.isl_aff_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def is_cst(arg0): try: if not arg0.__class__ is aff: arg0 = aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_aff_is_cst(arg0.ptr) if res < 0: raise Error return bool(res) def le_set(arg0, arg1): try: if not arg0.__class__ is aff: arg0 = aff(arg0) except: raise try: if not arg1.__class__ is aff: arg1 = aff(arg1) except: return pw_aff(arg0).le_set(arg1) ctx = arg0.ctx res = isl.isl_aff_le_set(isl.isl_aff_copy(arg0.ptr), isl.isl_aff_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def lt_set(arg0, arg1): try: if not arg0.__class__ is aff: arg0 = aff(arg0) except: raise try: if not arg1.__class__ is aff: arg1 = aff(arg1) except: return pw_aff(arg0).lt_set(arg1) ctx = arg0.ctx res = isl.isl_aff_lt_set(isl.isl_aff_copy(arg0.ptr), isl.isl_aff_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def mod(*args): if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is aff: args[0] = aff(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_aff_mod_val(isl.isl_aff_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = aff(ctx=ctx, ptr=res) return obj raise Error def mul(arg0, arg1): try: if not arg0.__class__ is aff: arg0 = aff(arg0) except: raise try: if not arg1.__class__ is aff: arg1 = aff(arg1) except: return pw_aff(arg0).mul(arg1) ctx = arg0.ctx res = isl.isl_aff_mul(isl.isl_aff_copy(arg0.ptr), isl.isl_aff_copy(arg1.ptr)) obj = aff(ctx=ctx, ptr=res) return obj def ne_set(arg0, arg1): try: if not arg0.__class__ is aff: arg0 = aff(arg0) except: raise try: if not arg1.__class__ is aff: arg1 = aff(arg1) except: return pw_aff(arg0).ne_set(arg1) ctx = arg0.ctx res = isl.isl_aff_ne_set(isl.isl_aff_copy(arg0.ptr), isl.isl_aff_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def neg(arg0): try: if not arg0.__class__ is aff: arg0 = aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_aff_neg(isl.isl_aff_copy(arg0.ptr)) obj = aff(ctx=ctx, ptr=res) return obj def plain_is_equal(arg0, arg1): try: if not arg0.__class__ is aff: arg0 = aff(arg0) except: raise try: if not arg1.__class__ is aff: arg1 = aff(arg1) except: return pw_aff(arg0).plain_is_equal(arg1) ctx = arg0.ctx res = isl.isl_aff_plain_is_equal(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def pullback(*args): if len(args) == 2 and args[1].__class__ is multi_aff: args = list(args) try: if not args[0].__class__ is aff: args[0] = aff(args[0]) except: raise ctx = args[0].ctx res = isl.isl_aff_pullback_multi_aff(isl.isl_aff_copy(args[0].ptr), isl.isl_multi_aff_copy(args[1].ptr)) obj = aff(ctx=ctx, ptr=res) return obj raise Error def scale(*args): if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is aff: args[0] = aff(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_aff_scale_val(isl.isl_aff_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = aff(ctx=ctx, ptr=res) return obj raise Error def scale_down(*args): if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is aff: args[0] = aff(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_aff_scale_down_val(isl.isl_aff_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = aff(ctx=ctx, ptr=res) return obj raise Error def sub(arg0, arg1): try: if not arg0.__class__ is aff: arg0 = aff(arg0) except: raise try: if not arg1.__class__ is aff: arg1 = aff(arg1) except: return pw_aff(arg0).sub(arg1) ctx = arg0.ctx res = isl.isl_aff_sub(isl.isl_aff_copy(arg0.ptr), isl.isl_aff_copy(arg1.ptr)) obj = aff(ctx=ctx, ptr=res) return obj def to_list(arg0): try: if not arg0.__class__ is aff: arg0 = aff(arg0) except: raise ctx = arg0.ctx res = isl.isl_aff_to_list(isl.isl_aff_copy(arg0.ptr)) obj = aff_list(ctx=ctx, ptr=res) return obj def unbind_params_insert_domain(arg0, arg1): try: if not arg0.__class__ is aff: arg0 = aff(arg0) except: raise try: if not arg1.__class__ is multi_id: arg1 = multi_id(arg1) except: return pw_aff(arg0).unbind_params_insert_domain(arg1) ctx = arg0.ctx res = isl.isl_aff_unbind_params_insert_domain(isl.isl_aff_copy(arg0.ptr), isl.isl_multi_id_copy(arg1.ptr)) obj = aff(ctx=ctx, ptr=res) return obj @staticmethod def zero_on_domain(*args): if len(args) == 1 and args[0].__class__ is space: ctx = args[0].ctx res = isl.isl_aff_zero_on_domain_space(isl.isl_space_copy(args[0].ptr)) obj = aff(ctx=ctx, ptr=res) return obj raise Error isl.isl_aff_read_from_str.restype = c_void_p isl.isl_aff_read_from_str.argtypes = [Context, c_char_p] isl.isl_aff_add.restype = c_void_p isl.isl_aff_add.argtypes = [c_void_p, c_void_p] isl.isl_aff_add_constant_val.restype = c_void_p isl.isl_aff_add_constant_val.argtypes = [c_void_p, c_void_p] isl.isl_aff_bind_id.restype = c_void_p isl.isl_aff_bind_id.argtypes = [c_void_p, c_void_p] isl.isl_aff_ceil.restype = c_void_p isl.isl_aff_ceil.argtypes = [c_void_p] isl.isl_aff_get_constant_val.restype = c_void_p isl.isl_aff_get_constant_val.argtypes = [c_void_p] isl.isl_aff_div.restype = c_void_p isl.isl_aff_div.argtypes = [c_void_p, c_void_p] isl.isl_aff_domain_reverse.restype = c_void_p isl.isl_aff_domain_reverse.argtypes = [c_void_p] isl.isl_aff_eq_set.restype = c_void_p isl.isl_aff_eq_set.argtypes = [c_void_p, c_void_p] isl.isl_aff_eval.restype = c_void_p isl.isl_aff_eval.argtypes = [c_void_p, c_void_p] isl.isl_aff_floor.restype = c_void_p isl.isl_aff_floor.argtypes = [c_void_p] isl.isl_aff_ge_set.restype = c_void_p isl.isl_aff_ge_set.argtypes = [c_void_p, c_void_p] isl.isl_aff_gist.restype = c_void_p isl.isl_aff_gist.argtypes = [c_void_p, c_void_p] isl.isl_aff_gist_params.restype = c_void_p isl.isl_aff_gist_params.argtypes = [c_void_p, c_void_p] isl.isl_aff_gt_set.restype = c_void_p isl.isl_aff_gt_set.argtypes = [c_void_p, c_void_p] isl.isl_aff_is_cst.argtypes = [c_void_p] isl.isl_aff_le_set.restype = c_void_p isl.isl_aff_le_set.argtypes = [c_void_p, c_void_p] isl.isl_aff_lt_set.restype = c_void_p isl.isl_aff_lt_set.argtypes = [c_void_p, c_void_p] isl.isl_aff_mod_val.restype = c_void_p isl.isl_aff_mod_val.argtypes = [c_void_p, c_void_p] isl.isl_aff_mul.restype = c_void_p isl.isl_aff_mul.argtypes = [c_void_p, c_void_p] isl.isl_aff_ne_set.restype = c_void_p isl.isl_aff_ne_set.argtypes = [c_void_p, c_void_p] isl.isl_aff_neg.restype = c_void_p isl.isl_aff_neg.argtypes = [c_void_p] isl.isl_aff_plain_is_equal.argtypes = [c_void_p, c_void_p] isl.isl_aff_pullback_multi_aff.restype = c_void_p isl.isl_aff_pullback_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_aff_scale_val.restype = c_void_p isl.isl_aff_scale_val.argtypes = [c_void_p, c_void_p] isl.isl_aff_scale_down_val.restype = c_void_p isl.isl_aff_scale_down_val.argtypes = [c_void_p, c_void_p] isl.isl_aff_sub.restype = c_void_p isl.isl_aff_sub.argtypes = [c_void_p, c_void_p] isl.isl_aff_to_list.restype = c_void_p isl.isl_aff_to_list.argtypes = [c_void_p] isl.isl_aff_unbind_params_insert_domain.restype = c_void_p isl.isl_aff_unbind_params_insert_domain.argtypes = [c_void_p, c_void_p] isl.isl_aff_zero_on_domain_space.restype = c_void_p isl.isl_aff_zero_on_domain_space.argtypes = [c_void_p] isl.isl_aff_copy.restype = c_void_p isl.isl_aff_copy.argtypes = [c_void_p] isl.isl_aff_free.restype = c_void_p isl.isl_aff_free.argtypes = [c_void_p] isl.isl_aff_to_str.restype = POINTER(c_char) isl.isl_aff_to_str.argtypes = [c_void_p] class aff_list(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and type(args[0]) == int: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_aff_list_alloc(self.ctx, args[0]) return if len(args) == 1 and args[0].__class__ is aff: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_aff_list_from_aff(isl.isl_aff_copy(args[0].ptr)) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_aff_list_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_aff_list_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is aff_list: arg0 = aff_list(arg0) except: raise ptr = isl.isl_aff_list_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.aff_list("""%s""")' % s else: return 'isl.aff_list("%s")' % s def add(arg0, arg1): try: if not arg0.__class__ is aff_list: arg0 = aff_list(arg0) except: raise try: if not arg1.__class__ is aff: arg1 = aff(arg1) except: raise ctx = arg0.ctx res = isl.isl_aff_list_add(isl.isl_aff_list_copy(arg0.ptr), isl.isl_aff_copy(arg1.ptr)) obj = aff_list(ctx=ctx, ptr=res) return obj def at(arg0, arg1): try: if not arg0.__class__ is aff_list: arg0 = aff_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_aff_list_get_at(arg0.ptr, arg1) obj = aff(ctx=ctx, ptr=res) return obj def get_at(arg0, arg1): return arg0.at(arg1) def clear(arg0): try: if not arg0.__class__ is aff_list: arg0 = aff_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_aff_list_clear(isl.isl_aff_list_copy(arg0.ptr)) obj = aff_list(ctx=ctx, ptr=res) return obj def concat(arg0, arg1): try: if not arg0.__class__ is aff_list: arg0 = aff_list(arg0) except: raise try: if not arg1.__class__ is aff_list: arg1 = aff_list(arg1) except: raise ctx = arg0.ctx res = isl.isl_aff_list_concat(isl.isl_aff_list_copy(arg0.ptr), isl.isl_aff_list_copy(arg1.ptr)) obj = aff_list(ctx=ctx, ptr=res) return obj def drop(arg0, arg1, arg2): try: if not arg0.__class__ is aff_list: arg0 = aff_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_aff_list_drop(isl.isl_aff_list_copy(arg0.ptr), arg1, arg2) obj = aff_list(ctx=ctx, ptr=res) return obj def foreach(arg0, arg1): try: if not arg0.__class__ is aff_list: arg0 = aff_list(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = aff(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg1(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_aff_list_foreach(arg0.ptr, cb1, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def foreach_scc(arg0, arg1, arg2): try: if not arg0.__class__ is aff_list: arg0 = aff_list(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1, cb_arg2): cb_arg0 = aff(ctx=arg0.ctx, ptr=isl.isl_aff_copy(cb_arg0)) cb_arg1 = aff(ctx=arg0.ctx, ptr=isl.isl_aff_copy(cb_arg1)) try: res = arg1(cb_arg0, cb_arg1) except BaseException as e: exc_info[0] = e return -1 return 1 if res else 0 cb1 = fn(cb_func) exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = aff_list(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg2(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb2 = fn(cb_func) ctx = arg0.ctx res = isl.isl_aff_list_foreach_scc(arg0.ptr, cb1, None, cb2, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def insert(arg0, arg1, arg2): try: if not arg0.__class__ is aff_list: arg0 = aff_list(arg0) except: raise try: if not arg2.__class__ is aff: arg2 = aff(arg2) except: raise ctx = arg0.ctx res = isl.isl_aff_list_insert(isl.isl_aff_list_copy(arg0.ptr), arg1, isl.isl_aff_copy(arg2.ptr)) obj = aff_list(ctx=ctx, ptr=res) return obj def set_at(arg0, arg1, arg2): try: if not arg0.__class__ is aff_list: arg0 = aff_list(arg0) except: raise try: if not arg2.__class__ is aff: arg2 = aff(arg2) except: raise ctx = arg0.ctx res = isl.isl_aff_list_set_at(isl.isl_aff_list_copy(arg0.ptr), arg1, isl.isl_aff_copy(arg2.ptr)) obj = aff_list(ctx=ctx, ptr=res) return obj def size(arg0): try: if not arg0.__class__ is aff_list: arg0 = aff_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_aff_list_size(arg0.ptr) if res < 0: raise Error return int(res) isl.isl_aff_list_alloc.restype = c_void_p isl.isl_aff_list_alloc.argtypes = [Context, c_int] isl.isl_aff_list_from_aff.restype = c_void_p isl.isl_aff_list_from_aff.argtypes = [c_void_p] isl.isl_aff_list_read_from_str.restype = c_void_p isl.isl_aff_list_read_from_str.argtypes = [Context, c_char_p] isl.isl_aff_list_add.restype = c_void_p isl.isl_aff_list_add.argtypes = [c_void_p, c_void_p] isl.isl_aff_list_get_at.restype = c_void_p isl.isl_aff_list_get_at.argtypes = [c_void_p, c_int] isl.isl_aff_list_clear.restype = c_void_p isl.isl_aff_list_clear.argtypes = [c_void_p] isl.isl_aff_list_concat.restype = c_void_p isl.isl_aff_list_concat.argtypes = [c_void_p, c_void_p] isl.isl_aff_list_drop.restype = c_void_p isl.isl_aff_list_drop.argtypes = [c_void_p, c_int, c_int] isl.isl_aff_list_foreach.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_aff_list_foreach_scc.argtypes = [c_void_p, c_void_p, c_void_p, c_void_p, c_void_p] isl.isl_aff_list_insert.restype = c_void_p isl.isl_aff_list_insert.argtypes = [c_void_p, c_int, c_void_p] isl.isl_aff_list_set_at.restype = c_void_p isl.isl_aff_list_set_at.argtypes = [c_void_p, c_int, c_void_p] isl.isl_aff_list_size.argtypes = [c_void_p] isl.isl_aff_list_copy.restype = c_void_p isl.isl_aff_list_copy.argtypes = [c_void_p] isl.isl_aff_list_free.restype = c_void_p isl.isl_aff_list_free.argtypes = [c_void_p] isl.isl_aff_list_to_str.restype = POINTER(c_char) isl.isl_aff_list_to_str.argtypes = [c_void_p] class ast_build(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 0: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_ast_build_alloc(self.ctx) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_build_free(self.ptr) def copy_callbacks(self, obj): if hasattr(obj, 'at_each_domain'): self.at_each_domain = obj.at_each_domain def set_at_each_domain(arg0, arg1): try: if not arg0.__class__ is ast_build: arg0 = ast_build(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_void_p, c_void_p, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1, cb_arg2): cb_arg0 = ast_node(ctx=arg0.ctx, ptr=(cb_arg0)) cb_arg1 = ast_build(ctx=arg0.ctx, ptr=isl.isl_ast_build_copy(cb_arg1)) try: res = arg1(cb_arg0, cb_arg1) except BaseException as e: exc_info[0] = e return None return isl.isl_ast_node_copy(res.ptr) cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_ast_build_set_at_each_domain(isl.isl_ast_build_copy(arg0.ptr), cb1, None) if exc_info[0] is not None: raise exc_info[0] if hasattr(arg0, 'at_each_domain') and arg0.at_each_domain['exc_info'] != None: exc_info = arg0.at_each_domain['exc_info'][0] arg0.at_each_domain['exc_info'][0] = None if exc_info is not None: raise exc_info obj = ast_build(ctx=ctx, ptr=res) obj.copy_callbacks(arg0) obj.at_each_domain = { 'func': cb1, 'exc_info': exc_info } return obj def access_from(*args): if len(args) == 2 and args[1].__class__ is multi_pw_aff: args = list(args) try: if not args[0].__class__ is ast_build: args[0] = ast_build(args[0]) except: raise ctx = args[0].ctx res = isl.isl_ast_build_access_from_multi_pw_aff(args[0].ptr, isl.isl_multi_pw_aff_copy(args[1].ptr)) if hasattr(args[0], 'at_each_domain') and args[0].at_each_domain['exc_info'] != None: exc_info = args[0].at_each_domain['exc_info'][0] args[0].at_each_domain['exc_info'][0] = None if exc_info is not None: raise exc_info obj = ast_expr(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is pw_multi_aff: args = list(args) try: if not args[0].__class__ is ast_build: args[0] = ast_build(args[0]) except: raise ctx = args[0].ctx res = isl.isl_ast_build_access_from_pw_multi_aff(args[0].ptr, isl.isl_pw_multi_aff_copy(args[1].ptr)) if hasattr(args[0], 'at_each_domain') and args[0].at_each_domain['exc_info'] != None: exc_info = args[0].at_each_domain['exc_info'][0] args[0].at_each_domain['exc_info'][0] = None if exc_info is not None: raise exc_info obj = ast_expr(ctx=ctx, ptr=res) return obj raise Error def call_from(*args): if len(args) == 2 and args[1].__class__ is multi_pw_aff: args = list(args) try: if not args[0].__class__ is ast_build: args[0] = ast_build(args[0]) except: raise ctx = args[0].ctx res = isl.isl_ast_build_call_from_multi_pw_aff(args[0].ptr, isl.isl_multi_pw_aff_copy(args[1].ptr)) if hasattr(args[0], 'at_each_domain') and args[0].at_each_domain['exc_info'] != None: exc_info = args[0].at_each_domain['exc_info'][0] args[0].at_each_domain['exc_info'][0] = None if exc_info is not None: raise exc_info obj = ast_expr(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is pw_multi_aff: args = list(args) try: if not args[0].__class__ is ast_build: args[0] = ast_build(args[0]) except: raise ctx = args[0].ctx res = isl.isl_ast_build_call_from_pw_multi_aff(args[0].ptr, isl.isl_pw_multi_aff_copy(args[1].ptr)) if hasattr(args[0], 'at_each_domain') and args[0].at_each_domain['exc_info'] != None: exc_info = args[0].at_each_domain['exc_info'][0] args[0].at_each_domain['exc_info'][0] = None if exc_info is not None: raise exc_info obj = ast_expr(ctx=ctx, ptr=res) return obj raise Error def expr_from(*args): if len(args) == 2 and args[1].__class__ is pw_aff: args = list(args) try: if not args[0].__class__ is ast_build: args[0] = ast_build(args[0]) except: raise ctx = args[0].ctx res = isl.isl_ast_build_expr_from_pw_aff(args[0].ptr, isl.isl_pw_aff_copy(args[1].ptr)) if hasattr(args[0], 'at_each_domain') and args[0].at_each_domain['exc_info'] != None: exc_info = args[0].at_each_domain['exc_info'][0] args[0].at_each_domain['exc_info'][0] = None if exc_info is not None: raise exc_info obj = ast_expr(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is set: args = list(args) try: if not args[0].__class__ is ast_build: args[0] = ast_build(args[0]) except: raise ctx = args[0].ctx res = isl.isl_ast_build_expr_from_set(args[0].ptr, isl.isl_set_copy(args[1].ptr)) if hasattr(args[0], 'at_each_domain') and args[0].at_each_domain['exc_info'] != None: exc_info = args[0].at_each_domain['exc_info'][0] args[0].at_each_domain['exc_info'][0] = None if exc_info is not None: raise exc_info obj = ast_expr(ctx=ctx, ptr=res) return obj raise Error @staticmethod def from_context(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_build_from_context(isl.isl_set_copy(arg0.ptr)) obj = ast_build(ctx=ctx, ptr=res) return obj def node_from(*args): if len(args) == 2 and args[1].__class__ is schedule: args = list(args) try: if not args[0].__class__ is ast_build: args[0] = ast_build(args[0]) except: raise ctx = args[0].ctx res = isl.isl_ast_build_node_from_schedule(args[0].ptr, isl.isl_schedule_copy(args[1].ptr)) if hasattr(args[0], 'at_each_domain') and args[0].at_each_domain['exc_info'] != None: exc_info = args[0].at_each_domain['exc_info'][0] args[0].at_each_domain['exc_info'][0] = None if exc_info is not None: raise exc_info obj = ast_node(ctx=ctx, ptr=res) return obj raise Error def node_from_schedule_map(arg0, arg1): try: if not arg0.__class__ is ast_build: arg0 = ast_build(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_ast_build_node_from_schedule_map(arg0.ptr, isl.isl_union_map_copy(arg1.ptr)) if hasattr(arg0, 'at_each_domain') and arg0.at_each_domain['exc_info'] != None: exc_info = arg0.at_each_domain['exc_info'][0] arg0.at_each_domain['exc_info'][0] = None if exc_info is not None: raise exc_info obj = ast_node(ctx=ctx, ptr=res) return obj def schedule(arg0): try: if not arg0.__class__ is ast_build: arg0 = ast_build(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_build_get_schedule(arg0.ptr) if hasattr(arg0, 'at_each_domain') and arg0.at_each_domain['exc_info'] != None: exc_info = arg0.at_each_domain['exc_info'][0] arg0.at_each_domain['exc_info'][0] = None if exc_info is not None: raise exc_info obj = union_map(ctx=ctx, ptr=res) return obj def get_schedule(arg0): return arg0.schedule() isl.isl_ast_build_alloc.restype = c_void_p isl.isl_ast_build_alloc.argtypes = [Context] isl.isl_ast_build_set_at_each_domain.restype = c_void_p isl.isl_ast_build_set_at_each_domain.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_ast_build_access_from_multi_pw_aff.restype = c_void_p isl.isl_ast_build_access_from_multi_pw_aff.argtypes = [c_void_p, c_void_p] isl.isl_ast_build_access_from_pw_multi_aff.restype = c_void_p isl.isl_ast_build_access_from_pw_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_ast_build_call_from_multi_pw_aff.restype = c_void_p isl.isl_ast_build_call_from_multi_pw_aff.argtypes = [c_void_p, c_void_p] isl.isl_ast_build_call_from_pw_multi_aff.restype = c_void_p isl.isl_ast_build_call_from_pw_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_ast_build_expr_from_pw_aff.restype = c_void_p isl.isl_ast_build_expr_from_pw_aff.argtypes = [c_void_p, c_void_p] isl.isl_ast_build_expr_from_set.restype = c_void_p isl.isl_ast_build_expr_from_set.argtypes = [c_void_p, c_void_p] isl.isl_ast_build_from_context.restype = c_void_p isl.isl_ast_build_from_context.argtypes = [c_void_p] isl.isl_ast_build_node_from_schedule.restype = c_void_p isl.isl_ast_build_node_from_schedule.argtypes = [c_void_p, c_void_p] isl.isl_ast_build_node_from_schedule_map.restype = c_void_p isl.isl_ast_build_node_from_schedule_map.argtypes = [c_void_p, c_void_p] isl.isl_ast_build_get_schedule.restype = c_void_p isl.isl_ast_build_get_schedule.argtypes = [c_void_p] isl.isl_ast_build_copy.restype = c_void_p isl.isl_ast_build_copy.argtypes = [c_void_p] isl.isl_ast_build_free.restype = c_void_p isl.isl_ast_build_free.argtypes = [c_void_p] class ast_expr(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and isinstance(args[0], ast_expr_op): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_id): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_int): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): if "ptr" in keywords: type = isl.isl_ast_expr_get_type(keywords["ptr"]) if type == 0: return ast_expr_op(**keywords) if type == 1: return ast_expr_id(**keywords) if type == 2: return ast_expr_int(**keywords) raise Error return super(ast_expr, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr: arg0 = ast_expr(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr("""%s""")' % s else: return 'isl.ast_expr("%s")' % s def to_C_str(arg0): try: if not arg0.__class__ is ast_expr: arg0 = ast_expr(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_expr_to_C_str(arg0.ptr) if res == 0: raise Error string = cast(res, c_char_p).value.decode('ascii') libc.free(res) return string isl.isl_ast_expr_to_C_str.restype = POINTER(c_char) isl.isl_ast_expr_to_C_str.argtypes = [c_void_p] isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] isl.isl_ast_expr_get_type.argtypes = [c_void_p] class ast_expr_id(ast_expr): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_id, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_id: arg0 = ast_expr_id(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_id("""%s""")' % s else: return 'isl.ast_expr_id("%s")' % s def id(arg0): try: if not arg0.__class__ is ast_expr: arg0 = ast_expr(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_expr_id_get_id(arg0.ptr) obj = id(ctx=ctx, ptr=res) return obj def get_id(arg0): return arg0.id() isl.isl_ast_expr_id_get_id.restype = c_void_p isl.isl_ast_expr_id_get_id.argtypes = [c_void_p] isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_int(ast_expr): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_int, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_int: arg0 = ast_expr_int(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_int("""%s""")' % s else: return 'isl.ast_expr_int("%s")' % s def val(arg0): try: if not arg0.__class__ is ast_expr: arg0 = ast_expr(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_expr_int_get_val(arg0.ptr) obj = val(ctx=ctx, ptr=res) return obj def get_val(arg0): return arg0.val() isl.isl_ast_expr_int_get_val.restype = c_void_p isl.isl_ast_expr_int_get_val.argtypes = [c_void_p] isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op(ast_expr): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and isinstance(args[0], ast_expr_op_and): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_and_then): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_or): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_or_else): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_max): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_min): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_minus): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_add): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_sub): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_mul): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_div): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_fdiv_q): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_pdiv_q): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_pdiv_r): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_zdiv_r): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_cond): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_select): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_eq): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_le): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_lt): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_ge): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_gt): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_call): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_access): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_member): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_expr_op_address_of): self.ctx = args[0].ctx self.ptr = isl.isl_ast_expr_copy(args[0].ptr) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): if "ptr" in keywords: type = isl.isl_ast_expr_op_get_type(keywords["ptr"]) if type == 0: return ast_expr_op_and(**keywords) if type == 1: return ast_expr_op_and_then(**keywords) if type == 2: return ast_expr_op_or(**keywords) if type == 3: return ast_expr_op_or_else(**keywords) if type == 4: return ast_expr_op_max(**keywords) if type == 5: return ast_expr_op_min(**keywords) if type == 6: return ast_expr_op_minus(**keywords) if type == 7: return ast_expr_op_add(**keywords) if type == 8: return ast_expr_op_sub(**keywords) if type == 9: return ast_expr_op_mul(**keywords) if type == 10: return ast_expr_op_div(**keywords) if type == 11: return ast_expr_op_fdiv_q(**keywords) if type == 12: return ast_expr_op_pdiv_q(**keywords) if type == 13: return ast_expr_op_pdiv_r(**keywords) if type == 14: return ast_expr_op_zdiv_r(**keywords) if type == 15: return ast_expr_op_cond(**keywords) if type == 16: return ast_expr_op_select(**keywords) if type == 17: return ast_expr_op_eq(**keywords) if type == 18: return ast_expr_op_le(**keywords) if type == 19: return ast_expr_op_lt(**keywords) if type == 20: return ast_expr_op_ge(**keywords) if type == 21: return ast_expr_op_gt(**keywords) if type == 22: return ast_expr_op_call(**keywords) if type == 23: return ast_expr_op_access(**keywords) if type == 24: return ast_expr_op_member(**keywords) if type == 25: return ast_expr_op_address_of(**keywords) raise Error return super(ast_expr_op, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op: arg0 = ast_expr_op(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op("""%s""")' % s else: return 'isl.ast_expr_op("%s")' % s def arg(arg0, arg1): try: if not arg0.__class__ is ast_expr: arg0 = ast_expr(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_expr_op_get_arg(arg0.ptr, arg1) obj = ast_expr(ctx=ctx, ptr=res) return obj def get_arg(arg0, arg1): return arg0.arg(arg1) def n_arg(arg0): try: if not arg0.__class__ is ast_expr: arg0 = ast_expr(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_expr_op_get_n_arg(arg0.ptr) if res < 0: raise Error return int(res) def get_n_arg(arg0): return arg0.n_arg() isl.isl_ast_expr_op_get_arg.restype = c_void_p isl.isl_ast_expr_op_get_arg.argtypes = [c_void_p, c_int] isl.isl_ast_expr_op_get_n_arg.argtypes = [c_void_p] isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] isl.isl_ast_expr_op_get_type.argtypes = [c_void_p] class ast_expr_op_access(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_access, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_access: arg0 = ast_expr_op_access(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_access("""%s""")' % s else: return 'isl.ast_expr_op_access("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_add(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_add, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_add: arg0 = ast_expr_op_add(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_add("""%s""")' % s else: return 'isl.ast_expr_op_add("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_address_of(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_address_of, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_address_of: arg0 = ast_expr_op_address_of(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_address_of("""%s""")' % s else: return 'isl.ast_expr_op_address_of("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_and(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_and, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_and: arg0 = ast_expr_op_and(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_and("""%s""")' % s else: return 'isl.ast_expr_op_and("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_and_then(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_and_then, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_and_then: arg0 = ast_expr_op_and_then(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_and_then("""%s""")' % s else: return 'isl.ast_expr_op_and_then("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_call(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_call, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_call: arg0 = ast_expr_op_call(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_call("""%s""")' % s else: return 'isl.ast_expr_op_call("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_cond(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_cond, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_cond: arg0 = ast_expr_op_cond(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_cond("""%s""")' % s else: return 'isl.ast_expr_op_cond("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_div(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_div, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_div: arg0 = ast_expr_op_div(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_div("""%s""")' % s else: return 'isl.ast_expr_op_div("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_eq(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_eq, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_eq: arg0 = ast_expr_op_eq(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_eq("""%s""")' % s else: return 'isl.ast_expr_op_eq("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_fdiv_q(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_fdiv_q, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_fdiv_q: arg0 = ast_expr_op_fdiv_q(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_fdiv_q("""%s""")' % s else: return 'isl.ast_expr_op_fdiv_q("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_ge(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_ge, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_ge: arg0 = ast_expr_op_ge(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_ge("""%s""")' % s else: return 'isl.ast_expr_op_ge("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_gt(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_gt, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_gt: arg0 = ast_expr_op_gt(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_gt("""%s""")' % s else: return 'isl.ast_expr_op_gt("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_le(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_le, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_le: arg0 = ast_expr_op_le(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_le("""%s""")' % s else: return 'isl.ast_expr_op_le("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_lt(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_lt, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_lt: arg0 = ast_expr_op_lt(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_lt("""%s""")' % s else: return 'isl.ast_expr_op_lt("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_max(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_max, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_max: arg0 = ast_expr_op_max(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_max("""%s""")' % s else: return 'isl.ast_expr_op_max("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_member(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_member, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_member: arg0 = ast_expr_op_member(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_member("""%s""")' % s else: return 'isl.ast_expr_op_member("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_min(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_min, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_min: arg0 = ast_expr_op_min(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_min("""%s""")' % s else: return 'isl.ast_expr_op_min("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_minus(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_minus, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_minus: arg0 = ast_expr_op_minus(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_minus("""%s""")' % s else: return 'isl.ast_expr_op_minus("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_mul(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_mul, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_mul: arg0 = ast_expr_op_mul(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_mul("""%s""")' % s else: return 'isl.ast_expr_op_mul("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_or(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_or, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_or: arg0 = ast_expr_op_or(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_or("""%s""")' % s else: return 'isl.ast_expr_op_or("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_or_else(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_or_else, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_or_else: arg0 = ast_expr_op_or_else(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_or_else("""%s""")' % s else: return 'isl.ast_expr_op_or_else("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_pdiv_q(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_pdiv_q, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_pdiv_q: arg0 = ast_expr_op_pdiv_q(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_pdiv_q("""%s""")' % s else: return 'isl.ast_expr_op_pdiv_q("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_pdiv_r(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_pdiv_r, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_pdiv_r: arg0 = ast_expr_op_pdiv_r(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_pdiv_r("""%s""")' % s else: return 'isl.ast_expr_op_pdiv_r("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_select(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_select, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_select: arg0 = ast_expr_op_select(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_select("""%s""")' % s else: return 'isl.ast_expr_op_select("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_sub(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_sub, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_sub: arg0 = ast_expr_op_sub(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_sub("""%s""")' % s else: return 'isl.ast_expr_op_sub("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_expr_op_zdiv_r(ast_expr_op): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_expr_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_expr_op_zdiv_r, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_expr_op_zdiv_r: arg0 = ast_expr_op_zdiv_r(arg0) except: raise ptr = isl.isl_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_expr_op_zdiv_r("""%s""")' % s else: return 'isl.ast_expr_op_zdiv_r("%s")' % s isl.isl_ast_expr_copy.restype = c_void_p isl.isl_ast_expr_copy.argtypes = [c_void_p] isl.isl_ast_expr_free.restype = c_void_p isl.isl_ast_expr_free.argtypes = [c_void_p] isl.isl_ast_expr_to_str.restype = POINTER(c_char) isl.isl_ast_expr_to_str.argtypes = [c_void_p] class ast_node(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and isinstance(args[0], ast_node_for): self.ctx = args[0].ctx self.ptr = isl.isl_ast_node_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_node_if): self.ctx = args[0].ctx self.ptr = isl.isl_ast_node_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_node_block): self.ctx = args[0].ctx self.ptr = isl.isl_ast_node_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_node_mark): self.ctx = args[0].ctx self.ptr = isl.isl_ast_node_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], ast_node_user): self.ctx = args[0].ctx self.ptr = isl.isl_ast_node_copy(args[0].ptr) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_node_free(self.ptr) def __new__(cls, *args, **keywords): if "ptr" in keywords: type = isl.isl_ast_node_get_type(keywords["ptr"]) if type == 1: return ast_node_for(**keywords) if type == 2: return ast_node_if(**keywords) if type == 3: return ast_node_block(**keywords) if type == 4: return ast_node_mark(**keywords) if type == 5: return ast_node_user(**keywords) raise Error return super(ast_node, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_node: arg0 = ast_node(arg0) except: raise ptr = isl.isl_ast_node_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_node("""%s""")' % s else: return 'isl.ast_node("%s")' % s def map_descendant_bottom_up(arg0, arg1): try: if not arg0.__class__ is ast_node: arg0 = ast_node(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_void_p, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = ast_node(ctx=arg0.ctx, ptr=(cb_arg0)) try: res = arg1(cb_arg0) except BaseException as e: exc_info[0] = e return None return isl.isl_ast_node_copy(res.ptr) cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_ast_node_map_descendant_bottom_up(isl.isl_ast_node_copy(arg0.ptr), cb1, None) if exc_info[0] is not None: raise exc_info[0] obj = ast_node(ctx=ctx, ptr=res) return obj def to_C_str(arg0): try: if not arg0.__class__ is ast_node: arg0 = ast_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_node_to_C_str(arg0.ptr) if res == 0: raise Error string = cast(res, c_char_p).value.decode('ascii') libc.free(res) return string def to_list(arg0): try: if not arg0.__class__ is ast_node: arg0 = ast_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_node_to_list(isl.isl_ast_node_copy(arg0.ptr)) obj = ast_node_list(ctx=ctx, ptr=res) return obj isl.isl_ast_node_map_descendant_bottom_up.restype = c_void_p isl.isl_ast_node_map_descendant_bottom_up.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_ast_node_to_C_str.restype = POINTER(c_char) isl.isl_ast_node_to_C_str.argtypes = [c_void_p] isl.isl_ast_node_to_list.restype = c_void_p isl.isl_ast_node_to_list.argtypes = [c_void_p] isl.isl_ast_node_copy.restype = c_void_p isl.isl_ast_node_copy.argtypes = [c_void_p] isl.isl_ast_node_free.restype = c_void_p isl.isl_ast_node_free.argtypes = [c_void_p] isl.isl_ast_node_to_str.restype = POINTER(c_char) isl.isl_ast_node_to_str.argtypes = [c_void_p] isl.isl_ast_node_get_type.argtypes = [c_void_p] class ast_node_block(ast_node): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and args[0].__class__ is ast_node_list: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_ast_node_block_from_children(isl.isl_ast_node_list_copy(args[0].ptr)) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_node_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_node_block, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_node_block: arg0 = ast_node_block(arg0) except: raise ptr = isl.isl_ast_node_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_node_block("""%s""")' % s else: return 'isl.ast_node_block("%s")' % s def children(arg0): try: if not arg0.__class__ is ast_node: arg0 = ast_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_node_block_get_children(arg0.ptr) obj = ast_node_list(ctx=ctx, ptr=res) return obj def get_children(arg0): return arg0.children() isl.isl_ast_node_block_from_children.restype = c_void_p isl.isl_ast_node_block_from_children.argtypes = [c_void_p] isl.isl_ast_node_block_get_children.restype = c_void_p isl.isl_ast_node_block_get_children.argtypes = [c_void_p] isl.isl_ast_node_copy.restype = c_void_p isl.isl_ast_node_copy.argtypes = [c_void_p] isl.isl_ast_node_free.restype = c_void_p isl.isl_ast_node_free.argtypes = [c_void_p] isl.isl_ast_node_to_str.restype = POINTER(c_char) isl.isl_ast_node_to_str.argtypes = [c_void_p] class ast_node_for(ast_node): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_node_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_node_for, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_node_for: arg0 = ast_node_for(arg0) except: raise ptr = isl.isl_ast_node_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_node_for("""%s""")' % s else: return 'isl.ast_node_for("%s")' % s def body(arg0): try: if not arg0.__class__ is ast_node: arg0 = ast_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_node_for_get_body(arg0.ptr) obj = ast_node(ctx=ctx, ptr=res) return obj def get_body(arg0): return arg0.body() def cond(arg0): try: if not arg0.__class__ is ast_node: arg0 = ast_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_node_for_get_cond(arg0.ptr) obj = ast_expr(ctx=ctx, ptr=res) return obj def get_cond(arg0): return arg0.cond() def inc(arg0): try: if not arg0.__class__ is ast_node: arg0 = ast_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_node_for_get_inc(arg0.ptr) obj = ast_expr(ctx=ctx, ptr=res) return obj def get_inc(arg0): return arg0.inc() def init(arg0): try: if not arg0.__class__ is ast_node: arg0 = ast_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_node_for_get_init(arg0.ptr) obj = ast_expr(ctx=ctx, ptr=res) return obj def get_init(arg0): return arg0.init() def is_degenerate(arg0): try: if not arg0.__class__ is ast_node: arg0 = ast_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_node_for_is_degenerate(arg0.ptr) if res < 0: raise Error return bool(res) def iterator(arg0): try: if not arg0.__class__ is ast_node: arg0 = ast_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_node_for_get_iterator(arg0.ptr) obj = ast_expr(ctx=ctx, ptr=res) return obj def get_iterator(arg0): return arg0.iterator() isl.isl_ast_node_for_get_body.restype = c_void_p isl.isl_ast_node_for_get_body.argtypes = [c_void_p] isl.isl_ast_node_for_get_cond.restype = c_void_p isl.isl_ast_node_for_get_cond.argtypes = [c_void_p] isl.isl_ast_node_for_get_inc.restype = c_void_p isl.isl_ast_node_for_get_inc.argtypes = [c_void_p] isl.isl_ast_node_for_get_init.restype = c_void_p isl.isl_ast_node_for_get_init.argtypes = [c_void_p] isl.isl_ast_node_for_is_degenerate.argtypes = [c_void_p] isl.isl_ast_node_for_get_iterator.restype = c_void_p isl.isl_ast_node_for_get_iterator.argtypes = [c_void_p] isl.isl_ast_node_copy.restype = c_void_p isl.isl_ast_node_copy.argtypes = [c_void_p] isl.isl_ast_node_free.restype = c_void_p isl.isl_ast_node_free.argtypes = [c_void_p] isl.isl_ast_node_to_str.restype = POINTER(c_char) isl.isl_ast_node_to_str.argtypes = [c_void_p] class ast_node_if(ast_node): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_node_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_node_if, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_node_if: arg0 = ast_node_if(arg0) except: raise ptr = isl.isl_ast_node_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_node_if("""%s""")' % s else: return 'isl.ast_node_if("%s")' % s def cond(arg0): try: if not arg0.__class__ is ast_node: arg0 = ast_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_node_if_get_cond(arg0.ptr) obj = ast_expr(ctx=ctx, ptr=res) return obj def get_cond(arg0): return arg0.cond() def else_node(arg0): try: if not arg0.__class__ is ast_node: arg0 = ast_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_node_if_get_else_node(arg0.ptr) obj = ast_node(ctx=ctx, ptr=res) return obj def get_else_node(arg0): return arg0.else_node() def has_else_node(arg0): try: if not arg0.__class__ is ast_node: arg0 = ast_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_node_if_has_else_node(arg0.ptr) if res < 0: raise Error return bool(res) def then_node(arg0): try: if not arg0.__class__ is ast_node: arg0 = ast_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_node_if_get_then_node(arg0.ptr) obj = ast_node(ctx=ctx, ptr=res) return obj def get_then_node(arg0): return arg0.then_node() isl.isl_ast_node_if_get_cond.restype = c_void_p isl.isl_ast_node_if_get_cond.argtypes = [c_void_p] isl.isl_ast_node_if_get_else_node.restype = c_void_p isl.isl_ast_node_if_get_else_node.argtypes = [c_void_p] isl.isl_ast_node_if_has_else_node.argtypes = [c_void_p] isl.isl_ast_node_if_get_then_node.restype = c_void_p isl.isl_ast_node_if_get_then_node.argtypes = [c_void_p] isl.isl_ast_node_copy.restype = c_void_p isl.isl_ast_node_copy.argtypes = [c_void_p] isl.isl_ast_node_free.restype = c_void_p isl.isl_ast_node_free.argtypes = [c_void_p] isl.isl_ast_node_to_str.restype = POINTER(c_char) isl.isl_ast_node_to_str.argtypes = [c_void_p] class ast_node_list(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and type(args[0]) == int: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_ast_node_list_alloc(self.ctx, args[0]) return if len(args) == 1 and args[0].__class__ is ast_node: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_ast_node_list_from_ast_node(isl.isl_ast_node_copy(args[0].ptr)) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_node_list_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is ast_node_list: arg0 = ast_node_list(arg0) except: raise ptr = isl.isl_ast_node_list_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_node_list("""%s""")' % s else: return 'isl.ast_node_list("%s")' % s def add(arg0, arg1): try: if not arg0.__class__ is ast_node_list: arg0 = ast_node_list(arg0) except: raise try: if not arg1.__class__ is ast_node: arg1 = ast_node(arg1) except: raise ctx = arg0.ctx res = isl.isl_ast_node_list_add(isl.isl_ast_node_list_copy(arg0.ptr), isl.isl_ast_node_copy(arg1.ptr)) obj = ast_node_list(ctx=ctx, ptr=res) return obj def at(arg0, arg1): try: if not arg0.__class__ is ast_node_list: arg0 = ast_node_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_node_list_get_at(arg0.ptr, arg1) obj = ast_node(ctx=ctx, ptr=res) return obj def get_at(arg0, arg1): return arg0.at(arg1) def clear(arg0): try: if not arg0.__class__ is ast_node_list: arg0 = ast_node_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_node_list_clear(isl.isl_ast_node_list_copy(arg0.ptr)) obj = ast_node_list(ctx=ctx, ptr=res) return obj def concat(arg0, arg1): try: if not arg0.__class__ is ast_node_list: arg0 = ast_node_list(arg0) except: raise try: if not arg1.__class__ is ast_node_list: arg1 = ast_node_list(arg1) except: raise ctx = arg0.ctx res = isl.isl_ast_node_list_concat(isl.isl_ast_node_list_copy(arg0.ptr), isl.isl_ast_node_list_copy(arg1.ptr)) obj = ast_node_list(ctx=ctx, ptr=res) return obj def drop(arg0, arg1, arg2): try: if not arg0.__class__ is ast_node_list: arg0 = ast_node_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_node_list_drop(isl.isl_ast_node_list_copy(arg0.ptr), arg1, arg2) obj = ast_node_list(ctx=ctx, ptr=res) return obj def foreach(arg0, arg1): try: if not arg0.__class__ is ast_node_list: arg0 = ast_node_list(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = ast_node(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg1(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_ast_node_list_foreach(arg0.ptr, cb1, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def foreach_scc(arg0, arg1, arg2): try: if not arg0.__class__ is ast_node_list: arg0 = ast_node_list(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1, cb_arg2): cb_arg0 = ast_node(ctx=arg0.ctx, ptr=isl.isl_ast_node_copy(cb_arg0)) cb_arg1 = ast_node(ctx=arg0.ctx, ptr=isl.isl_ast_node_copy(cb_arg1)) try: res = arg1(cb_arg0, cb_arg1) except BaseException as e: exc_info[0] = e return -1 return 1 if res else 0 cb1 = fn(cb_func) exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = ast_node_list(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg2(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb2 = fn(cb_func) ctx = arg0.ctx res = isl.isl_ast_node_list_foreach_scc(arg0.ptr, cb1, None, cb2, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def insert(arg0, arg1, arg2): try: if not arg0.__class__ is ast_node_list: arg0 = ast_node_list(arg0) except: raise try: if not arg2.__class__ is ast_node: arg2 = ast_node(arg2) except: raise ctx = arg0.ctx res = isl.isl_ast_node_list_insert(isl.isl_ast_node_list_copy(arg0.ptr), arg1, isl.isl_ast_node_copy(arg2.ptr)) obj = ast_node_list(ctx=ctx, ptr=res) return obj def set_at(arg0, arg1, arg2): try: if not arg0.__class__ is ast_node_list: arg0 = ast_node_list(arg0) except: raise try: if not arg2.__class__ is ast_node: arg2 = ast_node(arg2) except: raise ctx = arg0.ctx res = isl.isl_ast_node_list_set_at(isl.isl_ast_node_list_copy(arg0.ptr), arg1, isl.isl_ast_node_copy(arg2.ptr)) obj = ast_node_list(ctx=ctx, ptr=res) return obj def size(arg0): try: if not arg0.__class__ is ast_node_list: arg0 = ast_node_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_node_list_size(arg0.ptr) if res < 0: raise Error return int(res) isl.isl_ast_node_list_alloc.restype = c_void_p isl.isl_ast_node_list_alloc.argtypes = [Context, c_int] isl.isl_ast_node_list_from_ast_node.restype = c_void_p isl.isl_ast_node_list_from_ast_node.argtypes = [c_void_p] isl.isl_ast_node_list_add.restype = c_void_p isl.isl_ast_node_list_add.argtypes = [c_void_p, c_void_p] isl.isl_ast_node_list_get_at.restype = c_void_p isl.isl_ast_node_list_get_at.argtypes = [c_void_p, c_int] isl.isl_ast_node_list_clear.restype = c_void_p isl.isl_ast_node_list_clear.argtypes = [c_void_p] isl.isl_ast_node_list_concat.restype = c_void_p isl.isl_ast_node_list_concat.argtypes = [c_void_p, c_void_p] isl.isl_ast_node_list_drop.restype = c_void_p isl.isl_ast_node_list_drop.argtypes = [c_void_p, c_int, c_int] isl.isl_ast_node_list_foreach.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_ast_node_list_foreach_scc.argtypes = [c_void_p, c_void_p, c_void_p, c_void_p, c_void_p] isl.isl_ast_node_list_insert.restype = c_void_p isl.isl_ast_node_list_insert.argtypes = [c_void_p, c_int, c_void_p] isl.isl_ast_node_list_set_at.restype = c_void_p isl.isl_ast_node_list_set_at.argtypes = [c_void_p, c_int, c_void_p] isl.isl_ast_node_list_size.argtypes = [c_void_p] isl.isl_ast_node_list_copy.restype = c_void_p isl.isl_ast_node_list_copy.argtypes = [c_void_p] isl.isl_ast_node_list_free.restype = c_void_p isl.isl_ast_node_list_free.argtypes = [c_void_p] isl.isl_ast_node_list_to_str.restype = POINTER(c_char) isl.isl_ast_node_list_to_str.argtypes = [c_void_p] class ast_node_mark(ast_node): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_node_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_node_mark, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_node_mark: arg0 = ast_node_mark(arg0) except: raise ptr = isl.isl_ast_node_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_node_mark("""%s""")' % s else: return 'isl.ast_node_mark("%s")' % s def id(arg0): try: if not arg0.__class__ is ast_node: arg0 = ast_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_node_mark_get_id(arg0.ptr) obj = id(ctx=ctx, ptr=res) return obj def get_id(arg0): return arg0.id() def node(arg0): try: if not arg0.__class__ is ast_node: arg0 = ast_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_node_mark_get_node(arg0.ptr) obj = ast_node(ctx=ctx, ptr=res) return obj def get_node(arg0): return arg0.node() isl.isl_ast_node_mark_get_id.restype = c_void_p isl.isl_ast_node_mark_get_id.argtypes = [c_void_p] isl.isl_ast_node_mark_get_node.restype = c_void_p isl.isl_ast_node_mark_get_node.argtypes = [c_void_p] isl.isl_ast_node_copy.restype = c_void_p isl.isl_ast_node_copy.argtypes = [c_void_p] isl.isl_ast_node_free.restype = c_void_p isl.isl_ast_node_free.argtypes = [c_void_p] isl.isl_ast_node_to_str.restype = POINTER(c_char) isl.isl_ast_node_to_str.argtypes = [c_void_p] class ast_node_user(ast_node): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and args[0].__class__ is ast_expr: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_ast_node_user_from_expr(isl.isl_ast_expr_copy(args[0].ptr)) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_ast_node_free(self.ptr) def __new__(cls, *args, **keywords): return super(ast_node_user, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is ast_node_user: arg0 = ast_node_user(arg0) except: raise ptr = isl.isl_ast_node_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.ast_node_user("""%s""")' % s else: return 'isl.ast_node_user("%s")' % s def expr(arg0): try: if not arg0.__class__ is ast_node: arg0 = ast_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_ast_node_user_get_expr(arg0.ptr) obj = ast_expr(ctx=ctx, ptr=res) return obj def get_expr(arg0): return arg0.expr() isl.isl_ast_node_user_from_expr.restype = c_void_p isl.isl_ast_node_user_from_expr.argtypes = [c_void_p] isl.isl_ast_node_user_get_expr.restype = c_void_p isl.isl_ast_node_user_get_expr.argtypes = [c_void_p] isl.isl_ast_node_copy.restype = c_void_p isl.isl_ast_node_copy.argtypes = [c_void_p] isl.isl_ast_node_free.restype = c_void_p isl.isl_ast_node_free.argtypes = [c_void_p] isl.isl_ast_node_to_str.restype = POINTER(c_char) isl.isl_ast_node_to_str.argtypes = [c_void_p] class union_map(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and args[0].__class__ is basic_map: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_union_map_from_basic_map(isl.isl_basic_map_copy(args[0].ptr)) return if len(args) == 1 and args[0].__class__ is map: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_union_map_from_map(isl.isl_map_copy(args[0].ptr)) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_union_map_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_union_map_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ptr = isl.isl_union_map_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.union_map("""%s""")' % s else: return 'isl.union_map("%s")' % s def affine_hull(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_affine_hull(isl.isl_union_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def apply_domain(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_apply_domain(isl.isl_union_map_copy(arg0.ptr), isl.isl_union_map_copy(arg1.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def apply_range(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_apply_range(isl.isl_union_map_copy(arg0.ptr), isl.isl_union_map_copy(arg1.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def as_map(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_as_map(isl.isl_union_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def as_multi_union_pw_aff(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_as_multi_union_pw_aff(isl.isl_union_map_copy(arg0.ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj def as_union_pw_multi_aff(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_as_union_pw_multi_aff(isl.isl_union_map_copy(arg0.ptr)) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj def bind_range(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is multi_id: arg1 = multi_id(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_bind_range(isl.isl_union_map_copy(arg0.ptr), isl.isl_multi_id_copy(arg1.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def coalesce(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_coalesce(isl.isl_union_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def compute_divs(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_compute_divs(isl.isl_union_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def curry(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_curry(isl.isl_union_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def deltas(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_deltas(isl.isl_union_map_copy(arg0.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def detect_equalities(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_detect_equalities(isl.isl_union_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def domain(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_domain(isl.isl_union_map_copy(arg0.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def domain_factor_domain(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_domain_factor_domain(isl.isl_union_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def domain_factor_range(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_domain_factor_range(isl.isl_union_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def domain_map(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_domain_map(isl.isl_union_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def domain_map_union_pw_multi_aff(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_domain_map_union_pw_multi_aff(isl.isl_union_map_copy(arg0.ptr)) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj def domain_product(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_domain_product(isl.isl_union_map_copy(arg0.ptr), isl.isl_union_map_copy(arg1.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def domain_reverse(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_domain_reverse(isl.isl_union_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def drop_unused_params(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_drop_unused_params(isl.isl_union_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj @staticmethod def empty(*args): if len(args) == 0: ctx = Context.getDefaultInstance() res = isl.isl_union_map_empty_ctx(ctx) obj = union_map(ctx=ctx, ptr=res) return obj raise Error def eq_at(*args): if len(args) == 2 and args[1].__class__ is multi_union_pw_aff: args = list(args) try: if not args[0].__class__ is union_map: args[0] = union_map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_map_eq_at_multi_union_pw_aff(isl.isl_union_map_copy(args[0].ptr), isl.isl_multi_union_pw_aff_copy(args[1].ptr)) obj = union_map(ctx=ctx, ptr=res) return obj raise Error def every_map(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = map(ctx=arg0.ctx, ptr=isl.isl_map_copy(cb_arg0)) try: res = arg1(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 1 if res else 0 cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_union_map_every_map(arg0.ptr, cb1, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error return bool(res) def extract_map(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is space: arg1 = space(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_extract_map(arg0.ptr, isl.isl_space_copy(arg1.ptr)) obj = map(ctx=ctx, ptr=res) return obj def factor_domain(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_factor_domain(isl.isl_union_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def factor_range(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_factor_range(isl.isl_union_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def fixed_power(*args): if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is union_map: args[0] = union_map(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_union_map_fixed_power_val(isl.isl_union_map_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = union_map(ctx=ctx, ptr=res) return obj raise Error def foreach_map(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = map(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg1(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_union_map_foreach_map(arg0.ptr, cb1, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error @staticmethod def convert_from(*args): if len(args) == 1 and args[0].__class__ is multi_union_pw_aff: ctx = args[0].ctx res = isl.isl_union_map_from_multi_union_pw_aff(isl.isl_multi_union_pw_aff_copy(args[0].ptr)) obj = union_map(ctx=ctx, ptr=res) return obj if len(args) == 1 and args[0].__class__ is union_pw_multi_aff: ctx = args[0].ctx res = isl.isl_union_map_from_union_pw_multi_aff(isl.isl_union_pw_multi_aff_copy(args[0].ptr)) obj = union_map(ctx=ctx, ptr=res) return obj raise Error @staticmethod def from_domain(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_from_domain(isl.isl_union_set_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj @staticmethod def from_domain_and_range(arg0, arg1): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_from_domain_and_range(isl.isl_union_set_copy(arg0.ptr), isl.isl_union_set_copy(arg1.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj @staticmethod def from_range(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_from_range(isl.isl_union_set_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def gist(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_gist(isl.isl_union_map_copy(arg0.ptr), isl.isl_union_map_copy(arg1.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def gist_domain(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_gist_domain(isl.isl_union_map_copy(arg0.ptr), isl.isl_union_set_copy(arg1.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def gist_params(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_gist_params(isl.isl_union_map_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def gist_range(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_gist_range(isl.isl_union_map_copy(arg0.ptr), isl.isl_union_set_copy(arg1.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def intersect(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_intersect(isl.isl_union_map_copy(arg0.ptr), isl.isl_union_map_copy(arg1.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def intersect_domain(*args): if len(args) == 2 and args[1].__class__ is space: args = list(args) try: if not args[0].__class__ is union_map: args[0] = union_map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_map_intersect_domain_space(isl.isl_union_map_copy(args[0].ptr), isl.isl_space_copy(args[1].ptr)) obj = union_map(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is union_set: args = list(args) try: if not args[0].__class__ is union_map: args[0] = union_map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_map_intersect_domain_union_set(isl.isl_union_map_copy(args[0].ptr), isl.isl_union_set_copy(args[1].ptr)) obj = union_map(ctx=ctx, ptr=res) return obj raise Error def intersect_domain_factor_domain(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_intersect_domain_factor_domain(isl.isl_union_map_copy(arg0.ptr), isl.isl_union_map_copy(arg1.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def intersect_domain_factor_range(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_intersect_domain_factor_range(isl.isl_union_map_copy(arg0.ptr), isl.isl_union_map_copy(arg1.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def intersect_domain_wrapped_domain(*args): if len(args) == 2 and args[1].__class__ is union_set: args = list(args) try: if not args[0].__class__ is union_map: args[0] = union_map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_map_intersect_domain_wrapped_domain_union_set(isl.isl_union_map_copy(args[0].ptr), isl.isl_union_set_copy(args[1].ptr)) obj = union_map(ctx=ctx, ptr=res) return obj raise Error def intersect_params(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_intersect_params(isl.isl_union_map_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def intersect_range(*args): if len(args) == 2 and args[1].__class__ is space: args = list(args) try: if not args[0].__class__ is union_map: args[0] = union_map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_map_intersect_range_space(isl.isl_union_map_copy(args[0].ptr), isl.isl_space_copy(args[1].ptr)) obj = union_map(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is union_set: args = list(args) try: if not args[0].__class__ is union_map: args[0] = union_map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_map_intersect_range_union_set(isl.isl_union_map_copy(args[0].ptr), isl.isl_union_set_copy(args[1].ptr)) obj = union_map(ctx=ctx, ptr=res) return obj raise Error def intersect_range_factor_domain(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_intersect_range_factor_domain(isl.isl_union_map_copy(arg0.ptr), isl.isl_union_map_copy(arg1.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def intersect_range_factor_range(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_intersect_range_factor_range(isl.isl_union_map_copy(arg0.ptr), isl.isl_union_map_copy(arg1.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def intersect_range_wrapped_domain(*args): if len(args) == 2 and args[1].__class__ is union_set: args = list(args) try: if not args[0].__class__ is union_map: args[0] = union_map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_map_intersect_range_wrapped_domain_union_set(isl.isl_union_map_copy(args[0].ptr), isl.isl_union_set_copy(args[1].ptr)) obj = union_map(ctx=ctx, ptr=res) return obj raise Error def is_bijective(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_is_bijective(arg0.ptr) if res < 0: raise Error return bool(res) def is_disjoint(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_is_disjoint(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def is_empty(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_is_empty(arg0.ptr) if res < 0: raise Error return bool(res) def is_equal(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_is_equal(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def is_injective(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_is_injective(arg0.ptr) if res < 0: raise Error return bool(res) def is_single_valued(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_is_single_valued(arg0.ptr) if res < 0: raise Error return bool(res) def is_strict_subset(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_is_strict_subset(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def is_subset(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_is_subset(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def isa_map(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_isa_map(arg0.ptr) if res < 0: raise Error return bool(res) def lexmax(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_lexmax(isl.isl_union_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def lexmin(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_lexmin(isl.isl_union_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def map_list(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_get_map_list(arg0.ptr) obj = map_list(ctx=ctx, ptr=res) return obj def get_map_list(arg0): return arg0.map_list() def params(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_params(isl.isl_union_map_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def polyhedral_hull(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_polyhedral_hull(isl.isl_union_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def preimage_domain(*args): if len(args) == 2 and args[1].__class__ is multi_aff: args = list(args) try: if not args[0].__class__ is union_map: args[0] = union_map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_map_preimage_domain_multi_aff(isl.isl_union_map_copy(args[0].ptr), isl.isl_multi_aff_copy(args[1].ptr)) obj = union_map(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is multi_pw_aff: args = list(args) try: if not args[0].__class__ is union_map: args[0] = union_map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_map_preimage_domain_multi_pw_aff(isl.isl_union_map_copy(args[0].ptr), isl.isl_multi_pw_aff_copy(args[1].ptr)) obj = union_map(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is pw_multi_aff: args = list(args) try: if not args[0].__class__ is union_map: args[0] = union_map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_map_preimage_domain_pw_multi_aff(isl.isl_union_map_copy(args[0].ptr), isl.isl_pw_multi_aff_copy(args[1].ptr)) obj = union_map(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is union_pw_multi_aff: args = list(args) try: if not args[0].__class__ is union_map: args[0] = union_map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_map_preimage_domain_union_pw_multi_aff(isl.isl_union_map_copy(args[0].ptr), isl.isl_union_pw_multi_aff_copy(args[1].ptr)) obj = union_map(ctx=ctx, ptr=res) return obj raise Error def preimage_range(*args): if len(args) == 2 and args[1].__class__ is multi_aff: args = list(args) try: if not args[0].__class__ is union_map: args[0] = union_map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_map_preimage_range_multi_aff(isl.isl_union_map_copy(args[0].ptr), isl.isl_multi_aff_copy(args[1].ptr)) obj = union_map(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is pw_multi_aff: args = list(args) try: if not args[0].__class__ is union_map: args[0] = union_map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_map_preimage_range_pw_multi_aff(isl.isl_union_map_copy(args[0].ptr), isl.isl_pw_multi_aff_copy(args[1].ptr)) obj = union_map(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is union_pw_multi_aff: args = list(args) try: if not args[0].__class__ is union_map: args[0] = union_map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_map_preimage_range_union_pw_multi_aff(isl.isl_union_map_copy(args[0].ptr), isl.isl_union_pw_multi_aff_copy(args[1].ptr)) obj = union_map(ctx=ctx, ptr=res) return obj raise Error def product(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_product(isl.isl_union_map_copy(arg0.ptr), isl.isl_union_map_copy(arg1.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def project_out_all_params(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_project_out_all_params(isl.isl_union_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def project_out_param(*args): if len(args) == 2 and (args[1].__class__ is id or type(args[1]) == str): args = list(args) try: if not args[0].__class__ is union_map: args[0] = union_map(args[0]) except: raise try: if not args[1].__class__ is id: args[1] = id(args[1]) except: raise ctx = args[0].ctx res = isl.isl_union_map_project_out_param_id(isl.isl_union_map_copy(args[0].ptr), isl.isl_id_copy(args[1].ptr)) obj = union_map(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is id_list: args = list(args) try: if not args[0].__class__ is union_map: args[0] = union_map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_map_project_out_param_id_list(isl.isl_union_map_copy(args[0].ptr), isl.isl_id_list_copy(args[1].ptr)) obj = union_map(ctx=ctx, ptr=res) return obj raise Error def range(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_range(isl.isl_union_map_copy(arg0.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def range_factor_domain(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_range_factor_domain(isl.isl_union_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def range_factor_range(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_range_factor_range(isl.isl_union_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def range_map(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_range_map(isl.isl_union_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def range_product(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_range_product(isl.isl_union_map_copy(arg0.ptr), isl.isl_union_map_copy(arg1.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def range_reverse(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_range_reverse(isl.isl_union_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def reverse(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_reverse(isl.isl_union_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def space(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_get_space(arg0.ptr) obj = space(ctx=ctx, ptr=res) return obj def get_space(arg0): return arg0.space() def subtract(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_subtract(isl.isl_union_map_copy(arg0.ptr), isl.isl_union_map_copy(arg1.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def subtract_domain(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_subtract_domain(isl.isl_union_map_copy(arg0.ptr), isl.isl_union_set_copy(arg1.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def subtract_range(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_subtract_range(isl.isl_union_map_copy(arg0.ptr), isl.isl_union_set_copy(arg1.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def uncurry(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_uncurry(isl.isl_union_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def union(arg0, arg1): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_map_union(isl.isl_union_map_copy(arg0.ptr), isl.isl_union_map_copy(arg1.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def universe(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_universe(isl.isl_union_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def wrap(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_wrap(isl.isl_union_map_copy(arg0.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def zip(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_map_zip(isl.isl_union_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj isl.isl_union_map_from_basic_map.restype = c_void_p isl.isl_union_map_from_basic_map.argtypes = [c_void_p] isl.isl_union_map_from_map.restype = c_void_p isl.isl_union_map_from_map.argtypes = [c_void_p] isl.isl_union_map_read_from_str.restype = c_void_p isl.isl_union_map_read_from_str.argtypes = [Context, c_char_p] isl.isl_union_map_affine_hull.restype = c_void_p isl.isl_union_map_affine_hull.argtypes = [c_void_p] isl.isl_union_map_apply_domain.restype = c_void_p isl.isl_union_map_apply_domain.argtypes = [c_void_p, c_void_p] isl.isl_union_map_apply_range.restype = c_void_p isl.isl_union_map_apply_range.argtypes = [c_void_p, c_void_p] isl.isl_union_map_as_map.restype = c_void_p isl.isl_union_map_as_map.argtypes = [c_void_p] isl.isl_union_map_as_multi_union_pw_aff.restype = c_void_p isl.isl_union_map_as_multi_union_pw_aff.argtypes = [c_void_p] isl.isl_union_map_as_union_pw_multi_aff.restype = c_void_p isl.isl_union_map_as_union_pw_multi_aff.argtypes = [c_void_p] isl.isl_union_map_bind_range.restype = c_void_p isl.isl_union_map_bind_range.argtypes = [c_void_p, c_void_p] isl.isl_union_map_coalesce.restype = c_void_p isl.isl_union_map_coalesce.argtypes = [c_void_p] isl.isl_union_map_compute_divs.restype = c_void_p isl.isl_union_map_compute_divs.argtypes = [c_void_p] isl.isl_union_map_curry.restype = c_void_p isl.isl_union_map_curry.argtypes = [c_void_p] isl.isl_union_map_deltas.restype = c_void_p isl.isl_union_map_deltas.argtypes = [c_void_p] isl.isl_union_map_detect_equalities.restype = c_void_p isl.isl_union_map_detect_equalities.argtypes = [c_void_p] isl.isl_union_map_domain.restype = c_void_p isl.isl_union_map_domain.argtypes = [c_void_p] isl.isl_union_map_domain_factor_domain.restype = c_void_p isl.isl_union_map_domain_factor_domain.argtypes = [c_void_p] isl.isl_union_map_domain_factor_range.restype = c_void_p isl.isl_union_map_domain_factor_range.argtypes = [c_void_p] isl.isl_union_map_domain_map.restype = c_void_p isl.isl_union_map_domain_map.argtypes = [c_void_p] isl.isl_union_map_domain_map_union_pw_multi_aff.restype = c_void_p isl.isl_union_map_domain_map_union_pw_multi_aff.argtypes = [c_void_p] isl.isl_union_map_domain_product.restype = c_void_p isl.isl_union_map_domain_product.argtypes = [c_void_p, c_void_p] isl.isl_union_map_domain_reverse.restype = c_void_p isl.isl_union_map_domain_reverse.argtypes = [c_void_p] isl.isl_union_map_drop_unused_params.restype = c_void_p isl.isl_union_map_drop_unused_params.argtypes = [c_void_p] isl.isl_union_map_empty_ctx.restype = c_void_p isl.isl_union_map_empty_ctx.argtypes = [Context] isl.isl_union_map_eq_at_multi_union_pw_aff.restype = c_void_p isl.isl_union_map_eq_at_multi_union_pw_aff.argtypes = [c_void_p, c_void_p] isl.isl_union_map_every_map.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_union_map_extract_map.restype = c_void_p isl.isl_union_map_extract_map.argtypes = [c_void_p, c_void_p] isl.isl_union_map_factor_domain.restype = c_void_p isl.isl_union_map_factor_domain.argtypes = [c_void_p] isl.isl_union_map_factor_range.restype = c_void_p isl.isl_union_map_factor_range.argtypes = [c_void_p] isl.isl_union_map_fixed_power_val.restype = c_void_p isl.isl_union_map_fixed_power_val.argtypes = [c_void_p, c_void_p] isl.isl_union_map_foreach_map.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_union_map_from_multi_union_pw_aff.restype = c_void_p isl.isl_union_map_from_multi_union_pw_aff.argtypes = [c_void_p] isl.isl_union_map_from_union_pw_multi_aff.restype = c_void_p isl.isl_union_map_from_union_pw_multi_aff.argtypes = [c_void_p] isl.isl_union_map_from_domain.restype = c_void_p isl.isl_union_map_from_domain.argtypes = [c_void_p] isl.isl_union_map_from_domain_and_range.restype = c_void_p isl.isl_union_map_from_domain_and_range.argtypes = [c_void_p, c_void_p] isl.isl_union_map_from_range.restype = c_void_p isl.isl_union_map_from_range.argtypes = [c_void_p] isl.isl_union_map_gist.restype = c_void_p isl.isl_union_map_gist.argtypes = [c_void_p, c_void_p] isl.isl_union_map_gist_domain.restype = c_void_p isl.isl_union_map_gist_domain.argtypes = [c_void_p, c_void_p] isl.isl_union_map_gist_params.restype = c_void_p isl.isl_union_map_gist_params.argtypes = [c_void_p, c_void_p] isl.isl_union_map_gist_range.restype = c_void_p isl.isl_union_map_gist_range.argtypes = [c_void_p, c_void_p] isl.isl_union_map_intersect.restype = c_void_p isl.isl_union_map_intersect.argtypes = [c_void_p, c_void_p] isl.isl_union_map_intersect_domain_space.restype = c_void_p isl.isl_union_map_intersect_domain_space.argtypes = [c_void_p, c_void_p] isl.isl_union_map_intersect_domain_union_set.restype = c_void_p isl.isl_union_map_intersect_domain_union_set.argtypes = [c_void_p, c_void_p] isl.isl_union_map_intersect_domain_factor_domain.restype = c_void_p isl.isl_union_map_intersect_domain_factor_domain.argtypes = [c_void_p, c_void_p] isl.isl_union_map_intersect_domain_factor_range.restype = c_void_p isl.isl_union_map_intersect_domain_factor_range.argtypes = [c_void_p, c_void_p] isl.isl_union_map_intersect_domain_wrapped_domain_union_set.restype = c_void_p isl.isl_union_map_intersect_domain_wrapped_domain_union_set.argtypes = [c_void_p, c_void_p] isl.isl_union_map_intersect_params.restype = c_void_p isl.isl_union_map_intersect_params.argtypes = [c_void_p, c_void_p] isl.isl_union_map_intersect_range_space.restype = c_void_p isl.isl_union_map_intersect_range_space.argtypes = [c_void_p, c_void_p] isl.isl_union_map_intersect_range_union_set.restype = c_void_p isl.isl_union_map_intersect_range_union_set.argtypes = [c_void_p, c_void_p] isl.isl_union_map_intersect_range_factor_domain.restype = c_void_p isl.isl_union_map_intersect_range_factor_domain.argtypes = [c_void_p, c_void_p] isl.isl_union_map_intersect_range_factor_range.restype = c_void_p isl.isl_union_map_intersect_range_factor_range.argtypes = [c_void_p, c_void_p] isl.isl_union_map_intersect_range_wrapped_domain_union_set.restype = c_void_p isl.isl_union_map_intersect_range_wrapped_domain_union_set.argtypes = [c_void_p, c_void_p] isl.isl_union_map_is_bijective.argtypes = [c_void_p] isl.isl_union_map_is_disjoint.argtypes = [c_void_p, c_void_p] isl.isl_union_map_is_empty.argtypes = [c_void_p] isl.isl_union_map_is_equal.argtypes = [c_void_p, c_void_p] isl.isl_union_map_is_injective.argtypes = [c_void_p] isl.isl_union_map_is_single_valued.argtypes = [c_void_p] isl.isl_union_map_is_strict_subset.argtypes = [c_void_p, c_void_p] isl.isl_union_map_is_subset.argtypes = [c_void_p, c_void_p] isl.isl_union_map_isa_map.argtypes = [c_void_p] isl.isl_union_map_lexmax.restype = c_void_p isl.isl_union_map_lexmax.argtypes = [c_void_p] isl.isl_union_map_lexmin.restype = c_void_p isl.isl_union_map_lexmin.argtypes = [c_void_p] isl.isl_union_map_get_map_list.restype = c_void_p isl.isl_union_map_get_map_list.argtypes = [c_void_p] isl.isl_union_map_params.restype = c_void_p isl.isl_union_map_params.argtypes = [c_void_p] isl.isl_union_map_polyhedral_hull.restype = c_void_p isl.isl_union_map_polyhedral_hull.argtypes = [c_void_p] isl.isl_union_map_preimage_domain_multi_aff.restype = c_void_p isl.isl_union_map_preimage_domain_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_union_map_preimage_domain_multi_pw_aff.restype = c_void_p isl.isl_union_map_preimage_domain_multi_pw_aff.argtypes = [c_void_p, c_void_p] isl.isl_union_map_preimage_domain_pw_multi_aff.restype = c_void_p isl.isl_union_map_preimage_domain_pw_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_union_map_preimage_domain_union_pw_multi_aff.restype = c_void_p isl.isl_union_map_preimage_domain_union_pw_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_union_map_preimage_range_multi_aff.restype = c_void_p isl.isl_union_map_preimage_range_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_union_map_preimage_range_pw_multi_aff.restype = c_void_p isl.isl_union_map_preimage_range_pw_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_union_map_preimage_range_union_pw_multi_aff.restype = c_void_p isl.isl_union_map_preimage_range_union_pw_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_union_map_product.restype = c_void_p isl.isl_union_map_product.argtypes = [c_void_p, c_void_p] isl.isl_union_map_project_out_all_params.restype = c_void_p isl.isl_union_map_project_out_all_params.argtypes = [c_void_p] isl.isl_union_map_project_out_param_id.restype = c_void_p isl.isl_union_map_project_out_param_id.argtypes = [c_void_p, c_void_p] isl.isl_union_map_project_out_param_id_list.restype = c_void_p isl.isl_union_map_project_out_param_id_list.argtypes = [c_void_p, c_void_p] isl.isl_union_map_range.restype = c_void_p isl.isl_union_map_range.argtypes = [c_void_p] isl.isl_union_map_range_factor_domain.restype = c_void_p isl.isl_union_map_range_factor_domain.argtypes = [c_void_p] isl.isl_union_map_range_factor_range.restype = c_void_p isl.isl_union_map_range_factor_range.argtypes = [c_void_p] isl.isl_union_map_range_map.restype = c_void_p isl.isl_union_map_range_map.argtypes = [c_void_p] isl.isl_union_map_range_product.restype = c_void_p isl.isl_union_map_range_product.argtypes = [c_void_p, c_void_p] isl.isl_union_map_range_reverse.restype = c_void_p isl.isl_union_map_range_reverse.argtypes = [c_void_p] isl.isl_union_map_reverse.restype = c_void_p isl.isl_union_map_reverse.argtypes = [c_void_p] isl.isl_union_map_get_space.restype = c_void_p isl.isl_union_map_get_space.argtypes = [c_void_p] isl.isl_union_map_subtract.restype = c_void_p isl.isl_union_map_subtract.argtypes = [c_void_p, c_void_p] isl.isl_union_map_subtract_domain.restype = c_void_p isl.isl_union_map_subtract_domain.argtypes = [c_void_p, c_void_p] isl.isl_union_map_subtract_range.restype = c_void_p isl.isl_union_map_subtract_range.argtypes = [c_void_p, c_void_p] isl.isl_union_map_uncurry.restype = c_void_p isl.isl_union_map_uncurry.argtypes = [c_void_p] isl.isl_union_map_union.restype = c_void_p isl.isl_union_map_union.argtypes = [c_void_p, c_void_p] isl.isl_union_map_universe.restype = c_void_p isl.isl_union_map_universe.argtypes = [c_void_p] isl.isl_union_map_wrap.restype = c_void_p isl.isl_union_map_wrap.argtypes = [c_void_p] isl.isl_union_map_zip.restype = c_void_p isl.isl_union_map_zip.argtypes = [c_void_p] isl.isl_union_map_copy.restype = c_void_p isl.isl_union_map_copy.argtypes = [c_void_p] isl.isl_union_map_free.restype = c_void_p isl.isl_union_map_free.argtypes = [c_void_p] isl.isl_union_map_to_str.restype = POINTER(c_char) isl.isl_union_map_to_str.argtypes = [c_void_p] class map(union_map): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and args[0].__class__ is basic_map: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_map_from_basic_map(isl.isl_basic_map_copy(args[0].ptr)) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_map_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_map_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ptr = isl.isl_map_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.map("""%s""")' % s else: return 'isl.map("%s")' % s def affine_hull(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_affine_hull(isl.isl_map_copy(arg0.ptr)) obj = basic_map(ctx=ctx, ptr=res) return obj def apply_domain(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is map: arg1 = map(arg1) except: return union_map(arg0).apply_domain(arg1) ctx = arg0.ctx res = isl.isl_map_apply_domain(isl.isl_map_copy(arg0.ptr), isl.isl_map_copy(arg1.ptr)) obj = map(ctx=ctx, ptr=res) return obj def apply_range(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is map: arg1 = map(arg1) except: return union_map(arg0).apply_range(arg1) ctx = arg0.ctx res = isl.isl_map_apply_range(isl.isl_map_copy(arg0.ptr), isl.isl_map_copy(arg1.ptr)) obj = map(ctx=ctx, ptr=res) return obj def as_pw_multi_aff(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_as_pw_multi_aff(isl.isl_map_copy(arg0.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def bind_domain(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is multi_id: arg1 = multi_id(arg1) except: return union_map(arg0).bind_domain(arg1) ctx = arg0.ctx res = isl.isl_map_bind_domain(isl.isl_map_copy(arg0.ptr), isl.isl_multi_id_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def bind_range(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is multi_id: arg1 = multi_id(arg1) except: return union_map(arg0).bind_range(arg1) ctx = arg0.ctx res = isl.isl_map_bind_range(isl.isl_map_copy(arg0.ptr), isl.isl_multi_id_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def coalesce(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_coalesce(isl.isl_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def complement(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_complement(isl.isl_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def curry(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_curry(isl.isl_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def deltas(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_deltas(isl.isl_map_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def detect_equalities(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_detect_equalities(isl.isl_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def domain(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_domain(isl.isl_map_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def domain_factor_domain(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_domain_factor_domain(isl.isl_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def domain_factor_range(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_domain_factor_range(isl.isl_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def domain_product(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is map: arg1 = map(arg1) except: return union_map(arg0).domain_product(arg1) ctx = arg0.ctx res = isl.isl_map_domain_product(isl.isl_map_copy(arg0.ptr), isl.isl_map_copy(arg1.ptr)) obj = map(ctx=ctx, ptr=res) return obj def domain_reverse(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_domain_reverse(isl.isl_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def domain_tuple_dim(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_domain_tuple_dim(arg0.ptr) if res < 0: raise Error return int(res) def domain_tuple_id(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_get_domain_tuple_id(arg0.ptr) obj = id(ctx=ctx, ptr=res) return obj def get_domain_tuple_id(arg0): return arg0.domain_tuple_id() def drop_unused_params(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_drop_unused_params(isl.isl_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj @staticmethod def empty(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_empty(isl.isl_space_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def eq_at(*args): if len(args) == 2 and args[1].__class__ is multi_pw_aff: args = list(args) try: if not args[0].__class__ is map: args[0] = map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_map_eq_at_multi_pw_aff(isl.isl_map_copy(args[0].ptr), isl.isl_multi_pw_aff_copy(args[1].ptr)) obj = map(ctx=ctx, ptr=res) return obj raise Error def factor_domain(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_factor_domain(isl.isl_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def factor_range(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_factor_range(isl.isl_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def fixed_power(*args): if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is map: args[0] = map(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_map_fixed_power_val(isl.isl_map_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = map(ctx=ctx, ptr=res) return obj raise Error def flatten(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_flatten(isl.isl_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def flatten_domain(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_flatten_domain(isl.isl_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def flatten_range(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_flatten_range(isl.isl_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def foreach_basic_map(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = basic_map(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg1(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_map_foreach_basic_map(arg0.ptr, cb1, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def gist(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is map: arg1 = map(arg1) except: return union_map(arg0).gist(arg1) ctx = arg0.ctx res = isl.isl_map_gist(isl.isl_map_copy(arg0.ptr), isl.isl_map_copy(arg1.ptr)) obj = map(ctx=ctx, ptr=res) return obj def gist_domain(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_map(arg0).gist_domain(arg1) ctx = arg0.ctx res = isl.isl_map_gist_domain(isl.isl_map_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = map(ctx=ctx, ptr=res) return obj def gist_params(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_map(arg0).gist_params(arg1) ctx = arg0.ctx res = isl.isl_map_gist_params(isl.isl_map_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = map(ctx=ctx, ptr=res) return obj def has_domain_tuple_id(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_has_domain_tuple_id(arg0.ptr) if res < 0: raise Error return bool(res) def has_range_tuple_id(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_has_range_tuple_id(arg0.ptr) if res < 0: raise Error return bool(res) def intersect(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is map: arg1 = map(arg1) except: return union_map(arg0).intersect(arg1) ctx = arg0.ctx res = isl.isl_map_intersect(isl.isl_map_copy(arg0.ptr), isl.isl_map_copy(arg1.ptr)) obj = map(ctx=ctx, ptr=res) return obj def intersect_domain(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_map(arg0).intersect_domain(arg1) ctx = arg0.ctx res = isl.isl_map_intersect_domain(isl.isl_map_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = map(ctx=ctx, ptr=res) return obj def intersect_domain_factor_domain(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is map: arg1 = map(arg1) except: return union_map(arg0).intersect_domain_factor_domain(arg1) ctx = arg0.ctx res = isl.isl_map_intersect_domain_factor_domain(isl.isl_map_copy(arg0.ptr), isl.isl_map_copy(arg1.ptr)) obj = map(ctx=ctx, ptr=res) return obj def intersect_domain_factor_range(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is map: arg1 = map(arg1) except: return union_map(arg0).intersect_domain_factor_range(arg1) ctx = arg0.ctx res = isl.isl_map_intersect_domain_factor_range(isl.isl_map_copy(arg0.ptr), isl.isl_map_copy(arg1.ptr)) obj = map(ctx=ctx, ptr=res) return obj def intersect_domain_wrapped_domain(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_map(arg0).intersect_domain_wrapped_domain(arg1) ctx = arg0.ctx res = isl.isl_map_intersect_domain_wrapped_domain(isl.isl_map_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = map(ctx=ctx, ptr=res) return obj def intersect_params(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_map(arg0).intersect_params(arg1) ctx = arg0.ctx res = isl.isl_map_intersect_params(isl.isl_map_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = map(ctx=ctx, ptr=res) return obj def intersect_range(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_map(arg0).intersect_range(arg1) ctx = arg0.ctx res = isl.isl_map_intersect_range(isl.isl_map_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = map(ctx=ctx, ptr=res) return obj def intersect_range_factor_domain(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is map: arg1 = map(arg1) except: return union_map(arg0).intersect_range_factor_domain(arg1) ctx = arg0.ctx res = isl.isl_map_intersect_range_factor_domain(isl.isl_map_copy(arg0.ptr), isl.isl_map_copy(arg1.ptr)) obj = map(ctx=ctx, ptr=res) return obj def intersect_range_factor_range(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is map: arg1 = map(arg1) except: return union_map(arg0).intersect_range_factor_range(arg1) ctx = arg0.ctx res = isl.isl_map_intersect_range_factor_range(isl.isl_map_copy(arg0.ptr), isl.isl_map_copy(arg1.ptr)) obj = map(ctx=ctx, ptr=res) return obj def intersect_range_wrapped_domain(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_map(arg0).intersect_range_wrapped_domain(arg1) ctx = arg0.ctx res = isl.isl_map_intersect_range_wrapped_domain(isl.isl_map_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = map(ctx=ctx, ptr=res) return obj def is_bijective(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_is_bijective(arg0.ptr) if res < 0: raise Error return bool(res) def is_disjoint(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is map: arg1 = map(arg1) except: return union_map(arg0).is_disjoint(arg1) ctx = arg0.ctx res = isl.isl_map_is_disjoint(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def is_empty(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_is_empty(arg0.ptr) if res < 0: raise Error return bool(res) def is_equal(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is map: arg1 = map(arg1) except: return union_map(arg0).is_equal(arg1) ctx = arg0.ctx res = isl.isl_map_is_equal(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def is_injective(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_is_injective(arg0.ptr) if res < 0: raise Error return bool(res) def is_single_valued(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_is_single_valued(arg0.ptr) if res < 0: raise Error return bool(res) def is_strict_subset(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is map: arg1 = map(arg1) except: return union_map(arg0).is_strict_subset(arg1) ctx = arg0.ctx res = isl.isl_map_is_strict_subset(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def is_subset(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is map: arg1 = map(arg1) except: return union_map(arg0).is_subset(arg1) ctx = arg0.ctx res = isl.isl_map_is_subset(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def lex_ge_at(*args): if len(args) == 2 and args[1].__class__ is multi_pw_aff: args = list(args) try: if not args[0].__class__ is map: args[0] = map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_map_lex_ge_at_multi_pw_aff(isl.isl_map_copy(args[0].ptr), isl.isl_multi_pw_aff_copy(args[1].ptr)) obj = map(ctx=ctx, ptr=res) return obj raise Error def lex_gt_at(*args): if len(args) == 2 and args[1].__class__ is multi_pw_aff: args = list(args) try: if not args[0].__class__ is map: args[0] = map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_map_lex_gt_at_multi_pw_aff(isl.isl_map_copy(args[0].ptr), isl.isl_multi_pw_aff_copy(args[1].ptr)) obj = map(ctx=ctx, ptr=res) return obj raise Error def lex_le_at(*args): if len(args) == 2 and args[1].__class__ is multi_pw_aff: args = list(args) try: if not args[0].__class__ is map: args[0] = map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_map_lex_le_at_multi_pw_aff(isl.isl_map_copy(args[0].ptr), isl.isl_multi_pw_aff_copy(args[1].ptr)) obj = map(ctx=ctx, ptr=res) return obj raise Error def lex_lt_at(*args): if len(args) == 2 and args[1].__class__ is multi_pw_aff: args = list(args) try: if not args[0].__class__ is map: args[0] = map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_map_lex_lt_at_multi_pw_aff(isl.isl_map_copy(args[0].ptr), isl.isl_multi_pw_aff_copy(args[1].ptr)) obj = map(ctx=ctx, ptr=res) return obj raise Error def lexmax(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_lexmax(isl.isl_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def lexmax_pw_multi_aff(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_lexmax_pw_multi_aff(isl.isl_map_copy(arg0.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def lexmin(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_lexmin(isl.isl_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def lexmin_pw_multi_aff(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_lexmin_pw_multi_aff(isl.isl_map_copy(arg0.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def lower_bound(*args): if len(args) == 2 and args[1].__class__ is multi_pw_aff: args = list(args) try: if not args[0].__class__ is map: args[0] = map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_map_lower_bound_multi_pw_aff(isl.isl_map_copy(args[0].ptr), isl.isl_multi_pw_aff_copy(args[1].ptr)) obj = map(ctx=ctx, ptr=res) return obj raise Error def max_multi_pw_aff(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_max_multi_pw_aff(isl.isl_map_copy(arg0.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def min_multi_pw_aff(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_min_multi_pw_aff(isl.isl_map_copy(arg0.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def n_basic_map(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_n_basic_map(arg0.ptr) if res < 0: raise Error return int(res) def params(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_params(isl.isl_map_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def polyhedral_hull(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_polyhedral_hull(isl.isl_map_copy(arg0.ptr)) obj = basic_map(ctx=ctx, ptr=res) return obj def preimage_domain(*args): if len(args) == 2 and args[1].__class__ is multi_aff: args = list(args) try: if not args[0].__class__ is map: args[0] = map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_map_preimage_domain_multi_aff(isl.isl_map_copy(args[0].ptr), isl.isl_multi_aff_copy(args[1].ptr)) obj = map(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is multi_pw_aff: args = list(args) try: if not args[0].__class__ is map: args[0] = map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_map_preimage_domain_multi_pw_aff(isl.isl_map_copy(args[0].ptr), isl.isl_multi_pw_aff_copy(args[1].ptr)) obj = map(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is pw_multi_aff: args = list(args) try: if not args[0].__class__ is map: args[0] = map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_map_preimage_domain_pw_multi_aff(isl.isl_map_copy(args[0].ptr), isl.isl_pw_multi_aff_copy(args[1].ptr)) obj = map(ctx=ctx, ptr=res) return obj raise Error def preimage_range(*args): if len(args) == 2 and args[1].__class__ is multi_aff: args = list(args) try: if not args[0].__class__ is map: args[0] = map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_map_preimage_range_multi_aff(isl.isl_map_copy(args[0].ptr), isl.isl_multi_aff_copy(args[1].ptr)) obj = map(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is pw_multi_aff: args = list(args) try: if not args[0].__class__ is map: args[0] = map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_map_preimage_range_pw_multi_aff(isl.isl_map_copy(args[0].ptr), isl.isl_pw_multi_aff_copy(args[1].ptr)) obj = map(ctx=ctx, ptr=res) return obj raise Error def product(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is map: arg1 = map(arg1) except: return union_map(arg0).product(arg1) ctx = arg0.ctx res = isl.isl_map_product(isl.isl_map_copy(arg0.ptr), isl.isl_map_copy(arg1.ptr)) obj = map(ctx=ctx, ptr=res) return obj def project_out_all_params(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_project_out_all_params(isl.isl_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def project_out_param(*args): if len(args) == 2 and (args[1].__class__ is id or type(args[1]) == str): args = list(args) try: if not args[0].__class__ is map: args[0] = map(args[0]) except: raise try: if not args[1].__class__ is id: args[1] = id(args[1]) except: raise ctx = args[0].ctx res = isl.isl_map_project_out_param_id(isl.isl_map_copy(args[0].ptr), isl.isl_id_copy(args[1].ptr)) obj = map(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is id_list: args = list(args) try: if not args[0].__class__ is map: args[0] = map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_map_project_out_param_id_list(isl.isl_map_copy(args[0].ptr), isl.isl_id_list_copy(args[1].ptr)) obj = map(ctx=ctx, ptr=res) return obj raise Error def range(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_range(isl.isl_map_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def range_factor_domain(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_range_factor_domain(isl.isl_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def range_factor_range(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_range_factor_range(isl.isl_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def range_lattice_tile(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_get_range_lattice_tile(arg0.ptr) obj = fixed_box(ctx=ctx, ptr=res) return obj def get_range_lattice_tile(arg0): return arg0.range_lattice_tile() def range_product(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is map: arg1 = map(arg1) except: return union_map(arg0).range_product(arg1) ctx = arg0.ctx res = isl.isl_map_range_product(isl.isl_map_copy(arg0.ptr), isl.isl_map_copy(arg1.ptr)) obj = map(ctx=ctx, ptr=res) return obj def range_reverse(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_range_reverse(isl.isl_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def range_simple_fixed_box_hull(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_get_range_simple_fixed_box_hull(arg0.ptr) obj = fixed_box(ctx=ctx, ptr=res) return obj def get_range_simple_fixed_box_hull(arg0): return arg0.range_simple_fixed_box_hull() def range_tuple_dim(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_range_tuple_dim(arg0.ptr) if res < 0: raise Error return int(res) def range_tuple_id(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_get_range_tuple_id(arg0.ptr) obj = id(ctx=ctx, ptr=res) return obj def get_range_tuple_id(arg0): return arg0.range_tuple_id() def reverse(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_reverse(isl.isl_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def sample(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_sample(isl.isl_map_copy(arg0.ptr)) obj = basic_map(ctx=ctx, ptr=res) return obj def set_domain_tuple(*args): if len(args) == 2 and (args[1].__class__ is id or type(args[1]) == str): args = list(args) try: if not args[0].__class__ is map: args[0] = map(args[0]) except: raise try: if not args[1].__class__ is id: args[1] = id(args[1]) except: raise ctx = args[0].ctx res = isl.isl_map_set_domain_tuple_id(isl.isl_map_copy(args[0].ptr), isl.isl_id_copy(args[1].ptr)) obj = map(ctx=ctx, ptr=res) return obj raise Error def set_range_tuple(*args): if len(args) == 2 and (args[1].__class__ is id or type(args[1]) == str): args = list(args) try: if not args[0].__class__ is map: args[0] = map(args[0]) except: raise try: if not args[1].__class__ is id: args[1] = id(args[1]) except: raise ctx = args[0].ctx res = isl.isl_map_set_range_tuple_id(isl.isl_map_copy(args[0].ptr), isl.isl_id_copy(args[1].ptr)) obj = map(ctx=ctx, ptr=res) return obj raise Error def space(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_get_space(arg0.ptr) obj = space(ctx=ctx, ptr=res) return obj def get_space(arg0): return arg0.space() def subtract(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is map: arg1 = map(arg1) except: return union_map(arg0).subtract(arg1) ctx = arg0.ctx res = isl.isl_map_subtract(isl.isl_map_copy(arg0.ptr), isl.isl_map_copy(arg1.ptr)) obj = map(ctx=ctx, ptr=res) return obj def to_list(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_to_list(isl.isl_map_copy(arg0.ptr)) obj = map_list(ctx=ctx, ptr=res) return obj def to_union_map(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_to_union_map(isl.isl_map_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def uncurry(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_uncurry(isl.isl_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def union(arg0, arg1): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise try: if not arg1.__class__ is map: arg1 = map(arg1) except: return union_map(arg0).union(arg1) ctx = arg0.ctx res = isl.isl_map_union(isl.isl_map_copy(arg0.ptr), isl.isl_map_copy(arg1.ptr)) obj = map(ctx=ctx, ptr=res) return obj @staticmethod def universe(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_universe(isl.isl_space_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def unshifted_simple_hull(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_unshifted_simple_hull(isl.isl_map_copy(arg0.ptr)) obj = basic_map(ctx=ctx, ptr=res) return obj def upper_bound(*args): if len(args) == 2 and args[1].__class__ is multi_pw_aff: args = list(args) try: if not args[0].__class__ is map: args[0] = map(args[0]) except: raise ctx = args[0].ctx res = isl.isl_map_upper_bound_multi_pw_aff(isl.isl_map_copy(args[0].ptr), isl.isl_multi_pw_aff_copy(args[1].ptr)) obj = map(ctx=ctx, ptr=res) return obj raise Error def wrap(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_wrap(isl.isl_map_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def zip(arg0): try: if not arg0.__class__ is map: arg0 = map(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_zip(isl.isl_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj isl.isl_map_from_basic_map.restype = c_void_p isl.isl_map_from_basic_map.argtypes = [c_void_p] isl.isl_map_read_from_str.restype = c_void_p isl.isl_map_read_from_str.argtypes = [Context, c_char_p] isl.isl_map_affine_hull.restype = c_void_p isl.isl_map_affine_hull.argtypes = [c_void_p] isl.isl_map_apply_domain.restype = c_void_p isl.isl_map_apply_domain.argtypes = [c_void_p, c_void_p] isl.isl_map_apply_range.restype = c_void_p isl.isl_map_apply_range.argtypes = [c_void_p, c_void_p] isl.isl_map_as_pw_multi_aff.restype = c_void_p isl.isl_map_as_pw_multi_aff.argtypes = [c_void_p] isl.isl_map_bind_domain.restype = c_void_p isl.isl_map_bind_domain.argtypes = [c_void_p, c_void_p] isl.isl_map_bind_range.restype = c_void_p isl.isl_map_bind_range.argtypes = [c_void_p, c_void_p] isl.isl_map_coalesce.restype = c_void_p isl.isl_map_coalesce.argtypes = [c_void_p] isl.isl_map_complement.restype = c_void_p isl.isl_map_complement.argtypes = [c_void_p] isl.isl_map_curry.restype = c_void_p isl.isl_map_curry.argtypes = [c_void_p] isl.isl_map_deltas.restype = c_void_p isl.isl_map_deltas.argtypes = [c_void_p] isl.isl_map_detect_equalities.restype = c_void_p isl.isl_map_detect_equalities.argtypes = [c_void_p] isl.isl_map_domain.restype = c_void_p isl.isl_map_domain.argtypes = [c_void_p] isl.isl_map_domain_factor_domain.restype = c_void_p isl.isl_map_domain_factor_domain.argtypes = [c_void_p] isl.isl_map_domain_factor_range.restype = c_void_p isl.isl_map_domain_factor_range.argtypes = [c_void_p] isl.isl_map_domain_product.restype = c_void_p isl.isl_map_domain_product.argtypes = [c_void_p, c_void_p] isl.isl_map_domain_reverse.restype = c_void_p isl.isl_map_domain_reverse.argtypes = [c_void_p] isl.isl_map_domain_tuple_dim.argtypes = [c_void_p] isl.isl_map_get_domain_tuple_id.restype = c_void_p isl.isl_map_get_domain_tuple_id.argtypes = [c_void_p] isl.isl_map_drop_unused_params.restype = c_void_p isl.isl_map_drop_unused_params.argtypes = [c_void_p] isl.isl_map_empty.restype = c_void_p isl.isl_map_empty.argtypes = [c_void_p] isl.isl_map_eq_at_multi_pw_aff.restype = c_void_p isl.isl_map_eq_at_multi_pw_aff.argtypes = [c_void_p, c_void_p] isl.isl_map_factor_domain.restype = c_void_p isl.isl_map_factor_domain.argtypes = [c_void_p] isl.isl_map_factor_range.restype = c_void_p isl.isl_map_factor_range.argtypes = [c_void_p] isl.isl_map_fixed_power_val.restype = c_void_p isl.isl_map_fixed_power_val.argtypes = [c_void_p, c_void_p] isl.isl_map_flatten.restype = c_void_p isl.isl_map_flatten.argtypes = [c_void_p] isl.isl_map_flatten_domain.restype = c_void_p isl.isl_map_flatten_domain.argtypes = [c_void_p] isl.isl_map_flatten_range.restype = c_void_p isl.isl_map_flatten_range.argtypes = [c_void_p] isl.isl_map_foreach_basic_map.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_map_gist.restype = c_void_p isl.isl_map_gist.argtypes = [c_void_p, c_void_p] isl.isl_map_gist_domain.restype = c_void_p isl.isl_map_gist_domain.argtypes = [c_void_p, c_void_p] isl.isl_map_gist_params.restype = c_void_p isl.isl_map_gist_params.argtypes = [c_void_p, c_void_p] isl.isl_map_has_domain_tuple_id.argtypes = [c_void_p] isl.isl_map_has_range_tuple_id.argtypes = [c_void_p] isl.isl_map_intersect.restype = c_void_p isl.isl_map_intersect.argtypes = [c_void_p, c_void_p] isl.isl_map_intersect_domain.restype = c_void_p isl.isl_map_intersect_domain.argtypes = [c_void_p, c_void_p] isl.isl_map_intersect_domain_factor_domain.restype = c_void_p isl.isl_map_intersect_domain_factor_domain.argtypes = [c_void_p, c_void_p] isl.isl_map_intersect_domain_factor_range.restype = c_void_p isl.isl_map_intersect_domain_factor_range.argtypes = [c_void_p, c_void_p] isl.isl_map_intersect_domain_wrapped_domain.restype = c_void_p isl.isl_map_intersect_domain_wrapped_domain.argtypes = [c_void_p, c_void_p] isl.isl_map_intersect_params.restype = c_void_p isl.isl_map_intersect_params.argtypes = [c_void_p, c_void_p] isl.isl_map_intersect_range.restype = c_void_p isl.isl_map_intersect_range.argtypes = [c_void_p, c_void_p] isl.isl_map_intersect_range_factor_domain.restype = c_void_p isl.isl_map_intersect_range_factor_domain.argtypes = [c_void_p, c_void_p] isl.isl_map_intersect_range_factor_range.restype = c_void_p isl.isl_map_intersect_range_factor_range.argtypes = [c_void_p, c_void_p] isl.isl_map_intersect_range_wrapped_domain.restype = c_void_p isl.isl_map_intersect_range_wrapped_domain.argtypes = [c_void_p, c_void_p] isl.isl_map_is_bijective.argtypes = [c_void_p] isl.isl_map_is_disjoint.argtypes = [c_void_p, c_void_p] isl.isl_map_is_empty.argtypes = [c_void_p] isl.isl_map_is_equal.argtypes = [c_void_p, c_void_p] isl.isl_map_is_injective.argtypes = [c_void_p] isl.isl_map_is_single_valued.argtypes = [c_void_p] isl.isl_map_is_strict_subset.argtypes = [c_void_p, c_void_p] isl.isl_map_is_subset.argtypes = [c_void_p, c_void_p] isl.isl_map_lex_ge_at_multi_pw_aff.restype = c_void_p isl.isl_map_lex_ge_at_multi_pw_aff.argtypes = [c_void_p, c_void_p] isl.isl_map_lex_gt_at_multi_pw_aff.restype = c_void_p isl.isl_map_lex_gt_at_multi_pw_aff.argtypes = [c_void_p, c_void_p] isl.isl_map_lex_le_at_multi_pw_aff.restype = c_void_p isl.isl_map_lex_le_at_multi_pw_aff.argtypes = [c_void_p, c_void_p] isl.isl_map_lex_lt_at_multi_pw_aff.restype = c_void_p isl.isl_map_lex_lt_at_multi_pw_aff.argtypes = [c_void_p, c_void_p] isl.isl_map_lexmax.restype = c_void_p isl.isl_map_lexmax.argtypes = [c_void_p] isl.isl_map_lexmax_pw_multi_aff.restype = c_void_p isl.isl_map_lexmax_pw_multi_aff.argtypes = [c_void_p] isl.isl_map_lexmin.restype = c_void_p isl.isl_map_lexmin.argtypes = [c_void_p] isl.isl_map_lexmin_pw_multi_aff.restype = c_void_p isl.isl_map_lexmin_pw_multi_aff.argtypes = [c_void_p] isl.isl_map_lower_bound_multi_pw_aff.restype = c_void_p isl.isl_map_lower_bound_multi_pw_aff.argtypes = [c_void_p, c_void_p] isl.isl_map_max_multi_pw_aff.restype = c_void_p isl.isl_map_max_multi_pw_aff.argtypes = [c_void_p] isl.isl_map_min_multi_pw_aff.restype = c_void_p isl.isl_map_min_multi_pw_aff.argtypes = [c_void_p] isl.isl_map_n_basic_map.argtypes = [c_void_p] isl.isl_map_params.restype = c_void_p isl.isl_map_params.argtypes = [c_void_p] isl.isl_map_polyhedral_hull.restype = c_void_p isl.isl_map_polyhedral_hull.argtypes = [c_void_p] isl.isl_map_preimage_domain_multi_aff.restype = c_void_p isl.isl_map_preimage_domain_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_map_preimage_domain_multi_pw_aff.restype = c_void_p isl.isl_map_preimage_domain_multi_pw_aff.argtypes = [c_void_p, c_void_p] isl.isl_map_preimage_domain_pw_multi_aff.restype = c_void_p isl.isl_map_preimage_domain_pw_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_map_preimage_range_multi_aff.restype = c_void_p isl.isl_map_preimage_range_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_map_preimage_range_pw_multi_aff.restype = c_void_p isl.isl_map_preimage_range_pw_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_map_product.restype = c_void_p isl.isl_map_product.argtypes = [c_void_p, c_void_p] isl.isl_map_project_out_all_params.restype = c_void_p isl.isl_map_project_out_all_params.argtypes = [c_void_p] isl.isl_map_project_out_param_id.restype = c_void_p isl.isl_map_project_out_param_id.argtypes = [c_void_p, c_void_p] isl.isl_map_project_out_param_id_list.restype = c_void_p isl.isl_map_project_out_param_id_list.argtypes = [c_void_p, c_void_p] isl.isl_map_range.restype = c_void_p isl.isl_map_range.argtypes = [c_void_p] isl.isl_map_range_factor_domain.restype = c_void_p isl.isl_map_range_factor_domain.argtypes = [c_void_p] isl.isl_map_range_factor_range.restype = c_void_p isl.isl_map_range_factor_range.argtypes = [c_void_p] isl.isl_map_get_range_lattice_tile.restype = c_void_p isl.isl_map_get_range_lattice_tile.argtypes = [c_void_p] isl.isl_map_range_product.restype = c_void_p isl.isl_map_range_product.argtypes = [c_void_p, c_void_p] isl.isl_map_range_reverse.restype = c_void_p isl.isl_map_range_reverse.argtypes = [c_void_p] isl.isl_map_get_range_simple_fixed_box_hull.restype = c_void_p isl.isl_map_get_range_simple_fixed_box_hull.argtypes = [c_void_p] isl.isl_map_range_tuple_dim.argtypes = [c_void_p] isl.isl_map_get_range_tuple_id.restype = c_void_p isl.isl_map_get_range_tuple_id.argtypes = [c_void_p] isl.isl_map_reverse.restype = c_void_p isl.isl_map_reverse.argtypes = [c_void_p] isl.isl_map_sample.restype = c_void_p isl.isl_map_sample.argtypes = [c_void_p] isl.isl_map_set_domain_tuple_id.restype = c_void_p isl.isl_map_set_domain_tuple_id.argtypes = [c_void_p, c_void_p] isl.isl_map_set_range_tuple_id.restype = c_void_p isl.isl_map_set_range_tuple_id.argtypes = [c_void_p, c_void_p] isl.isl_map_get_space.restype = c_void_p isl.isl_map_get_space.argtypes = [c_void_p] isl.isl_map_subtract.restype = c_void_p isl.isl_map_subtract.argtypes = [c_void_p, c_void_p] isl.isl_map_to_list.restype = c_void_p isl.isl_map_to_list.argtypes = [c_void_p] isl.isl_map_to_union_map.restype = c_void_p isl.isl_map_to_union_map.argtypes = [c_void_p] isl.isl_map_uncurry.restype = c_void_p isl.isl_map_uncurry.argtypes = [c_void_p] isl.isl_map_union.restype = c_void_p isl.isl_map_union.argtypes = [c_void_p, c_void_p] isl.isl_map_universe.restype = c_void_p isl.isl_map_universe.argtypes = [c_void_p] isl.isl_map_unshifted_simple_hull.restype = c_void_p isl.isl_map_unshifted_simple_hull.argtypes = [c_void_p] isl.isl_map_upper_bound_multi_pw_aff.restype = c_void_p isl.isl_map_upper_bound_multi_pw_aff.argtypes = [c_void_p, c_void_p] isl.isl_map_wrap.restype = c_void_p isl.isl_map_wrap.argtypes = [c_void_p] isl.isl_map_zip.restype = c_void_p isl.isl_map_zip.argtypes = [c_void_p] isl.isl_map_copy.restype = c_void_p isl.isl_map_copy.argtypes = [c_void_p] isl.isl_map_free.restype = c_void_p isl.isl_map_free.argtypes = [c_void_p] isl.isl_map_to_str.restype = POINTER(c_char) isl.isl_map_to_str.argtypes = [c_void_p] class basic_map(map): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_basic_map_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_basic_map_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is basic_map: arg0 = basic_map(arg0) except: raise ptr = isl.isl_basic_map_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.basic_map("""%s""")' % s else: return 'isl.basic_map("%s")' % s def affine_hull(arg0): try: if not arg0.__class__ is basic_map: arg0 = basic_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_basic_map_affine_hull(isl.isl_basic_map_copy(arg0.ptr)) obj = basic_map(ctx=ctx, ptr=res) return obj def apply_domain(arg0, arg1): try: if not arg0.__class__ is basic_map: arg0 = basic_map(arg0) except: raise try: if not arg1.__class__ is basic_map: arg1 = basic_map(arg1) except: return map(arg0).apply_domain(arg1) ctx = arg0.ctx res = isl.isl_basic_map_apply_domain(isl.isl_basic_map_copy(arg0.ptr), isl.isl_basic_map_copy(arg1.ptr)) obj = basic_map(ctx=ctx, ptr=res) return obj def apply_range(arg0, arg1): try: if not arg0.__class__ is basic_map: arg0 = basic_map(arg0) except: raise try: if not arg1.__class__ is basic_map: arg1 = basic_map(arg1) except: return map(arg0).apply_range(arg1) ctx = arg0.ctx res = isl.isl_basic_map_apply_range(isl.isl_basic_map_copy(arg0.ptr), isl.isl_basic_map_copy(arg1.ptr)) obj = basic_map(ctx=ctx, ptr=res) return obj def deltas(arg0): try: if not arg0.__class__ is basic_map: arg0 = basic_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_basic_map_deltas(isl.isl_basic_map_copy(arg0.ptr)) obj = basic_set(ctx=ctx, ptr=res) return obj def detect_equalities(arg0): try: if not arg0.__class__ is basic_map: arg0 = basic_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_basic_map_detect_equalities(isl.isl_basic_map_copy(arg0.ptr)) obj = basic_map(ctx=ctx, ptr=res) return obj def flatten(arg0): try: if not arg0.__class__ is basic_map: arg0 = basic_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_basic_map_flatten(isl.isl_basic_map_copy(arg0.ptr)) obj = basic_map(ctx=ctx, ptr=res) return obj def flatten_domain(arg0): try: if not arg0.__class__ is basic_map: arg0 = basic_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_basic_map_flatten_domain(isl.isl_basic_map_copy(arg0.ptr)) obj = basic_map(ctx=ctx, ptr=res) return obj def flatten_range(arg0): try: if not arg0.__class__ is basic_map: arg0 = basic_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_basic_map_flatten_range(isl.isl_basic_map_copy(arg0.ptr)) obj = basic_map(ctx=ctx, ptr=res) return obj def gist(arg0, arg1): try: if not arg0.__class__ is basic_map: arg0 = basic_map(arg0) except: raise try: if not arg1.__class__ is basic_map: arg1 = basic_map(arg1) except: return map(arg0).gist(arg1) ctx = arg0.ctx res = isl.isl_basic_map_gist(isl.isl_basic_map_copy(arg0.ptr), isl.isl_basic_map_copy(arg1.ptr)) obj = basic_map(ctx=ctx, ptr=res) return obj def intersect(arg0, arg1): try: if not arg0.__class__ is basic_map: arg0 = basic_map(arg0) except: raise try: if not arg1.__class__ is basic_map: arg1 = basic_map(arg1) except: return map(arg0).intersect(arg1) ctx = arg0.ctx res = isl.isl_basic_map_intersect(isl.isl_basic_map_copy(arg0.ptr), isl.isl_basic_map_copy(arg1.ptr)) obj = basic_map(ctx=ctx, ptr=res) return obj def intersect_domain(arg0, arg1): try: if not arg0.__class__ is basic_map: arg0 = basic_map(arg0) except: raise try: if not arg1.__class__ is basic_set: arg1 = basic_set(arg1) except: return map(arg0).intersect_domain(arg1) ctx = arg0.ctx res = isl.isl_basic_map_intersect_domain(isl.isl_basic_map_copy(arg0.ptr), isl.isl_basic_set_copy(arg1.ptr)) obj = basic_map(ctx=ctx, ptr=res) return obj def intersect_range(arg0, arg1): try: if not arg0.__class__ is basic_map: arg0 = basic_map(arg0) except: raise try: if not arg1.__class__ is basic_set: arg1 = basic_set(arg1) except: return map(arg0).intersect_range(arg1) ctx = arg0.ctx res = isl.isl_basic_map_intersect_range(isl.isl_basic_map_copy(arg0.ptr), isl.isl_basic_set_copy(arg1.ptr)) obj = basic_map(ctx=ctx, ptr=res) return obj def is_empty(arg0): try: if not arg0.__class__ is basic_map: arg0 = basic_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_basic_map_is_empty(arg0.ptr) if res < 0: raise Error return bool(res) def is_equal(arg0, arg1): try: if not arg0.__class__ is basic_map: arg0 = basic_map(arg0) except: raise try: if not arg1.__class__ is basic_map: arg1 = basic_map(arg1) except: return map(arg0).is_equal(arg1) ctx = arg0.ctx res = isl.isl_basic_map_is_equal(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def is_subset(arg0, arg1): try: if not arg0.__class__ is basic_map: arg0 = basic_map(arg0) except: raise try: if not arg1.__class__ is basic_map: arg1 = basic_map(arg1) except: return map(arg0).is_subset(arg1) ctx = arg0.ctx res = isl.isl_basic_map_is_subset(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def lexmax(arg0): try: if not arg0.__class__ is basic_map: arg0 = basic_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_basic_map_lexmax(isl.isl_basic_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def lexmin(arg0): try: if not arg0.__class__ is basic_map: arg0 = basic_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_basic_map_lexmin(isl.isl_basic_map_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def reverse(arg0): try: if not arg0.__class__ is basic_map: arg0 = basic_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_basic_map_reverse(isl.isl_basic_map_copy(arg0.ptr)) obj = basic_map(ctx=ctx, ptr=res) return obj def sample(arg0): try: if not arg0.__class__ is basic_map: arg0 = basic_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_basic_map_sample(isl.isl_basic_map_copy(arg0.ptr)) obj = basic_map(ctx=ctx, ptr=res) return obj def union(arg0, arg1): try: if not arg0.__class__ is basic_map: arg0 = basic_map(arg0) except: raise try: if not arg1.__class__ is basic_map: arg1 = basic_map(arg1) except: return map(arg0).union(arg1) ctx = arg0.ctx res = isl.isl_basic_map_union(isl.isl_basic_map_copy(arg0.ptr), isl.isl_basic_map_copy(arg1.ptr)) obj = map(ctx=ctx, ptr=res) return obj isl.isl_basic_map_read_from_str.restype = c_void_p isl.isl_basic_map_read_from_str.argtypes = [Context, c_char_p] isl.isl_basic_map_affine_hull.restype = c_void_p isl.isl_basic_map_affine_hull.argtypes = [c_void_p] isl.isl_basic_map_apply_domain.restype = c_void_p isl.isl_basic_map_apply_domain.argtypes = [c_void_p, c_void_p] isl.isl_basic_map_apply_range.restype = c_void_p isl.isl_basic_map_apply_range.argtypes = [c_void_p, c_void_p] isl.isl_basic_map_deltas.restype = c_void_p isl.isl_basic_map_deltas.argtypes = [c_void_p] isl.isl_basic_map_detect_equalities.restype = c_void_p isl.isl_basic_map_detect_equalities.argtypes = [c_void_p] isl.isl_basic_map_flatten.restype = c_void_p isl.isl_basic_map_flatten.argtypes = [c_void_p] isl.isl_basic_map_flatten_domain.restype = c_void_p isl.isl_basic_map_flatten_domain.argtypes = [c_void_p] isl.isl_basic_map_flatten_range.restype = c_void_p isl.isl_basic_map_flatten_range.argtypes = [c_void_p] isl.isl_basic_map_gist.restype = c_void_p isl.isl_basic_map_gist.argtypes = [c_void_p, c_void_p] isl.isl_basic_map_intersect.restype = c_void_p isl.isl_basic_map_intersect.argtypes = [c_void_p, c_void_p] isl.isl_basic_map_intersect_domain.restype = c_void_p isl.isl_basic_map_intersect_domain.argtypes = [c_void_p, c_void_p] isl.isl_basic_map_intersect_range.restype = c_void_p isl.isl_basic_map_intersect_range.argtypes = [c_void_p, c_void_p] isl.isl_basic_map_is_empty.argtypes = [c_void_p] isl.isl_basic_map_is_equal.argtypes = [c_void_p, c_void_p] isl.isl_basic_map_is_subset.argtypes = [c_void_p, c_void_p] isl.isl_basic_map_lexmax.restype = c_void_p isl.isl_basic_map_lexmax.argtypes = [c_void_p] isl.isl_basic_map_lexmin.restype = c_void_p isl.isl_basic_map_lexmin.argtypes = [c_void_p] isl.isl_basic_map_reverse.restype = c_void_p isl.isl_basic_map_reverse.argtypes = [c_void_p] isl.isl_basic_map_sample.restype = c_void_p isl.isl_basic_map_sample.argtypes = [c_void_p] isl.isl_basic_map_union.restype = c_void_p isl.isl_basic_map_union.argtypes = [c_void_p, c_void_p] isl.isl_basic_map_copy.restype = c_void_p isl.isl_basic_map_copy.argtypes = [c_void_p] isl.isl_basic_map_free.restype = c_void_p isl.isl_basic_map_free.argtypes = [c_void_p] isl.isl_basic_map_to_str.restype = POINTER(c_char) isl.isl_basic_map_to_str.argtypes = [c_void_p] class union_set(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and args[0].__class__ is basic_set: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_union_set_from_basic_set(isl.isl_basic_set_copy(args[0].ptr)) return if len(args) == 1 and args[0].__class__ is point: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_union_set_from_point(isl.isl_point_copy(args[0].ptr)) return if len(args) == 1 and args[0].__class__ is set: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_union_set_from_set(isl.isl_set_copy(args[0].ptr)) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_union_set_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_union_set_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ptr = isl.isl_union_set_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.union_set("""%s""")' % s else: return 'isl.union_set("%s")' % s def affine_hull(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_set_affine_hull(isl.isl_union_set_copy(arg0.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def apply(arg0, arg1): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_set_apply(isl.isl_union_set_copy(arg0.ptr), isl.isl_union_map_copy(arg1.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def as_set(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_set_as_set(isl.isl_union_set_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def coalesce(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_set_coalesce(isl.isl_union_set_copy(arg0.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def compute_divs(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_set_compute_divs(isl.isl_union_set_copy(arg0.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def detect_equalities(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_set_detect_equalities(isl.isl_union_set_copy(arg0.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def drop_unused_params(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_set_drop_unused_params(isl.isl_union_set_copy(arg0.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj @staticmethod def empty(*args): if len(args) == 0: ctx = Context.getDefaultInstance() res = isl.isl_union_set_empty_ctx(ctx) obj = union_set(ctx=ctx, ptr=res) return obj raise Error def every_set(arg0, arg1): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = set(ctx=arg0.ctx, ptr=isl.isl_set_copy(cb_arg0)) try: res = arg1(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 1 if res else 0 cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_union_set_every_set(arg0.ptr, cb1, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error return bool(res) def extract_set(arg0, arg1): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise try: if not arg1.__class__ is space: arg1 = space(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_set_extract_set(arg0.ptr, isl.isl_space_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def foreach_point(arg0, arg1): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = point(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg1(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_union_set_foreach_point(arg0.ptr, cb1, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def foreach_set(arg0, arg1): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = set(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg1(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_union_set_foreach_set(arg0.ptr, cb1, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def gist(arg0, arg1): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_set_gist(isl.isl_union_set_copy(arg0.ptr), isl.isl_union_set_copy(arg1.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def gist_params(arg0, arg1): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_set_gist_params(isl.isl_union_set_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def identity(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_set_identity(isl.isl_union_set_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj def intersect(arg0, arg1): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_set_intersect(isl.isl_union_set_copy(arg0.ptr), isl.isl_union_set_copy(arg1.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def intersect_params(arg0, arg1): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_set_intersect_params(isl.isl_union_set_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def is_disjoint(arg0, arg1): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_set_is_disjoint(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def is_empty(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_set_is_empty(arg0.ptr) if res < 0: raise Error return bool(res) def is_equal(arg0, arg1): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_set_is_equal(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def is_strict_subset(arg0, arg1): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_set_is_strict_subset(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def is_subset(arg0, arg1): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_set_is_subset(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def isa_set(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_set_isa_set(arg0.ptr) if res < 0: raise Error return bool(res) def lexmax(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_set_lexmax(isl.isl_union_set_copy(arg0.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def lexmin(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_set_lexmin(isl.isl_union_set_copy(arg0.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def params(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_set_params(isl.isl_union_set_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def polyhedral_hull(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_set_polyhedral_hull(isl.isl_union_set_copy(arg0.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def preimage(*args): if len(args) == 2 and args[1].__class__ is multi_aff: args = list(args) try: if not args[0].__class__ is union_set: args[0] = union_set(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_set_preimage_multi_aff(isl.isl_union_set_copy(args[0].ptr), isl.isl_multi_aff_copy(args[1].ptr)) obj = union_set(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is pw_multi_aff: args = list(args) try: if not args[0].__class__ is union_set: args[0] = union_set(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_set_preimage_pw_multi_aff(isl.isl_union_set_copy(args[0].ptr), isl.isl_pw_multi_aff_copy(args[1].ptr)) obj = union_set(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is union_pw_multi_aff: args = list(args) try: if not args[0].__class__ is union_set: args[0] = union_set(args[0]) except: raise ctx = args[0].ctx res = isl.isl_union_set_preimage_union_pw_multi_aff(isl.isl_union_set_copy(args[0].ptr), isl.isl_union_pw_multi_aff_copy(args[1].ptr)) obj = union_set(ctx=ctx, ptr=res) return obj raise Error def project_out_all_params(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_set_project_out_all_params(isl.isl_union_set_copy(arg0.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def sample_point(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_set_sample_point(isl.isl_union_set_copy(arg0.ptr)) obj = point(ctx=ctx, ptr=res) return obj def set_list(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_set_get_set_list(arg0.ptr) obj = set_list(ctx=ctx, ptr=res) return obj def get_set_list(arg0): return arg0.set_list() def space(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_set_get_space(arg0.ptr) obj = space(ctx=ctx, ptr=res) return obj def get_space(arg0): return arg0.space() def subtract(arg0, arg1): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_set_subtract(isl.isl_union_set_copy(arg0.ptr), isl.isl_union_set_copy(arg1.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def to_list(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_set_to_list(isl.isl_union_set_copy(arg0.ptr)) obj = union_set_list(ctx=ctx, ptr=res) return obj def union(arg0, arg1): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_set_union(isl.isl_union_set_copy(arg0.ptr), isl.isl_union_set_copy(arg1.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def universe(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_set_universe(isl.isl_union_set_copy(arg0.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def unwrap(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_set_unwrap(isl.isl_union_set_copy(arg0.ptr)) obj = union_map(ctx=ctx, ptr=res) return obj isl.isl_union_set_from_basic_set.restype = c_void_p isl.isl_union_set_from_basic_set.argtypes = [c_void_p] isl.isl_union_set_from_point.restype = c_void_p isl.isl_union_set_from_point.argtypes = [c_void_p] isl.isl_union_set_from_set.restype = c_void_p isl.isl_union_set_from_set.argtypes = [c_void_p] isl.isl_union_set_read_from_str.restype = c_void_p isl.isl_union_set_read_from_str.argtypes = [Context, c_char_p] isl.isl_union_set_affine_hull.restype = c_void_p isl.isl_union_set_affine_hull.argtypes = [c_void_p] isl.isl_union_set_apply.restype = c_void_p isl.isl_union_set_apply.argtypes = [c_void_p, c_void_p] isl.isl_union_set_as_set.restype = c_void_p isl.isl_union_set_as_set.argtypes = [c_void_p] isl.isl_union_set_coalesce.restype = c_void_p isl.isl_union_set_coalesce.argtypes = [c_void_p] isl.isl_union_set_compute_divs.restype = c_void_p isl.isl_union_set_compute_divs.argtypes = [c_void_p] isl.isl_union_set_detect_equalities.restype = c_void_p isl.isl_union_set_detect_equalities.argtypes = [c_void_p] isl.isl_union_set_drop_unused_params.restype = c_void_p isl.isl_union_set_drop_unused_params.argtypes = [c_void_p] isl.isl_union_set_empty_ctx.restype = c_void_p isl.isl_union_set_empty_ctx.argtypes = [Context] isl.isl_union_set_every_set.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_union_set_extract_set.restype = c_void_p isl.isl_union_set_extract_set.argtypes = [c_void_p, c_void_p] isl.isl_union_set_foreach_point.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_union_set_foreach_set.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_union_set_gist.restype = c_void_p isl.isl_union_set_gist.argtypes = [c_void_p, c_void_p] isl.isl_union_set_gist_params.restype = c_void_p isl.isl_union_set_gist_params.argtypes = [c_void_p, c_void_p] isl.isl_union_set_identity.restype = c_void_p isl.isl_union_set_identity.argtypes = [c_void_p] isl.isl_union_set_intersect.restype = c_void_p isl.isl_union_set_intersect.argtypes = [c_void_p, c_void_p] isl.isl_union_set_intersect_params.restype = c_void_p isl.isl_union_set_intersect_params.argtypes = [c_void_p, c_void_p] isl.isl_union_set_is_disjoint.argtypes = [c_void_p, c_void_p] isl.isl_union_set_is_empty.argtypes = [c_void_p] isl.isl_union_set_is_equal.argtypes = [c_void_p, c_void_p] isl.isl_union_set_is_strict_subset.argtypes = [c_void_p, c_void_p] isl.isl_union_set_is_subset.argtypes = [c_void_p, c_void_p] isl.isl_union_set_isa_set.argtypes = [c_void_p] isl.isl_union_set_lexmax.restype = c_void_p isl.isl_union_set_lexmax.argtypes = [c_void_p] isl.isl_union_set_lexmin.restype = c_void_p isl.isl_union_set_lexmin.argtypes = [c_void_p] isl.isl_union_set_params.restype = c_void_p isl.isl_union_set_params.argtypes = [c_void_p] isl.isl_union_set_polyhedral_hull.restype = c_void_p isl.isl_union_set_polyhedral_hull.argtypes = [c_void_p] isl.isl_union_set_preimage_multi_aff.restype = c_void_p isl.isl_union_set_preimage_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_union_set_preimage_pw_multi_aff.restype = c_void_p isl.isl_union_set_preimage_pw_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_union_set_preimage_union_pw_multi_aff.restype = c_void_p isl.isl_union_set_preimage_union_pw_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_union_set_project_out_all_params.restype = c_void_p isl.isl_union_set_project_out_all_params.argtypes = [c_void_p] isl.isl_union_set_sample_point.restype = c_void_p isl.isl_union_set_sample_point.argtypes = [c_void_p] isl.isl_union_set_get_set_list.restype = c_void_p isl.isl_union_set_get_set_list.argtypes = [c_void_p] isl.isl_union_set_get_space.restype = c_void_p isl.isl_union_set_get_space.argtypes = [c_void_p] isl.isl_union_set_subtract.restype = c_void_p isl.isl_union_set_subtract.argtypes = [c_void_p, c_void_p] isl.isl_union_set_to_list.restype = c_void_p isl.isl_union_set_to_list.argtypes = [c_void_p] isl.isl_union_set_union.restype = c_void_p isl.isl_union_set_union.argtypes = [c_void_p, c_void_p] isl.isl_union_set_universe.restype = c_void_p isl.isl_union_set_universe.argtypes = [c_void_p] isl.isl_union_set_unwrap.restype = c_void_p isl.isl_union_set_unwrap.argtypes = [c_void_p] isl.isl_union_set_copy.restype = c_void_p isl.isl_union_set_copy.argtypes = [c_void_p] isl.isl_union_set_free.restype = c_void_p isl.isl_union_set_free.argtypes = [c_void_p] isl.isl_union_set_to_str.restype = POINTER(c_char) isl.isl_union_set_to_str.argtypes = [c_void_p] class set(union_set): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and args[0].__class__ is basic_set: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_set_from_basic_set(isl.isl_basic_set_copy(args[0].ptr)) return if len(args) == 1 and args[0].__class__ is point: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_set_from_point(isl.isl_point_copy(args[0].ptr)) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_set_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_set_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ptr = isl.isl_set_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.set("""%s""")' % s else: return 'isl.set("%s")' % s def affine_hull(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_affine_hull(isl.isl_set_copy(arg0.ptr)) obj = basic_set(ctx=ctx, ptr=res) return obj def apply(arg0, arg1): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise try: if not arg1.__class__ is map: arg1 = map(arg1) except: return union_set(arg0).apply(arg1) ctx = arg0.ctx res = isl.isl_set_apply(isl.isl_set_copy(arg0.ptr), isl.isl_map_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def as_pw_multi_aff(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_as_pw_multi_aff(isl.isl_set_copy(arg0.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def bind(arg0, arg1): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise try: if not arg1.__class__ is multi_id: arg1 = multi_id(arg1) except: return union_set(arg0).bind(arg1) ctx = arg0.ctx res = isl.isl_set_bind(isl.isl_set_copy(arg0.ptr), isl.isl_multi_id_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def coalesce(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_coalesce(isl.isl_set_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def complement(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_complement(isl.isl_set_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def detect_equalities(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_detect_equalities(isl.isl_set_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def dim_max_val(arg0, arg1): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_dim_max_val(isl.isl_set_copy(arg0.ptr), arg1) obj = val(ctx=ctx, ptr=res) return obj def dim_min_val(arg0, arg1): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_dim_min_val(isl.isl_set_copy(arg0.ptr), arg1) obj = val(ctx=ctx, ptr=res) return obj def drop_unused_params(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_drop_unused_params(isl.isl_set_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj @staticmethod def empty(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_empty(isl.isl_space_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def flatten(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_flatten(isl.isl_set_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def foreach_basic_set(arg0, arg1): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = basic_set(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg1(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_set_foreach_basic_set(arg0.ptr, cb1, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def foreach_point(arg0, arg1): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = point(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg1(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_set_foreach_point(arg0.ptr, cb1, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def gist(arg0, arg1): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_set(arg0).gist(arg1) ctx = arg0.ctx res = isl.isl_set_gist(isl.isl_set_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def gist_params(arg0, arg1): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_set(arg0).gist_params(arg1) ctx = arg0.ctx res = isl.isl_set_gist_params(isl.isl_set_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def identity(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_identity(isl.isl_set_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def indicator_function(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_indicator_function(isl.isl_set_copy(arg0.ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj def insert_domain(arg0, arg1): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise try: if not arg1.__class__ is space: arg1 = space(arg1) except: return union_set(arg0).insert_domain(arg1) ctx = arg0.ctx res = isl.isl_set_insert_domain(isl.isl_set_copy(arg0.ptr), isl.isl_space_copy(arg1.ptr)) obj = map(ctx=ctx, ptr=res) return obj def intersect(arg0, arg1): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_set(arg0).intersect(arg1) ctx = arg0.ctx res = isl.isl_set_intersect(isl.isl_set_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def intersect_params(arg0, arg1): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_set(arg0).intersect_params(arg1) ctx = arg0.ctx res = isl.isl_set_intersect_params(isl.isl_set_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def involves_locals(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_involves_locals(arg0.ptr) if res < 0: raise Error return bool(res) def is_disjoint(arg0, arg1): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_set(arg0).is_disjoint(arg1) ctx = arg0.ctx res = isl.isl_set_is_disjoint(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def is_empty(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_is_empty(arg0.ptr) if res < 0: raise Error return bool(res) def is_equal(arg0, arg1): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_set(arg0).is_equal(arg1) ctx = arg0.ctx res = isl.isl_set_is_equal(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def is_singleton(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_is_singleton(arg0.ptr) if res < 0: raise Error return bool(res) def is_strict_subset(arg0, arg1): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_set(arg0).is_strict_subset(arg1) ctx = arg0.ctx res = isl.isl_set_is_strict_subset(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def is_subset(arg0, arg1): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_set(arg0).is_subset(arg1) ctx = arg0.ctx res = isl.isl_set_is_subset(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def is_wrapping(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_is_wrapping(arg0.ptr) if res < 0: raise Error return bool(res) def lattice_tile(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_get_lattice_tile(arg0.ptr) obj = fixed_box(ctx=ctx, ptr=res) return obj def get_lattice_tile(arg0): return arg0.lattice_tile() def lexmax(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_lexmax(isl.isl_set_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def lexmax_pw_multi_aff(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_lexmax_pw_multi_aff(isl.isl_set_copy(arg0.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def lexmin(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_lexmin(isl.isl_set_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def lexmin_pw_multi_aff(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_lexmin_pw_multi_aff(isl.isl_set_copy(arg0.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def lower_bound(*args): if len(args) == 2 and args[1].__class__ is multi_pw_aff: args = list(args) try: if not args[0].__class__ is set: args[0] = set(args[0]) except: raise ctx = args[0].ctx res = isl.isl_set_lower_bound_multi_pw_aff(isl.isl_set_copy(args[0].ptr), isl.isl_multi_pw_aff_copy(args[1].ptr)) obj = set(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is multi_val: args = list(args) try: if not args[0].__class__ is set: args[0] = set(args[0]) except: raise ctx = args[0].ctx res = isl.isl_set_lower_bound_multi_val(isl.isl_set_copy(args[0].ptr), isl.isl_multi_val_copy(args[1].ptr)) obj = set(ctx=ctx, ptr=res) return obj raise Error def max_multi_pw_aff(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_max_multi_pw_aff(isl.isl_set_copy(arg0.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def max_val(arg0, arg1): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise try: if not arg1.__class__ is aff: arg1 = aff(arg1) except: return union_set(arg0).max_val(arg1) ctx = arg0.ctx res = isl.isl_set_max_val(arg0.ptr, arg1.ptr) obj = val(ctx=ctx, ptr=res) return obj def min_multi_pw_aff(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_min_multi_pw_aff(isl.isl_set_copy(arg0.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def min_val(arg0, arg1): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise try: if not arg1.__class__ is aff: arg1 = aff(arg1) except: return union_set(arg0).min_val(arg1) ctx = arg0.ctx res = isl.isl_set_min_val(arg0.ptr, arg1.ptr) obj = val(ctx=ctx, ptr=res) return obj def n_basic_set(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_n_basic_set(arg0.ptr) if res < 0: raise Error return int(res) def param_pw_aff_on_domain(*args): if len(args) == 2 and (args[1].__class__ is id or type(args[1]) == str): args = list(args) try: if not args[0].__class__ is set: args[0] = set(args[0]) except: raise try: if not args[1].__class__ is id: args[1] = id(args[1]) except: raise ctx = args[0].ctx res = isl.isl_set_param_pw_aff_on_domain_id(isl.isl_set_copy(args[0].ptr), isl.isl_id_copy(args[1].ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj raise Error def params(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_params(isl.isl_set_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def plain_multi_val_if_fixed(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_get_plain_multi_val_if_fixed(arg0.ptr) obj = multi_val(ctx=ctx, ptr=res) return obj def get_plain_multi_val_if_fixed(arg0): return arg0.plain_multi_val_if_fixed() def polyhedral_hull(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_polyhedral_hull(isl.isl_set_copy(arg0.ptr)) obj = basic_set(ctx=ctx, ptr=res) return obj def preimage(*args): if len(args) == 2 and args[1].__class__ is multi_aff: args = list(args) try: if not args[0].__class__ is set: args[0] = set(args[0]) except: raise ctx = args[0].ctx res = isl.isl_set_preimage_multi_aff(isl.isl_set_copy(args[0].ptr), isl.isl_multi_aff_copy(args[1].ptr)) obj = set(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is multi_pw_aff: args = list(args) try: if not args[0].__class__ is set: args[0] = set(args[0]) except: raise ctx = args[0].ctx res = isl.isl_set_preimage_multi_pw_aff(isl.isl_set_copy(args[0].ptr), isl.isl_multi_pw_aff_copy(args[1].ptr)) obj = set(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is pw_multi_aff: args = list(args) try: if not args[0].__class__ is set: args[0] = set(args[0]) except: raise ctx = args[0].ctx res = isl.isl_set_preimage_pw_multi_aff(isl.isl_set_copy(args[0].ptr), isl.isl_pw_multi_aff_copy(args[1].ptr)) obj = set(ctx=ctx, ptr=res) return obj raise Error def product(arg0, arg1): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_set(arg0).product(arg1) ctx = arg0.ctx res = isl.isl_set_product(isl.isl_set_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def project_out_all_params(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_project_out_all_params(isl.isl_set_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def project_out_param(*args): if len(args) == 2 and (args[1].__class__ is id or type(args[1]) == str): args = list(args) try: if not args[0].__class__ is set: args[0] = set(args[0]) except: raise try: if not args[1].__class__ is id: args[1] = id(args[1]) except: raise ctx = args[0].ctx res = isl.isl_set_project_out_param_id(isl.isl_set_copy(args[0].ptr), isl.isl_id_copy(args[1].ptr)) obj = set(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is id_list: args = list(args) try: if not args[0].__class__ is set: args[0] = set(args[0]) except: raise ctx = args[0].ctx res = isl.isl_set_project_out_param_id_list(isl.isl_set_copy(args[0].ptr), isl.isl_id_list_copy(args[1].ptr)) obj = set(ctx=ctx, ptr=res) return obj raise Error def pw_aff_on_domain(*args): if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is set: args[0] = set(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_set_pw_aff_on_domain_val(isl.isl_set_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = pw_aff(ctx=ctx, ptr=res) return obj raise Error def pw_multi_aff_on_domain(*args): if len(args) == 2 and args[1].__class__ is multi_val: args = list(args) try: if not args[0].__class__ is set: args[0] = set(args[0]) except: raise ctx = args[0].ctx res = isl.isl_set_pw_multi_aff_on_domain_multi_val(isl.isl_set_copy(args[0].ptr), isl.isl_multi_val_copy(args[1].ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj raise Error def sample(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_sample(isl.isl_set_copy(arg0.ptr)) obj = basic_set(ctx=ctx, ptr=res) return obj def sample_point(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_sample_point(isl.isl_set_copy(arg0.ptr)) obj = point(ctx=ctx, ptr=res) return obj def simple_fixed_box_hull(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_get_simple_fixed_box_hull(arg0.ptr) obj = fixed_box(ctx=ctx, ptr=res) return obj def get_simple_fixed_box_hull(arg0): return arg0.simple_fixed_box_hull() def space(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_get_space(arg0.ptr) obj = space(ctx=ctx, ptr=res) return obj def get_space(arg0): return arg0.space() def stride(arg0, arg1): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_get_stride(arg0.ptr, arg1) obj = val(ctx=ctx, ptr=res) return obj def get_stride(arg0, arg1): return arg0.stride(arg1) def subtract(arg0, arg1): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_set(arg0).subtract(arg1) ctx = arg0.ctx res = isl.isl_set_subtract(isl.isl_set_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def to_list(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_to_list(isl.isl_set_copy(arg0.ptr)) obj = set_list(ctx=ctx, ptr=res) return obj def to_union_set(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_to_union_set(isl.isl_set_copy(arg0.ptr)) obj = union_set(ctx=ctx, ptr=res) return obj def translation(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_translation(isl.isl_set_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def tuple_dim(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_tuple_dim(arg0.ptr) if res < 0: raise Error return int(res) def unbind_params(arg0, arg1): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise try: if not arg1.__class__ is multi_id: arg1 = multi_id(arg1) except: return union_set(arg0).unbind_params(arg1) ctx = arg0.ctx res = isl.isl_set_unbind_params(isl.isl_set_copy(arg0.ptr), isl.isl_multi_id_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj def unbind_params_insert_domain(arg0, arg1): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise try: if not arg1.__class__ is multi_id: arg1 = multi_id(arg1) except: return union_set(arg0).unbind_params_insert_domain(arg1) ctx = arg0.ctx res = isl.isl_set_unbind_params_insert_domain(isl.isl_set_copy(arg0.ptr), isl.isl_multi_id_copy(arg1.ptr)) obj = map(ctx=ctx, ptr=res) return obj def union(arg0, arg1): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: return union_set(arg0).union(arg1) ctx = arg0.ctx res = isl.isl_set_union(isl.isl_set_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj @staticmethod def universe(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_universe(isl.isl_space_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def unshifted_simple_hull(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_unshifted_simple_hull(isl.isl_set_copy(arg0.ptr)) obj = basic_set(ctx=ctx, ptr=res) return obj def unwrap(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_unwrap(isl.isl_set_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def upper_bound(*args): if len(args) == 2 and args[1].__class__ is multi_pw_aff: args = list(args) try: if not args[0].__class__ is set: args[0] = set(args[0]) except: raise ctx = args[0].ctx res = isl.isl_set_upper_bound_multi_pw_aff(isl.isl_set_copy(args[0].ptr), isl.isl_multi_pw_aff_copy(args[1].ptr)) obj = set(ctx=ctx, ptr=res) return obj if len(args) == 2 and args[1].__class__ is multi_val: args = list(args) try: if not args[0].__class__ is set: args[0] = set(args[0]) except: raise ctx = args[0].ctx res = isl.isl_set_upper_bound_multi_val(isl.isl_set_copy(args[0].ptr), isl.isl_multi_val_copy(args[1].ptr)) obj = set(ctx=ctx, ptr=res) return obj raise Error def wrapped_reverse(arg0): try: if not arg0.__class__ is set: arg0 = set(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_wrapped_reverse(isl.isl_set_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj isl.isl_set_from_basic_set.restype = c_void_p isl.isl_set_from_basic_set.argtypes = [c_void_p] isl.isl_set_from_point.restype = c_void_p isl.isl_set_from_point.argtypes = [c_void_p] isl.isl_set_read_from_str.restype = c_void_p isl.isl_set_read_from_str.argtypes = [Context, c_char_p] isl.isl_set_affine_hull.restype = c_void_p isl.isl_set_affine_hull.argtypes = [c_void_p] isl.isl_set_apply.restype = c_void_p isl.isl_set_apply.argtypes = [c_void_p, c_void_p] isl.isl_set_as_pw_multi_aff.restype = c_void_p isl.isl_set_as_pw_multi_aff.argtypes = [c_void_p] isl.isl_set_bind.restype = c_void_p isl.isl_set_bind.argtypes = [c_void_p, c_void_p] isl.isl_set_coalesce.restype = c_void_p isl.isl_set_coalesce.argtypes = [c_void_p] isl.isl_set_complement.restype = c_void_p isl.isl_set_complement.argtypes = [c_void_p] isl.isl_set_detect_equalities.restype = c_void_p isl.isl_set_detect_equalities.argtypes = [c_void_p] isl.isl_set_dim_max_val.restype = c_void_p isl.isl_set_dim_max_val.argtypes = [c_void_p, c_int] isl.isl_set_dim_min_val.restype = c_void_p isl.isl_set_dim_min_val.argtypes = [c_void_p, c_int] isl.isl_set_drop_unused_params.restype = c_void_p isl.isl_set_drop_unused_params.argtypes = [c_void_p] isl.isl_set_empty.restype = c_void_p isl.isl_set_empty.argtypes = [c_void_p] isl.isl_set_flatten.restype = c_void_p isl.isl_set_flatten.argtypes = [c_void_p] isl.isl_set_foreach_basic_set.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_set_foreach_point.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_set_gist.restype = c_void_p isl.isl_set_gist.argtypes = [c_void_p, c_void_p] isl.isl_set_gist_params.restype = c_void_p isl.isl_set_gist_params.argtypes = [c_void_p, c_void_p] isl.isl_set_identity.restype = c_void_p isl.isl_set_identity.argtypes = [c_void_p] isl.isl_set_indicator_function.restype = c_void_p isl.isl_set_indicator_function.argtypes = [c_void_p] isl.isl_set_insert_domain.restype = c_void_p isl.isl_set_insert_domain.argtypes = [c_void_p, c_void_p] isl.isl_set_intersect.restype = c_void_p isl.isl_set_intersect.argtypes = [c_void_p, c_void_p] isl.isl_set_intersect_params.restype = c_void_p isl.isl_set_intersect_params.argtypes = [c_void_p, c_void_p] isl.isl_set_involves_locals.argtypes = [c_void_p] isl.isl_set_is_disjoint.argtypes = [c_void_p, c_void_p] isl.isl_set_is_empty.argtypes = [c_void_p] isl.isl_set_is_equal.argtypes = [c_void_p, c_void_p] isl.isl_set_is_singleton.argtypes = [c_void_p] isl.isl_set_is_strict_subset.argtypes = [c_void_p, c_void_p] isl.isl_set_is_subset.argtypes = [c_void_p, c_void_p] isl.isl_set_is_wrapping.argtypes = [c_void_p] isl.isl_set_get_lattice_tile.restype = c_void_p isl.isl_set_get_lattice_tile.argtypes = [c_void_p] isl.isl_set_lexmax.restype = c_void_p isl.isl_set_lexmax.argtypes = [c_void_p] isl.isl_set_lexmax_pw_multi_aff.restype = c_void_p isl.isl_set_lexmax_pw_multi_aff.argtypes = [c_void_p] isl.isl_set_lexmin.restype = c_void_p isl.isl_set_lexmin.argtypes = [c_void_p] isl.isl_set_lexmin_pw_multi_aff.restype = c_void_p isl.isl_set_lexmin_pw_multi_aff.argtypes = [c_void_p] isl.isl_set_lower_bound_multi_pw_aff.restype = c_void_p isl.isl_set_lower_bound_multi_pw_aff.argtypes = [c_void_p, c_void_p] isl.isl_set_lower_bound_multi_val.restype = c_void_p isl.isl_set_lower_bound_multi_val.argtypes = [c_void_p, c_void_p] isl.isl_set_max_multi_pw_aff.restype = c_void_p isl.isl_set_max_multi_pw_aff.argtypes = [c_void_p] isl.isl_set_max_val.restype = c_void_p isl.isl_set_max_val.argtypes = [c_void_p, c_void_p] isl.isl_set_min_multi_pw_aff.restype = c_void_p isl.isl_set_min_multi_pw_aff.argtypes = [c_void_p] isl.isl_set_min_val.restype = c_void_p isl.isl_set_min_val.argtypes = [c_void_p, c_void_p] isl.isl_set_n_basic_set.argtypes = [c_void_p] isl.isl_set_param_pw_aff_on_domain_id.restype = c_void_p isl.isl_set_param_pw_aff_on_domain_id.argtypes = [c_void_p, c_void_p] isl.isl_set_params.restype = c_void_p isl.isl_set_params.argtypes = [c_void_p] isl.isl_set_get_plain_multi_val_if_fixed.restype = c_void_p isl.isl_set_get_plain_multi_val_if_fixed.argtypes = [c_void_p] isl.isl_set_polyhedral_hull.restype = c_void_p isl.isl_set_polyhedral_hull.argtypes = [c_void_p] isl.isl_set_preimage_multi_aff.restype = c_void_p isl.isl_set_preimage_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_set_preimage_multi_pw_aff.restype = c_void_p isl.isl_set_preimage_multi_pw_aff.argtypes = [c_void_p, c_void_p] isl.isl_set_preimage_pw_multi_aff.restype = c_void_p isl.isl_set_preimage_pw_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_set_product.restype = c_void_p isl.isl_set_product.argtypes = [c_void_p, c_void_p] isl.isl_set_project_out_all_params.restype = c_void_p isl.isl_set_project_out_all_params.argtypes = [c_void_p] isl.isl_set_project_out_param_id.restype = c_void_p isl.isl_set_project_out_param_id.argtypes = [c_void_p, c_void_p] isl.isl_set_project_out_param_id_list.restype = c_void_p isl.isl_set_project_out_param_id_list.argtypes = [c_void_p, c_void_p] isl.isl_set_pw_aff_on_domain_val.restype = c_void_p isl.isl_set_pw_aff_on_domain_val.argtypes = [c_void_p, c_void_p] isl.isl_set_pw_multi_aff_on_domain_multi_val.restype = c_void_p isl.isl_set_pw_multi_aff_on_domain_multi_val.argtypes = [c_void_p, c_void_p] isl.isl_set_sample.restype = c_void_p isl.isl_set_sample.argtypes = [c_void_p] isl.isl_set_sample_point.restype = c_void_p isl.isl_set_sample_point.argtypes = [c_void_p] isl.isl_set_get_simple_fixed_box_hull.restype = c_void_p isl.isl_set_get_simple_fixed_box_hull.argtypes = [c_void_p] isl.isl_set_get_space.restype = c_void_p isl.isl_set_get_space.argtypes = [c_void_p] isl.isl_set_get_stride.restype = c_void_p isl.isl_set_get_stride.argtypes = [c_void_p, c_int] isl.isl_set_subtract.restype = c_void_p isl.isl_set_subtract.argtypes = [c_void_p, c_void_p] isl.isl_set_to_list.restype = c_void_p isl.isl_set_to_list.argtypes = [c_void_p] isl.isl_set_to_union_set.restype = c_void_p isl.isl_set_to_union_set.argtypes = [c_void_p] isl.isl_set_translation.restype = c_void_p isl.isl_set_translation.argtypes = [c_void_p] isl.isl_set_tuple_dim.argtypes = [c_void_p] isl.isl_set_unbind_params.restype = c_void_p isl.isl_set_unbind_params.argtypes = [c_void_p, c_void_p] isl.isl_set_unbind_params_insert_domain.restype = c_void_p isl.isl_set_unbind_params_insert_domain.argtypes = [c_void_p, c_void_p] isl.isl_set_union.restype = c_void_p isl.isl_set_union.argtypes = [c_void_p, c_void_p] isl.isl_set_universe.restype = c_void_p isl.isl_set_universe.argtypes = [c_void_p] isl.isl_set_unshifted_simple_hull.restype = c_void_p isl.isl_set_unshifted_simple_hull.argtypes = [c_void_p] isl.isl_set_unwrap.restype = c_void_p isl.isl_set_unwrap.argtypes = [c_void_p] isl.isl_set_upper_bound_multi_pw_aff.restype = c_void_p isl.isl_set_upper_bound_multi_pw_aff.argtypes = [c_void_p, c_void_p] isl.isl_set_upper_bound_multi_val.restype = c_void_p isl.isl_set_upper_bound_multi_val.argtypes = [c_void_p, c_void_p] isl.isl_set_wrapped_reverse.restype = c_void_p isl.isl_set_wrapped_reverse.argtypes = [c_void_p] isl.isl_set_copy.restype = c_void_p isl.isl_set_copy.argtypes = [c_void_p] isl.isl_set_free.restype = c_void_p isl.isl_set_free.argtypes = [c_void_p] isl.isl_set_to_str.restype = POINTER(c_char) isl.isl_set_to_str.argtypes = [c_void_p] class basic_set(set): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and args[0].__class__ is point: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_basic_set_from_point(isl.isl_point_copy(args[0].ptr)) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_basic_set_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_basic_set_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is basic_set: arg0 = basic_set(arg0) except: raise ptr = isl.isl_basic_set_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.basic_set("""%s""")' % s else: return 'isl.basic_set("%s")' % s def affine_hull(arg0): try: if not arg0.__class__ is basic_set: arg0 = basic_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_basic_set_affine_hull(isl.isl_basic_set_copy(arg0.ptr)) obj = basic_set(ctx=ctx, ptr=res) return obj def apply(arg0, arg1): try: if not arg0.__class__ is basic_set: arg0 = basic_set(arg0) except: raise try: if not arg1.__class__ is basic_map: arg1 = basic_map(arg1) except: return set(arg0).apply(arg1) ctx = arg0.ctx res = isl.isl_basic_set_apply(isl.isl_basic_set_copy(arg0.ptr), isl.isl_basic_map_copy(arg1.ptr)) obj = basic_set(ctx=ctx, ptr=res) return obj def detect_equalities(arg0): try: if not arg0.__class__ is basic_set: arg0 = basic_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_basic_set_detect_equalities(isl.isl_basic_set_copy(arg0.ptr)) obj = basic_set(ctx=ctx, ptr=res) return obj def dim_max_val(arg0, arg1): try: if not arg0.__class__ is basic_set: arg0 = basic_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_basic_set_dim_max_val(isl.isl_basic_set_copy(arg0.ptr), arg1) obj = val(ctx=ctx, ptr=res) return obj def flatten(arg0): try: if not arg0.__class__ is basic_set: arg0 = basic_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_basic_set_flatten(isl.isl_basic_set_copy(arg0.ptr)) obj = basic_set(ctx=ctx, ptr=res) return obj def gist(arg0, arg1): try: if not arg0.__class__ is basic_set: arg0 = basic_set(arg0) except: raise try: if not arg1.__class__ is basic_set: arg1 = basic_set(arg1) except: return set(arg0).gist(arg1) ctx = arg0.ctx res = isl.isl_basic_set_gist(isl.isl_basic_set_copy(arg0.ptr), isl.isl_basic_set_copy(arg1.ptr)) obj = basic_set(ctx=ctx, ptr=res) return obj def intersect(arg0, arg1): try: if not arg0.__class__ is basic_set: arg0 = basic_set(arg0) except: raise try: if not arg1.__class__ is basic_set: arg1 = basic_set(arg1) except: return set(arg0).intersect(arg1) ctx = arg0.ctx res = isl.isl_basic_set_intersect(isl.isl_basic_set_copy(arg0.ptr), isl.isl_basic_set_copy(arg1.ptr)) obj = basic_set(ctx=ctx, ptr=res) return obj def intersect_params(arg0, arg1): try: if not arg0.__class__ is basic_set: arg0 = basic_set(arg0) except: raise try: if not arg1.__class__ is basic_set: arg1 = basic_set(arg1) except: return set(arg0).intersect_params(arg1) ctx = arg0.ctx res = isl.isl_basic_set_intersect_params(isl.isl_basic_set_copy(arg0.ptr), isl.isl_basic_set_copy(arg1.ptr)) obj = basic_set(ctx=ctx, ptr=res) return obj def is_empty(arg0): try: if not arg0.__class__ is basic_set: arg0 = basic_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_basic_set_is_empty(arg0.ptr) if res < 0: raise Error return bool(res) def is_equal(arg0, arg1): try: if not arg0.__class__ is basic_set: arg0 = basic_set(arg0) except: raise try: if not arg1.__class__ is basic_set: arg1 = basic_set(arg1) except: return set(arg0).is_equal(arg1) ctx = arg0.ctx res = isl.isl_basic_set_is_equal(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def is_subset(arg0, arg1): try: if not arg0.__class__ is basic_set: arg0 = basic_set(arg0) except: raise try: if not arg1.__class__ is basic_set: arg1 = basic_set(arg1) except: return set(arg0).is_subset(arg1) ctx = arg0.ctx res = isl.isl_basic_set_is_subset(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def is_wrapping(arg0): try: if not arg0.__class__ is basic_set: arg0 = basic_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_basic_set_is_wrapping(arg0.ptr) if res < 0: raise Error return bool(res) def lexmax(arg0): try: if not arg0.__class__ is basic_set: arg0 = basic_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_basic_set_lexmax(isl.isl_basic_set_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def lexmin(arg0): try: if not arg0.__class__ is basic_set: arg0 = basic_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_basic_set_lexmin(isl.isl_basic_set_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def params(arg0): try: if not arg0.__class__ is basic_set: arg0 = basic_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_basic_set_params(isl.isl_basic_set_copy(arg0.ptr)) obj = basic_set(ctx=ctx, ptr=res) return obj def sample(arg0): try: if not arg0.__class__ is basic_set: arg0 = basic_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_basic_set_sample(isl.isl_basic_set_copy(arg0.ptr)) obj = basic_set(ctx=ctx, ptr=res) return obj def sample_point(arg0): try: if not arg0.__class__ is basic_set: arg0 = basic_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_basic_set_sample_point(isl.isl_basic_set_copy(arg0.ptr)) obj = point(ctx=ctx, ptr=res) return obj def to_set(arg0): try: if not arg0.__class__ is basic_set: arg0 = basic_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_basic_set_to_set(isl.isl_basic_set_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def union(arg0, arg1): try: if not arg0.__class__ is basic_set: arg0 = basic_set(arg0) except: raise try: if not arg1.__class__ is basic_set: arg1 = basic_set(arg1) except: return set(arg0).union(arg1) ctx = arg0.ctx res = isl.isl_basic_set_union(isl.isl_basic_set_copy(arg0.ptr), isl.isl_basic_set_copy(arg1.ptr)) obj = set(ctx=ctx, ptr=res) return obj isl.isl_basic_set_from_point.restype = c_void_p isl.isl_basic_set_from_point.argtypes = [c_void_p] isl.isl_basic_set_read_from_str.restype = c_void_p isl.isl_basic_set_read_from_str.argtypes = [Context, c_char_p] isl.isl_basic_set_affine_hull.restype = c_void_p isl.isl_basic_set_affine_hull.argtypes = [c_void_p] isl.isl_basic_set_apply.restype = c_void_p isl.isl_basic_set_apply.argtypes = [c_void_p, c_void_p] isl.isl_basic_set_detect_equalities.restype = c_void_p isl.isl_basic_set_detect_equalities.argtypes = [c_void_p] isl.isl_basic_set_dim_max_val.restype = c_void_p isl.isl_basic_set_dim_max_val.argtypes = [c_void_p, c_int] isl.isl_basic_set_flatten.restype = c_void_p isl.isl_basic_set_flatten.argtypes = [c_void_p] isl.isl_basic_set_gist.restype = c_void_p isl.isl_basic_set_gist.argtypes = [c_void_p, c_void_p] isl.isl_basic_set_intersect.restype = c_void_p isl.isl_basic_set_intersect.argtypes = [c_void_p, c_void_p] isl.isl_basic_set_intersect_params.restype = c_void_p isl.isl_basic_set_intersect_params.argtypes = [c_void_p, c_void_p] isl.isl_basic_set_is_empty.argtypes = [c_void_p] isl.isl_basic_set_is_equal.argtypes = [c_void_p, c_void_p] isl.isl_basic_set_is_subset.argtypes = [c_void_p, c_void_p] isl.isl_basic_set_is_wrapping.argtypes = [c_void_p] isl.isl_basic_set_lexmax.restype = c_void_p isl.isl_basic_set_lexmax.argtypes = [c_void_p] isl.isl_basic_set_lexmin.restype = c_void_p isl.isl_basic_set_lexmin.argtypes = [c_void_p] isl.isl_basic_set_params.restype = c_void_p isl.isl_basic_set_params.argtypes = [c_void_p] isl.isl_basic_set_sample.restype = c_void_p isl.isl_basic_set_sample.argtypes = [c_void_p] isl.isl_basic_set_sample_point.restype = c_void_p isl.isl_basic_set_sample_point.argtypes = [c_void_p] isl.isl_basic_set_to_set.restype = c_void_p isl.isl_basic_set_to_set.argtypes = [c_void_p] isl.isl_basic_set_union.restype = c_void_p isl.isl_basic_set_union.argtypes = [c_void_p, c_void_p] isl.isl_basic_set_copy.restype = c_void_p isl.isl_basic_set_copy.argtypes = [c_void_p] isl.isl_basic_set_free.restype = c_void_p isl.isl_basic_set_free.argtypes = [c_void_p] isl.isl_basic_set_to_str.restype = POINTER(c_char) isl.isl_basic_set_to_str.argtypes = [c_void_p] class fixed_box(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_fixed_box_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_fixed_box_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is fixed_box: arg0 = fixed_box(arg0) except: raise ptr = isl.isl_fixed_box_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.fixed_box("""%s""")' % s else: return 'isl.fixed_box("%s")' % s def is_valid(arg0): try: if not arg0.__class__ is fixed_box: arg0 = fixed_box(arg0) except: raise ctx = arg0.ctx res = isl.isl_fixed_box_is_valid(arg0.ptr) if res < 0: raise Error return bool(res) def offset(arg0): try: if not arg0.__class__ is fixed_box: arg0 = fixed_box(arg0) except: raise ctx = arg0.ctx res = isl.isl_fixed_box_get_offset(arg0.ptr) obj = multi_aff(ctx=ctx, ptr=res) return obj def get_offset(arg0): return arg0.offset() def size(arg0): try: if not arg0.__class__ is fixed_box: arg0 = fixed_box(arg0) except: raise ctx = arg0.ctx res = isl.isl_fixed_box_get_size(arg0.ptr) obj = multi_val(ctx=ctx, ptr=res) return obj def get_size(arg0): return arg0.size() def space(arg0): try: if not arg0.__class__ is fixed_box: arg0 = fixed_box(arg0) except: raise ctx = arg0.ctx res = isl.isl_fixed_box_get_space(arg0.ptr) obj = space(ctx=ctx, ptr=res) return obj def get_space(arg0): return arg0.space() isl.isl_fixed_box_read_from_str.restype = c_void_p isl.isl_fixed_box_read_from_str.argtypes = [Context, c_char_p] isl.isl_fixed_box_is_valid.argtypes = [c_void_p] isl.isl_fixed_box_get_offset.restype = c_void_p isl.isl_fixed_box_get_offset.argtypes = [c_void_p] isl.isl_fixed_box_get_size.restype = c_void_p isl.isl_fixed_box_get_size.argtypes = [c_void_p] isl.isl_fixed_box_get_space.restype = c_void_p isl.isl_fixed_box_get_space.argtypes = [c_void_p] isl.isl_fixed_box_copy.restype = c_void_p isl.isl_fixed_box_copy.argtypes = [c_void_p] isl.isl_fixed_box_free.restype = c_void_p isl.isl_fixed_box_free.argtypes = [c_void_p] isl.isl_fixed_box_to_str.restype = POINTER(c_char) isl.isl_fixed_box_to_str.argtypes = [c_void_p] class id(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_id_read_from_str(self.ctx, args[0].encode('ascii')) return if len(args) == 2 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() name = args[0].encode('ascii') self.ptr = isl.isl_id_alloc(self.ctx, name, args[1]) self.ptr = isl.isl_id_set_free_user(self.ptr, Context.free_user) if self.ptr is not None: pythonapi.Py_IncRef(py_object(args[1])) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_id_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is id: arg0 = id(arg0) except: raise ptr = isl.isl_id_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.id("""%s""")' % s else: return 'isl.id("%s")' % s def user(self): free_user = cast(Context.free_user, c_void_p) id_free_user = cast(isl.isl_id_get_free_user(self.ptr), c_void_p) if id_free_user.value != free_user.value: return None return isl.isl_id_get_user(self.ptr) def name(arg0): try: if not arg0.__class__ is id: arg0 = id(arg0) except: raise ctx = arg0.ctx res = isl.isl_id_get_name(arg0.ptr) if res == 0: raise Error string = cast(res, c_char_p).value.decode('ascii') return string def get_name(arg0): return arg0.name() def to_list(arg0): try: if not arg0.__class__ is id: arg0 = id(arg0) except: raise ctx = arg0.ctx res = isl.isl_id_to_list(isl.isl_id_copy(arg0.ptr)) obj = id_list(ctx=ctx, ptr=res) return obj isl.isl_id_read_from_str.restype = c_void_p isl.isl_id_read_from_str.argtypes = [Context, c_char_p] isl.isl_id_get_name.restype = POINTER(c_char) isl.isl_id_get_name.argtypes = [c_void_p] isl.isl_id_to_list.restype = c_void_p isl.isl_id_to_list.argtypes = [c_void_p] isl.isl_id_copy.restype = c_void_p isl.isl_id_copy.argtypes = [c_void_p] isl.isl_id_free.restype = c_void_p isl.isl_id_free.argtypes = [c_void_p] isl.isl_id_to_str.restype = POINTER(c_char) isl.isl_id_to_str.argtypes = [c_void_p] class id_list(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and type(args[0]) == int: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_id_list_alloc(self.ctx, args[0]) return if len(args) == 1 and (args[0].__class__ is id or type(args[0]) == str): args = list(args) try: if not args[0].__class__ is id: args[0] = id(args[0]) except: raise self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_id_list_from_id(isl.isl_id_copy(args[0].ptr)) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_id_list_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_id_list_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is id_list: arg0 = id_list(arg0) except: raise ptr = isl.isl_id_list_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.id_list("""%s""")' % s else: return 'isl.id_list("%s")' % s def add(arg0, arg1): try: if not arg0.__class__ is id_list: arg0 = id_list(arg0) except: raise try: if not arg1.__class__ is id: arg1 = id(arg1) except: raise ctx = arg0.ctx res = isl.isl_id_list_add(isl.isl_id_list_copy(arg0.ptr), isl.isl_id_copy(arg1.ptr)) obj = id_list(ctx=ctx, ptr=res) return obj def at(arg0, arg1): try: if not arg0.__class__ is id_list: arg0 = id_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_id_list_get_at(arg0.ptr, arg1) obj = id(ctx=ctx, ptr=res) return obj def get_at(arg0, arg1): return arg0.at(arg1) def clear(arg0): try: if not arg0.__class__ is id_list: arg0 = id_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_id_list_clear(isl.isl_id_list_copy(arg0.ptr)) obj = id_list(ctx=ctx, ptr=res) return obj def concat(arg0, arg1): try: if not arg0.__class__ is id_list: arg0 = id_list(arg0) except: raise try: if not arg1.__class__ is id_list: arg1 = id_list(arg1) except: raise ctx = arg0.ctx res = isl.isl_id_list_concat(isl.isl_id_list_copy(arg0.ptr), isl.isl_id_list_copy(arg1.ptr)) obj = id_list(ctx=ctx, ptr=res) return obj def drop(arg0, arg1, arg2): try: if not arg0.__class__ is id_list: arg0 = id_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_id_list_drop(isl.isl_id_list_copy(arg0.ptr), arg1, arg2) obj = id_list(ctx=ctx, ptr=res) return obj def foreach(arg0, arg1): try: if not arg0.__class__ is id_list: arg0 = id_list(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = id(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg1(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_id_list_foreach(arg0.ptr, cb1, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def foreach_scc(arg0, arg1, arg2): try: if not arg0.__class__ is id_list: arg0 = id_list(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1, cb_arg2): cb_arg0 = id(ctx=arg0.ctx, ptr=isl.isl_id_copy(cb_arg0)) cb_arg1 = id(ctx=arg0.ctx, ptr=isl.isl_id_copy(cb_arg1)) try: res = arg1(cb_arg0, cb_arg1) except BaseException as e: exc_info[0] = e return -1 return 1 if res else 0 cb1 = fn(cb_func) exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = id_list(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg2(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb2 = fn(cb_func) ctx = arg0.ctx res = isl.isl_id_list_foreach_scc(arg0.ptr, cb1, None, cb2, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def insert(arg0, arg1, arg2): try: if not arg0.__class__ is id_list: arg0 = id_list(arg0) except: raise try: if not arg2.__class__ is id: arg2 = id(arg2) except: raise ctx = arg0.ctx res = isl.isl_id_list_insert(isl.isl_id_list_copy(arg0.ptr), arg1, isl.isl_id_copy(arg2.ptr)) obj = id_list(ctx=ctx, ptr=res) return obj def set_at(arg0, arg1, arg2): try: if not arg0.__class__ is id_list: arg0 = id_list(arg0) except: raise try: if not arg2.__class__ is id: arg2 = id(arg2) except: raise ctx = arg0.ctx res = isl.isl_id_list_set_at(isl.isl_id_list_copy(arg0.ptr), arg1, isl.isl_id_copy(arg2.ptr)) obj = id_list(ctx=ctx, ptr=res) return obj def size(arg0): try: if not arg0.__class__ is id_list: arg0 = id_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_id_list_size(arg0.ptr) if res < 0: raise Error return int(res) isl.isl_id_list_alloc.restype = c_void_p isl.isl_id_list_alloc.argtypes = [Context, c_int] isl.isl_id_list_from_id.restype = c_void_p isl.isl_id_list_from_id.argtypes = [c_void_p] isl.isl_id_list_read_from_str.restype = c_void_p isl.isl_id_list_read_from_str.argtypes = [Context, c_char_p] isl.isl_id_list_add.restype = c_void_p isl.isl_id_list_add.argtypes = [c_void_p, c_void_p] isl.isl_id_list_get_at.restype = c_void_p isl.isl_id_list_get_at.argtypes = [c_void_p, c_int] isl.isl_id_list_clear.restype = c_void_p isl.isl_id_list_clear.argtypes = [c_void_p] isl.isl_id_list_concat.restype = c_void_p isl.isl_id_list_concat.argtypes = [c_void_p, c_void_p] isl.isl_id_list_drop.restype = c_void_p isl.isl_id_list_drop.argtypes = [c_void_p, c_int, c_int] isl.isl_id_list_foreach.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_id_list_foreach_scc.argtypes = [c_void_p, c_void_p, c_void_p, c_void_p, c_void_p] isl.isl_id_list_insert.restype = c_void_p isl.isl_id_list_insert.argtypes = [c_void_p, c_int, c_void_p] isl.isl_id_list_set_at.restype = c_void_p isl.isl_id_list_set_at.argtypes = [c_void_p, c_int, c_void_p] isl.isl_id_list_size.argtypes = [c_void_p] isl.isl_id_list_copy.restype = c_void_p isl.isl_id_list_copy.argtypes = [c_void_p] isl.isl_id_list_free.restype = c_void_p isl.isl_id_list_free.argtypes = [c_void_p] isl.isl_id_list_to_str.restype = POINTER(c_char) isl.isl_id_list_to_str.argtypes = [c_void_p] class id_to_ast_expr(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and type(args[0]) == int: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_id_to_ast_expr_alloc(self.ctx, args[0]) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_id_to_ast_expr_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_id_to_ast_expr_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is id_to_ast_expr: arg0 = id_to_ast_expr(arg0) except: raise ptr = isl.isl_id_to_ast_expr_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.id_to_ast_expr("""%s""")' % s else: return 'isl.id_to_ast_expr("%s")' % s def is_equal(arg0, arg1): try: if not arg0.__class__ is id_to_ast_expr: arg0 = id_to_ast_expr(arg0) except: raise try: if not arg1.__class__ is id_to_ast_expr: arg1 = id_to_ast_expr(arg1) except: raise ctx = arg0.ctx res = isl.isl_id_to_ast_expr_is_equal(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def set(arg0, arg1, arg2): try: if not arg0.__class__ is id_to_ast_expr: arg0 = id_to_ast_expr(arg0) except: raise try: if not arg1.__class__ is id: arg1 = id(arg1) except: raise try: if not arg2.__class__ is ast_expr: arg2 = ast_expr(arg2) except: raise ctx = arg0.ctx res = isl.isl_id_to_ast_expr_set(isl.isl_id_to_ast_expr_copy(arg0.ptr), isl.isl_id_copy(arg1.ptr), isl.isl_ast_expr_copy(arg2.ptr)) obj = id_to_ast_expr(ctx=ctx, ptr=res) return obj isl.isl_id_to_ast_expr_alloc.restype = c_void_p isl.isl_id_to_ast_expr_alloc.argtypes = [Context, c_int] isl.isl_id_to_ast_expr_read_from_str.restype = c_void_p isl.isl_id_to_ast_expr_read_from_str.argtypes = [Context, c_char_p] isl.isl_id_to_ast_expr_is_equal.argtypes = [c_void_p, c_void_p] isl.isl_id_to_ast_expr_set.restype = c_void_p isl.isl_id_to_ast_expr_set.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_id_to_ast_expr_copy.restype = c_void_p isl.isl_id_to_ast_expr_copy.argtypes = [c_void_p] isl.isl_id_to_ast_expr_free.restype = c_void_p isl.isl_id_to_ast_expr_free.argtypes = [c_void_p] isl.isl_id_to_ast_expr_to_str.restype = POINTER(c_char) isl.isl_id_to_ast_expr_to_str.argtypes = [c_void_p] class id_to_id(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and type(args[0]) == int: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_id_to_id_alloc(self.ctx, args[0]) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_id_to_id_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_id_to_id_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is id_to_id: arg0 = id_to_id(arg0) except: raise ptr = isl.isl_id_to_id_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.id_to_id("""%s""")' % s else: return 'isl.id_to_id("%s")' % s def is_equal(arg0, arg1): try: if not arg0.__class__ is id_to_id: arg0 = id_to_id(arg0) except: raise try: if not arg1.__class__ is id_to_id: arg1 = id_to_id(arg1) except: raise ctx = arg0.ctx res = isl.isl_id_to_id_is_equal(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def set(arg0, arg1, arg2): try: if not arg0.__class__ is id_to_id: arg0 = id_to_id(arg0) except: raise try: if not arg1.__class__ is id: arg1 = id(arg1) except: raise try: if not arg2.__class__ is id: arg2 = id(arg2) except: raise ctx = arg0.ctx res = isl.isl_id_to_id_set(isl.isl_id_to_id_copy(arg0.ptr), isl.isl_id_copy(arg1.ptr), isl.isl_id_copy(arg2.ptr)) obj = id_to_id(ctx=ctx, ptr=res) return obj isl.isl_id_to_id_alloc.restype = c_void_p isl.isl_id_to_id_alloc.argtypes = [Context, c_int] isl.isl_id_to_id_read_from_str.restype = c_void_p isl.isl_id_to_id_read_from_str.argtypes = [Context, c_char_p] isl.isl_id_to_id_is_equal.argtypes = [c_void_p, c_void_p] isl.isl_id_to_id_set.restype = c_void_p isl.isl_id_to_id_set.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_id_to_id_copy.restype = c_void_p isl.isl_id_to_id_copy.argtypes = [c_void_p] isl.isl_id_to_id_free.restype = c_void_p isl.isl_id_to_id_free.argtypes = [c_void_p] isl.isl_id_to_id_to_str.restype = POINTER(c_char) isl.isl_id_to_id_to_str.argtypes = [c_void_p] class map_list(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and type(args[0]) == int: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_map_list_alloc(self.ctx, args[0]) return if len(args) == 1 and args[0].__class__ is map: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_map_list_from_map(isl.isl_map_copy(args[0].ptr)) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_map_list_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_map_list_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is map_list: arg0 = map_list(arg0) except: raise ptr = isl.isl_map_list_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.map_list("""%s""")' % s else: return 'isl.map_list("%s")' % s def add(arg0, arg1): try: if not arg0.__class__ is map_list: arg0 = map_list(arg0) except: raise try: if not arg1.__class__ is map: arg1 = map(arg1) except: raise ctx = arg0.ctx res = isl.isl_map_list_add(isl.isl_map_list_copy(arg0.ptr), isl.isl_map_copy(arg1.ptr)) obj = map_list(ctx=ctx, ptr=res) return obj def at(arg0, arg1): try: if not arg0.__class__ is map_list: arg0 = map_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_list_get_at(arg0.ptr, arg1) obj = map(ctx=ctx, ptr=res) return obj def get_at(arg0, arg1): return arg0.at(arg1) def clear(arg0): try: if not arg0.__class__ is map_list: arg0 = map_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_list_clear(isl.isl_map_list_copy(arg0.ptr)) obj = map_list(ctx=ctx, ptr=res) return obj def concat(arg0, arg1): try: if not arg0.__class__ is map_list: arg0 = map_list(arg0) except: raise try: if not arg1.__class__ is map_list: arg1 = map_list(arg1) except: raise ctx = arg0.ctx res = isl.isl_map_list_concat(isl.isl_map_list_copy(arg0.ptr), isl.isl_map_list_copy(arg1.ptr)) obj = map_list(ctx=ctx, ptr=res) return obj def drop(arg0, arg1, arg2): try: if not arg0.__class__ is map_list: arg0 = map_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_list_drop(isl.isl_map_list_copy(arg0.ptr), arg1, arg2) obj = map_list(ctx=ctx, ptr=res) return obj def foreach(arg0, arg1): try: if not arg0.__class__ is map_list: arg0 = map_list(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = map(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg1(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_map_list_foreach(arg0.ptr, cb1, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def foreach_scc(arg0, arg1, arg2): try: if not arg0.__class__ is map_list: arg0 = map_list(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1, cb_arg2): cb_arg0 = map(ctx=arg0.ctx, ptr=isl.isl_map_copy(cb_arg0)) cb_arg1 = map(ctx=arg0.ctx, ptr=isl.isl_map_copy(cb_arg1)) try: res = arg1(cb_arg0, cb_arg1) except BaseException as e: exc_info[0] = e return -1 return 1 if res else 0 cb1 = fn(cb_func) exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = map_list(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg2(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb2 = fn(cb_func) ctx = arg0.ctx res = isl.isl_map_list_foreach_scc(arg0.ptr, cb1, None, cb2, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def insert(arg0, arg1, arg2): try: if not arg0.__class__ is map_list: arg0 = map_list(arg0) except: raise try: if not arg2.__class__ is map: arg2 = map(arg2) except: raise ctx = arg0.ctx res = isl.isl_map_list_insert(isl.isl_map_list_copy(arg0.ptr), arg1, isl.isl_map_copy(arg2.ptr)) obj = map_list(ctx=ctx, ptr=res) return obj def set_at(arg0, arg1, arg2): try: if not arg0.__class__ is map_list: arg0 = map_list(arg0) except: raise try: if not arg2.__class__ is map: arg2 = map(arg2) except: raise ctx = arg0.ctx res = isl.isl_map_list_set_at(isl.isl_map_list_copy(arg0.ptr), arg1, isl.isl_map_copy(arg2.ptr)) obj = map_list(ctx=ctx, ptr=res) return obj def size(arg0): try: if not arg0.__class__ is map_list: arg0 = map_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_map_list_size(arg0.ptr) if res < 0: raise Error return int(res) isl.isl_map_list_alloc.restype = c_void_p isl.isl_map_list_alloc.argtypes = [Context, c_int] isl.isl_map_list_from_map.restype = c_void_p isl.isl_map_list_from_map.argtypes = [c_void_p] isl.isl_map_list_read_from_str.restype = c_void_p isl.isl_map_list_read_from_str.argtypes = [Context, c_char_p] isl.isl_map_list_add.restype = c_void_p isl.isl_map_list_add.argtypes = [c_void_p, c_void_p] isl.isl_map_list_get_at.restype = c_void_p isl.isl_map_list_get_at.argtypes = [c_void_p, c_int] isl.isl_map_list_clear.restype = c_void_p isl.isl_map_list_clear.argtypes = [c_void_p] isl.isl_map_list_concat.restype = c_void_p isl.isl_map_list_concat.argtypes = [c_void_p, c_void_p] isl.isl_map_list_drop.restype = c_void_p isl.isl_map_list_drop.argtypes = [c_void_p, c_int, c_int] isl.isl_map_list_foreach.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_map_list_foreach_scc.argtypes = [c_void_p, c_void_p, c_void_p, c_void_p, c_void_p] isl.isl_map_list_insert.restype = c_void_p isl.isl_map_list_insert.argtypes = [c_void_p, c_int, c_void_p] isl.isl_map_list_set_at.restype = c_void_p isl.isl_map_list_set_at.argtypes = [c_void_p, c_int, c_void_p] isl.isl_map_list_size.argtypes = [c_void_p] isl.isl_map_list_copy.restype = c_void_p isl.isl_map_list_copy.argtypes = [c_void_p] isl.isl_map_list_free.restype = c_void_p isl.isl_map_list_free.argtypes = [c_void_p] isl.isl_map_list_to_str.restype = POINTER(c_char) isl.isl_map_list_to_str.argtypes = [c_void_p] class multi_id(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 2 and args[0].__class__ is space and args[1].__class__ is id_list: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_multi_id_from_id_list(isl.isl_space_copy(args[0].ptr), isl.isl_id_list_copy(args[1].ptr)) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_multi_id_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_multi_id_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is multi_id: arg0 = multi_id(arg0) except: raise ptr = isl.isl_multi_id_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.multi_id("""%s""")' % s else: return 'isl.multi_id("%s")' % s def at(arg0, arg1): try: if not arg0.__class__ is multi_id: arg0 = multi_id(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_id_get_at(arg0.ptr, arg1) obj = id(ctx=ctx, ptr=res) return obj def get_at(arg0, arg1): return arg0.at(arg1) def flat_range_product(arg0, arg1): try: if not arg0.__class__ is multi_id: arg0 = multi_id(arg0) except: raise try: if not arg1.__class__ is multi_id: arg1 = multi_id(arg1) except: raise ctx = arg0.ctx res = isl.isl_multi_id_flat_range_product(isl.isl_multi_id_copy(arg0.ptr), isl.isl_multi_id_copy(arg1.ptr)) obj = multi_id(ctx=ctx, ptr=res) return obj def list(arg0): try: if not arg0.__class__ is multi_id: arg0 = multi_id(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_id_get_list(arg0.ptr) obj = id_list(ctx=ctx, ptr=res) return obj def get_list(arg0): return arg0.list() def plain_is_equal(arg0, arg1): try: if not arg0.__class__ is multi_id: arg0 = multi_id(arg0) except: raise try: if not arg1.__class__ is multi_id: arg1 = multi_id(arg1) except: raise ctx = arg0.ctx res = isl.isl_multi_id_plain_is_equal(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def range_product(arg0, arg1): try: if not arg0.__class__ is multi_id: arg0 = multi_id(arg0) except: raise try: if not arg1.__class__ is multi_id: arg1 = multi_id(arg1) except: raise ctx = arg0.ctx res = isl.isl_multi_id_range_product(isl.isl_multi_id_copy(arg0.ptr), isl.isl_multi_id_copy(arg1.ptr)) obj = multi_id(ctx=ctx, ptr=res) return obj def set_at(arg0, arg1, arg2): try: if not arg0.__class__ is multi_id: arg0 = multi_id(arg0) except: raise try: if not arg2.__class__ is id: arg2 = id(arg2) except: raise ctx = arg0.ctx res = isl.isl_multi_id_set_at(isl.isl_multi_id_copy(arg0.ptr), arg1, isl.isl_id_copy(arg2.ptr)) obj = multi_id(ctx=ctx, ptr=res) return obj def size(arg0): try: if not arg0.__class__ is multi_id: arg0 = multi_id(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_id_size(arg0.ptr) if res < 0: raise Error return int(res) def space(arg0): try: if not arg0.__class__ is multi_id: arg0 = multi_id(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_id_get_space(arg0.ptr) obj = space(ctx=ctx, ptr=res) return obj def get_space(arg0): return arg0.space() isl.isl_multi_id_from_id_list.restype = c_void_p isl.isl_multi_id_from_id_list.argtypes = [c_void_p, c_void_p] isl.isl_multi_id_read_from_str.restype = c_void_p isl.isl_multi_id_read_from_str.argtypes = [Context, c_char_p] isl.isl_multi_id_get_at.restype = c_void_p isl.isl_multi_id_get_at.argtypes = [c_void_p, c_int] isl.isl_multi_id_flat_range_product.restype = c_void_p isl.isl_multi_id_flat_range_product.argtypes = [c_void_p, c_void_p] isl.isl_multi_id_get_list.restype = c_void_p isl.isl_multi_id_get_list.argtypes = [c_void_p] isl.isl_multi_id_plain_is_equal.argtypes = [c_void_p, c_void_p] isl.isl_multi_id_range_product.restype = c_void_p isl.isl_multi_id_range_product.argtypes = [c_void_p, c_void_p] isl.isl_multi_id_set_at.restype = c_void_p isl.isl_multi_id_set_at.argtypes = [c_void_p, c_int, c_void_p] isl.isl_multi_id_size.argtypes = [c_void_p] isl.isl_multi_id_get_space.restype = c_void_p isl.isl_multi_id_get_space.argtypes = [c_void_p] isl.isl_multi_id_copy.restype = c_void_p isl.isl_multi_id_copy.argtypes = [c_void_p] isl.isl_multi_id_free.restype = c_void_p isl.isl_multi_id_free.argtypes = [c_void_p] isl.isl_multi_id_to_str.restype = POINTER(c_char) isl.isl_multi_id_to_str.argtypes = [c_void_p] class multi_val(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 2 and args[0].__class__ is space and args[1].__class__ is val_list: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_multi_val_from_val_list(isl.isl_space_copy(args[0].ptr), isl.isl_val_list_copy(args[1].ptr)) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_multi_val_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_multi_val_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is multi_val: arg0 = multi_val(arg0) except: raise ptr = isl.isl_multi_val_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.multi_val("""%s""")' % s else: return 'isl.multi_val("%s")' % s def add(*args): if len(args) == 2 and args[1].__class__ is multi_val: args = list(args) try: if not args[0].__class__ is multi_val: args[0] = multi_val(args[0]) except: raise ctx = args[0].ctx res = isl.isl_multi_val_add(isl.isl_multi_val_copy(args[0].ptr), isl.isl_multi_val_copy(args[1].ptr)) obj = multi_val(ctx=ctx, ptr=res) return obj if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is multi_val: args[0] = multi_val(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_multi_val_add_val(isl.isl_multi_val_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = multi_val(ctx=ctx, ptr=res) return obj raise Error def at(arg0, arg1): try: if not arg0.__class__ is multi_val: arg0 = multi_val(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_val_get_at(arg0.ptr, arg1) obj = val(ctx=ctx, ptr=res) return obj def get_at(arg0, arg1): return arg0.at(arg1) def flat_range_product(arg0, arg1): try: if not arg0.__class__ is multi_val: arg0 = multi_val(arg0) except: raise try: if not arg1.__class__ is multi_val: arg1 = multi_val(arg1) except: raise ctx = arg0.ctx res = isl.isl_multi_val_flat_range_product(isl.isl_multi_val_copy(arg0.ptr), isl.isl_multi_val_copy(arg1.ptr)) obj = multi_val(ctx=ctx, ptr=res) return obj def has_range_tuple_id(arg0): try: if not arg0.__class__ is multi_val: arg0 = multi_val(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_val_has_range_tuple_id(arg0.ptr) if res < 0: raise Error return bool(res) def involves_nan(arg0): try: if not arg0.__class__ is multi_val: arg0 = multi_val(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_val_involves_nan(arg0.ptr) if res < 0: raise Error return bool(res) def list(arg0): try: if not arg0.__class__ is multi_val: arg0 = multi_val(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_val_get_list(arg0.ptr) obj = val_list(ctx=ctx, ptr=res) return obj def get_list(arg0): return arg0.list() def max(arg0, arg1): try: if not arg0.__class__ is multi_val: arg0 = multi_val(arg0) except: raise try: if not arg1.__class__ is multi_val: arg1 = multi_val(arg1) except: raise ctx = arg0.ctx res = isl.isl_multi_val_max(isl.isl_multi_val_copy(arg0.ptr), isl.isl_multi_val_copy(arg1.ptr)) obj = multi_val(ctx=ctx, ptr=res) return obj def min(arg0, arg1): try: if not arg0.__class__ is multi_val: arg0 = multi_val(arg0) except: raise try: if not arg1.__class__ is multi_val: arg1 = multi_val(arg1) except: raise ctx = arg0.ctx res = isl.isl_multi_val_min(isl.isl_multi_val_copy(arg0.ptr), isl.isl_multi_val_copy(arg1.ptr)) obj = multi_val(ctx=ctx, ptr=res) return obj def neg(arg0): try: if not arg0.__class__ is multi_val: arg0 = multi_val(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_val_neg(isl.isl_multi_val_copy(arg0.ptr)) obj = multi_val(ctx=ctx, ptr=res) return obj def plain_is_equal(arg0, arg1): try: if not arg0.__class__ is multi_val: arg0 = multi_val(arg0) except: raise try: if not arg1.__class__ is multi_val: arg1 = multi_val(arg1) except: raise ctx = arg0.ctx res = isl.isl_multi_val_plain_is_equal(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def product(arg0, arg1): try: if not arg0.__class__ is multi_val: arg0 = multi_val(arg0) except: raise try: if not arg1.__class__ is multi_val: arg1 = multi_val(arg1) except: raise ctx = arg0.ctx res = isl.isl_multi_val_product(isl.isl_multi_val_copy(arg0.ptr), isl.isl_multi_val_copy(arg1.ptr)) obj = multi_val(ctx=ctx, ptr=res) return obj def range_product(arg0, arg1): try: if not arg0.__class__ is multi_val: arg0 = multi_val(arg0) except: raise try: if not arg1.__class__ is multi_val: arg1 = multi_val(arg1) except: raise ctx = arg0.ctx res = isl.isl_multi_val_range_product(isl.isl_multi_val_copy(arg0.ptr), isl.isl_multi_val_copy(arg1.ptr)) obj = multi_val(ctx=ctx, ptr=res) return obj def range_tuple_id(arg0): try: if not arg0.__class__ is multi_val: arg0 = multi_val(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_val_get_range_tuple_id(arg0.ptr) obj = id(ctx=ctx, ptr=res) return obj def get_range_tuple_id(arg0): return arg0.range_tuple_id() def reset_range_tuple_id(arg0): try: if not arg0.__class__ is multi_val: arg0 = multi_val(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_val_reset_range_tuple_id(isl.isl_multi_val_copy(arg0.ptr)) obj = multi_val(ctx=ctx, ptr=res) return obj def scale(*args): if len(args) == 2 and args[1].__class__ is multi_val: args = list(args) try: if not args[0].__class__ is multi_val: args[0] = multi_val(args[0]) except: raise ctx = args[0].ctx res = isl.isl_multi_val_scale_multi_val(isl.isl_multi_val_copy(args[0].ptr), isl.isl_multi_val_copy(args[1].ptr)) obj = multi_val(ctx=ctx, ptr=res) return obj if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is multi_val: args[0] = multi_val(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_multi_val_scale_val(isl.isl_multi_val_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = multi_val(ctx=ctx, ptr=res) return obj raise Error def scale_down(*args): if len(args) == 2 and args[1].__class__ is multi_val: args = list(args) try: if not args[0].__class__ is multi_val: args[0] = multi_val(args[0]) except: raise ctx = args[0].ctx res = isl.isl_multi_val_scale_down_multi_val(isl.isl_multi_val_copy(args[0].ptr), isl.isl_multi_val_copy(args[1].ptr)) obj = multi_val(ctx=ctx, ptr=res) return obj if len(args) == 2 and (args[1].__class__ is val or type(args[1]) == int): args = list(args) try: if not args[0].__class__ is multi_val: args[0] = multi_val(args[0]) except: raise try: if not args[1].__class__ is val: args[1] = val(args[1]) except: raise ctx = args[0].ctx res = isl.isl_multi_val_scale_down_val(isl.isl_multi_val_copy(args[0].ptr), isl.isl_val_copy(args[1].ptr)) obj = multi_val(ctx=ctx, ptr=res) return obj raise Error def set_at(arg0, arg1, arg2): try: if not arg0.__class__ is multi_val: arg0 = multi_val(arg0) except: raise try: if not arg2.__class__ is val: arg2 = val(arg2) except: raise ctx = arg0.ctx res = isl.isl_multi_val_set_at(isl.isl_multi_val_copy(arg0.ptr), arg1, isl.isl_val_copy(arg2.ptr)) obj = multi_val(ctx=ctx, ptr=res) return obj def set_range_tuple(*args): if len(args) == 2 and (args[1].__class__ is id or type(args[1]) == str): args = list(args) try: if not args[0].__class__ is multi_val: args[0] = multi_val(args[0]) except: raise try: if not args[1].__class__ is id: args[1] = id(args[1]) except: raise ctx = args[0].ctx res = isl.isl_multi_val_set_range_tuple_id(isl.isl_multi_val_copy(args[0].ptr), isl.isl_id_copy(args[1].ptr)) obj = multi_val(ctx=ctx, ptr=res) return obj raise Error def size(arg0): try: if not arg0.__class__ is multi_val: arg0 = multi_val(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_val_size(arg0.ptr) if res < 0: raise Error return int(res) def space(arg0): try: if not arg0.__class__ is multi_val: arg0 = multi_val(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_val_get_space(arg0.ptr) obj = space(ctx=ctx, ptr=res) return obj def get_space(arg0): return arg0.space() def sub(arg0, arg1): try: if not arg0.__class__ is multi_val: arg0 = multi_val(arg0) except: raise try: if not arg1.__class__ is multi_val: arg1 = multi_val(arg1) except: raise ctx = arg0.ctx res = isl.isl_multi_val_sub(isl.isl_multi_val_copy(arg0.ptr), isl.isl_multi_val_copy(arg1.ptr)) obj = multi_val(ctx=ctx, ptr=res) return obj @staticmethod def zero(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_multi_val_zero(isl.isl_space_copy(arg0.ptr)) obj = multi_val(ctx=ctx, ptr=res) return obj isl.isl_multi_val_from_val_list.restype = c_void_p isl.isl_multi_val_from_val_list.argtypes = [c_void_p, c_void_p] isl.isl_multi_val_read_from_str.restype = c_void_p isl.isl_multi_val_read_from_str.argtypes = [Context, c_char_p] isl.isl_multi_val_add.restype = c_void_p isl.isl_multi_val_add.argtypes = [c_void_p, c_void_p] isl.isl_multi_val_add_val.restype = c_void_p isl.isl_multi_val_add_val.argtypes = [c_void_p, c_void_p] isl.isl_multi_val_get_at.restype = c_void_p isl.isl_multi_val_get_at.argtypes = [c_void_p, c_int] isl.isl_multi_val_flat_range_product.restype = c_void_p isl.isl_multi_val_flat_range_product.argtypes = [c_void_p, c_void_p] isl.isl_multi_val_has_range_tuple_id.argtypes = [c_void_p] isl.isl_multi_val_involves_nan.argtypes = [c_void_p] isl.isl_multi_val_get_list.restype = c_void_p isl.isl_multi_val_get_list.argtypes = [c_void_p] isl.isl_multi_val_max.restype = c_void_p isl.isl_multi_val_max.argtypes = [c_void_p, c_void_p] isl.isl_multi_val_min.restype = c_void_p isl.isl_multi_val_min.argtypes = [c_void_p, c_void_p] isl.isl_multi_val_neg.restype = c_void_p isl.isl_multi_val_neg.argtypes = [c_void_p] isl.isl_multi_val_plain_is_equal.argtypes = [c_void_p, c_void_p] isl.isl_multi_val_product.restype = c_void_p isl.isl_multi_val_product.argtypes = [c_void_p, c_void_p] isl.isl_multi_val_range_product.restype = c_void_p isl.isl_multi_val_range_product.argtypes = [c_void_p, c_void_p] isl.isl_multi_val_get_range_tuple_id.restype = c_void_p isl.isl_multi_val_get_range_tuple_id.argtypes = [c_void_p] isl.isl_multi_val_reset_range_tuple_id.restype = c_void_p isl.isl_multi_val_reset_range_tuple_id.argtypes = [c_void_p] isl.isl_multi_val_scale_multi_val.restype = c_void_p isl.isl_multi_val_scale_multi_val.argtypes = [c_void_p, c_void_p] isl.isl_multi_val_scale_val.restype = c_void_p isl.isl_multi_val_scale_val.argtypes = [c_void_p, c_void_p] isl.isl_multi_val_scale_down_multi_val.restype = c_void_p isl.isl_multi_val_scale_down_multi_val.argtypes = [c_void_p, c_void_p] isl.isl_multi_val_scale_down_val.restype = c_void_p isl.isl_multi_val_scale_down_val.argtypes = [c_void_p, c_void_p] isl.isl_multi_val_set_at.restype = c_void_p isl.isl_multi_val_set_at.argtypes = [c_void_p, c_int, c_void_p] isl.isl_multi_val_set_range_tuple_id.restype = c_void_p isl.isl_multi_val_set_range_tuple_id.argtypes = [c_void_p, c_void_p] isl.isl_multi_val_size.argtypes = [c_void_p] isl.isl_multi_val_get_space.restype = c_void_p isl.isl_multi_val_get_space.argtypes = [c_void_p] isl.isl_multi_val_sub.restype = c_void_p isl.isl_multi_val_sub.argtypes = [c_void_p, c_void_p] isl.isl_multi_val_zero.restype = c_void_p isl.isl_multi_val_zero.argtypes = [c_void_p] isl.isl_multi_val_copy.restype = c_void_p isl.isl_multi_val_copy.argtypes = [c_void_p] isl.isl_multi_val_free.restype = c_void_p isl.isl_multi_val_free.argtypes = [c_void_p] isl.isl_multi_val_to_str.restype = POINTER(c_char) isl.isl_multi_val_to_str.argtypes = [c_void_p] class point(basic_set): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_point_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is point: arg0 = point(arg0) except: raise ptr = isl.isl_point_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.point("""%s""")' % s else: return 'isl.point("%s")' % s def multi_val(arg0): try: if not arg0.__class__ is point: arg0 = point(arg0) except: raise ctx = arg0.ctx res = isl.isl_point_get_multi_val(arg0.ptr) obj = multi_val(ctx=ctx, ptr=res) return obj def get_multi_val(arg0): return arg0.multi_val() def to_set(arg0): try: if not arg0.__class__ is point: arg0 = point(arg0) except: raise ctx = arg0.ctx res = isl.isl_point_to_set(isl.isl_point_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj isl.isl_point_get_multi_val.restype = c_void_p isl.isl_point_get_multi_val.argtypes = [c_void_p] isl.isl_point_to_set.restype = c_void_p isl.isl_point_to_set.argtypes = [c_void_p] isl.isl_point_copy.restype = c_void_p isl.isl_point_copy.argtypes = [c_void_p] isl.isl_point_free.restype = c_void_p isl.isl_point_free.argtypes = [c_void_p] isl.isl_point_to_str.restype = POINTER(c_char) isl.isl_point_to_str.argtypes = [c_void_p] class pw_aff_list(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and type(args[0]) == int: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_pw_aff_list_alloc(self.ctx, args[0]) return if len(args) == 1 and args[0].__class__ is pw_aff: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_pw_aff_list_from_pw_aff(isl.isl_pw_aff_copy(args[0].ptr)) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_pw_aff_list_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_pw_aff_list_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is pw_aff_list: arg0 = pw_aff_list(arg0) except: raise ptr = isl.isl_pw_aff_list_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.pw_aff_list("""%s""")' % s else: return 'isl.pw_aff_list("%s")' % s def add(arg0, arg1): try: if not arg0.__class__ is pw_aff_list: arg0 = pw_aff_list(arg0) except: raise try: if not arg1.__class__ is pw_aff: arg1 = pw_aff(arg1) except: raise ctx = arg0.ctx res = isl.isl_pw_aff_list_add(isl.isl_pw_aff_list_copy(arg0.ptr), isl.isl_pw_aff_copy(arg1.ptr)) obj = pw_aff_list(ctx=ctx, ptr=res) return obj def at(arg0, arg1): try: if not arg0.__class__ is pw_aff_list: arg0 = pw_aff_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_aff_list_get_at(arg0.ptr, arg1) obj = pw_aff(ctx=ctx, ptr=res) return obj def get_at(arg0, arg1): return arg0.at(arg1) def clear(arg0): try: if not arg0.__class__ is pw_aff_list: arg0 = pw_aff_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_aff_list_clear(isl.isl_pw_aff_list_copy(arg0.ptr)) obj = pw_aff_list(ctx=ctx, ptr=res) return obj def concat(arg0, arg1): try: if not arg0.__class__ is pw_aff_list: arg0 = pw_aff_list(arg0) except: raise try: if not arg1.__class__ is pw_aff_list: arg1 = pw_aff_list(arg1) except: raise ctx = arg0.ctx res = isl.isl_pw_aff_list_concat(isl.isl_pw_aff_list_copy(arg0.ptr), isl.isl_pw_aff_list_copy(arg1.ptr)) obj = pw_aff_list(ctx=ctx, ptr=res) return obj def drop(arg0, arg1, arg2): try: if not arg0.__class__ is pw_aff_list: arg0 = pw_aff_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_aff_list_drop(isl.isl_pw_aff_list_copy(arg0.ptr), arg1, arg2) obj = pw_aff_list(ctx=ctx, ptr=res) return obj def foreach(arg0, arg1): try: if not arg0.__class__ is pw_aff_list: arg0 = pw_aff_list(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = pw_aff(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg1(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_pw_aff_list_foreach(arg0.ptr, cb1, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def foreach_scc(arg0, arg1, arg2): try: if not arg0.__class__ is pw_aff_list: arg0 = pw_aff_list(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1, cb_arg2): cb_arg0 = pw_aff(ctx=arg0.ctx, ptr=isl.isl_pw_aff_copy(cb_arg0)) cb_arg1 = pw_aff(ctx=arg0.ctx, ptr=isl.isl_pw_aff_copy(cb_arg1)) try: res = arg1(cb_arg0, cb_arg1) except BaseException as e: exc_info[0] = e return -1 return 1 if res else 0 cb1 = fn(cb_func) exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = pw_aff_list(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg2(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb2 = fn(cb_func) ctx = arg0.ctx res = isl.isl_pw_aff_list_foreach_scc(arg0.ptr, cb1, None, cb2, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def insert(arg0, arg1, arg2): try: if not arg0.__class__ is pw_aff_list: arg0 = pw_aff_list(arg0) except: raise try: if not arg2.__class__ is pw_aff: arg2 = pw_aff(arg2) except: raise ctx = arg0.ctx res = isl.isl_pw_aff_list_insert(isl.isl_pw_aff_list_copy(arg0.ptr), arg1, isl.isl_pw_aff_copy(arg2.ptr)) obj = pw_aff_list(ctx=ctx, ptr=res) return obj def set_at(arg0, arg1, arg2): try: if not arg0.__class__ is pw_aff_list: arg0 = pw_aff_list(arg0) except: raise try: if not arg2.__class__ is pw_aff: arg2 = pw_aff(arg2) except: raise ctx = arg0.ctx res = isl.isl_pw_aff_list_set_at(isl.isl_pw_aff_list_copy(arg0.ptr), arg1, isl.isl_pw_aff_copy(arg2.ptr)) obj = pw_aff_list(ctx=ctx, ptr=res) return obj def size(arg0): try: if not arg0.__class__ is pw_aff_list: arg0 = pw_aff_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_aff_list_size(arg0.ptr) if res < 0: raise Error return int(res) isl.isl_pw_aff_list_alloc.restype = c_void_p isl.isl_pw_aff_list_alloc.argtypes = [Context, c_int] isl.isl_pw_aff_list_from_pw_aff.restype = c_void_p isl.isl_pw_aff_list_from_pw_aff.argtypes = [c_void_p] isl.isl_pw_aff_list_read_from_str.restype = c_void_p isl.isl_pw_aff_list_read_from_str.argtypes = [Context, c_char_p] isl.isl_pw_aff_list_add.restype = c_void_p isl.isl_pw_aff_list_add.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_list_get_at.restype = c_void_p isl.isl_pw_aff_list_get_at.argtypes = [c_void_p, c_int] isl.isl_pw_aff_list_clear.restype = c_void_p isl.isl_pw_aff_list_clear.argtypes = [c_void_p] isl.isl_pw_aff_list_concat.restype = c_void_p isl.isl_pw_aff_list_concat.argtypes = [c_void_p, c_void_p] isl.isl_pw_aff_list_drop.restype = c_void_p isl.isl_pw_aff_list_drop.argtypes = [c_void_p, c_int, c_int] isl.isl_pw_aff_list_foreach.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_pw_aff_list_foreach_scc.argtypes = [c_void_p, c_void_p, c_void_p, c_void_p, c_void_p] isl.isl_pw_aff_list_insert.restype = c_void_p isl.isl_pw_aff_list_insert.argtypes = [c_void_p, c_int, c_void_p] isl.isl_pw_aff_list_set_at.restype = c_void_p isl.isl_pw_aff_list_set_at.argtypes = [c_void_p, c_int, c_void_p] isl.isl_pw_aff_list_size.argtypes = [c_void_p] isl.isl_pw_aff_list_copy.restype = c_void_p isl.isl_pw_aff_list_copy.argtypes = [c_void_p] isl.isl_pw_aff_list_free.restype = c_void_p isl.isl_pw_aff_list_free.argtypes = [c_void_p] isl.isl_pw_aff_list_to_str.restype = POINTER(c_char) isl.isl_pw_aff_list_to_str.argtypes = [c_void_p] class pw_multi_aff_list(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and type(args[0]) == int: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_pw_multi_aff_list_alloc(self.ctx, args[0]) return if len(args) == 1 and args[0].__class__ is pw_multi_aff: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_pw_multi_aff_list_from_pw_multi_aff(isl.isl_pw_multi_aff_copy(args[0].ptr)) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_pw_multi_aff_list_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_pw_multi_aff_list_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is pw_multi_aff_list: arg0 = pw_multi_aff_list(arg0) except: raise ptr = isl.isl_pw_multi_aff_list_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.pw_multi_aff_list("""%s""")' % s else: return 'isl.pw_multi_aff_list("%s")' % s def add(arg0, arg1): try: if not arg0.__class__ is pw_multi_aff_list: arg0 = pw_multi_aff_list(arg0) except: raise try: if not arg1.__class__ is pw_multi_aff: arg1 = pw_multi_aff(arg1) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_list_add(isl.isl_pw_multi_aff_list_copy(arg0.ptr), isl.isl_pw_multi_aff_copy(arg1.ptr)) obj = pw_multi_aff_list(ctx=ctx, ptr=res) return obj def at(arg0, arg1): try: if not arg0.__class__ is pw_multi_aff_list: arg0 = pw_multi_aff_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_list_get_at(arg0.ptr, arg1) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def get_at(arg0, arg1): return arg0.at(arg1) def clear(arg0): try: if not arg0.__class__ is pw_multi_aff_list: arg0 = pw_multi_aff_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_list_clear(isl.isl_pw_multi_aff_list_copy(arg0.ptr)) obj = pw_multi_aff_list(ctx=ctx, ptr=res) return obj def concat(arg0, arg1): try: if not arg0.__class__ is pw_multi_aff_list: arg0 = pw_multi_aff_list(arg0) except: raise try: if not arg1.__class__ is pw_multi_aff_list: arg1 = pw_multi_aff_list(arg1) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_list_concat(isl.isl_pw_multi_aff_list_copy(arg0.ptr), isl.isl_pw_multi_aff_list_copy(arg1.ptr)) obj = pw_multi_aff_list(ctx=ctx, ptr=res) return obj def drop(arg0, arg1, arg2): try: if not arg0.__class__ is pw_multi_aff_list: arg0 = pw_multi_aff_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_list_drop(isl.isl_pw_multi_aff_list_copy(arg0.ptr), arg1, arg2) obj = pw_multi_aff_list(ctx=ctx, ptr=res) return obj def foreach(arg0, arg1): try: if not arg0.__class__ is pw_multi_aff_list: arg0 = pw_multi_aff_list(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = pw_multi_aff(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg1(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_pw_multi_aff_list_foreach(arg0.ptr, cb1, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def foreach_scc(arg0, arg1, arg2): try: if not arg0.__class__ is pw_multi_aff_list: arg0 = pw_multi_aff_list(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1, cb_arg2): cb_arg0 = pw_multi_aff(ctx=arg0.ctx, ptr=isl.isl_pw_multi_aff_copy(cb_arg0)) cb_arg1 = pw_multi_aff(ctx=arg0.ctx, ptr=isl.isl_pw_multi_aff_copy(cb_arg1)) try: res = arg1(cb_arg0, cb_arg1) except BaseException as e: exc_info[0] = e return -1 return 1 if res else 0 cb1 = fn(cb_func) exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = pw_multi_aff_list(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg2(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb2 = fn(cb_func) ctx = arg0.ctx res = isl.isl_pw_multi_aff_list_foreach_scc(arg0.ptr, cb1, None, cb2, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def insert(arg0, arg1, arg2): try: if not arg0.__class__ is pw_multi_aff_list: arg0 = pw_multi_aff_list(arg0) except: raise try: if not arg2.__class__ is pw_multi_aff: arg2 = pw_multi_aff(arg2) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_list_insert(isl.isl_pw_multi_aff_list_copy(arg0.ptr), arg1, isl.isl_pw_multi_aff_copy(arg2.ptr)) obj = pw_multi_aff_list(ctx=ctx, ptr=res) return obj def set_at(arg0, arg1, arg2): try: if not arg0.__class__ is pw_multi_aff_list: arg0 = pw_multi_aff_list(arg0) except: raise try: if not arg2.__class__ is pw_multi_aff: arg2 = pw_multi_aff(arg2) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_list_set_at(isl.isl_pw_multi_aff_list_copy(arg0.ptr), arg1, isl.isl_pw_multi_aff_copy(arg2.ptr)) obj = pw_multi_aff_list(ctx=ctx, ptr=res) return obj def size(arg0): try: if not arg0.__class__ is pw_multi_aff_list: arg0 = pw_multi_aff_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_pw_multi_aff_list_size(arg0.ptr) if res < 0: raise Error return int(res) isl.isl_pw_multi_aff_list_alloc.restype = c_void_p isl.isl_pw_multi_aff_list_alloc.argtypes = [Context, c_int] isl.isl_pw_multi_aff_list_from_pw_multi_aff.restype = c_void_p isl.isl_pw_multi_aff_list_from_pw_multi_aff.argtypes = [c_void_p] isl.isl_pw_multi_aff_list_read_from_str.restype = c_void_p isl.isl_pw_multi_aff_list_read_from_str.argtypes = [Context, c_char_p] isl.isl_pw_multi_aff_list_add.restype = c_void_p isl.isl_pw_multi_aff_list_add.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_list_get_at.restype = c_void_p isl.isl_pw_multi_aff_list_get_at.argtypes = [c_void_p, c_int] isl.isl_pw_multi_aff_list_clear.restype = c_void_p isl.isl_pw_multi_aff_list_clear.argtypes = [c_void_p] isl.isl_pw_multi_aff_list_concat.restype = c_void_p isl.isl_pw_multi_aff_list_concat.argtypes = [c_void_p, c_void_p] isl.isl_pw_multi_aff_list_drop.restype = c_void_p isl.isl_pw_multi_aff_list_drop.argtypes = [c_void_p, c_int, c_int] isl.isl_pw_multi_aff_list_foreach.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_pw_multi_aff_list_foreach_scc.argtypes = [c_void_p, c_void_p, c_void_p, c_void_p, c_void_p] isl.isl_pw_multi_aff_list_insert.restype = c_void_p isl.isl_pw_multi_aff_list_insert.argtypes = [c_void_p, c_int, c_void_p] isl.isl_pw_multi_aff_list_set_at.restype = c_void_p isl.isl_pw_multi_aff_list_set_at.argtypes = [c_void_p, c_int, c_void_p] isl.isl_pw_multi_aff_list_size.argtypes = [c_void_p] isl.isl_pw_multi_aff_list_copy.restype = c_void_p isl.isl_pw_multi_aff_list_copy.argtypes = [c_void_p] isl.isl_pw_multi_aff_list_free.restype = c_void_p isl.isl_pw_multi_aff_list_free.argtypes = [c_void_p] isl.isl_pw_multi_aff_list_to_str.restype = POINTER(c_char) isl.isl_pw_multi_aff_list_to_str.argtypes = [c_void_p] class schedule(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_schedule_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_schedule_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is schedule: arg0 = schedule(arg0) except: raise ptr = isl.isl_schedule_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.schedule("""%s""")' % s else: return 'isl.schedule("%s")' % s def domain(arg0): try: if not arg0.__class__ is schedule: arg0 = schedule(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_get_domain(arg0.ptr) obj = union_set(ctx=ctx, ptr=res) return obj def get_domain(arg0): return arg0.domain() @staticmethod def from_domain(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_from_domain(isl.isl_union_set_copy(arg0.ptr)) obj = schedule(ctx=ctx, ptr=res) return obj def map(arg0): try: if not arg0.__class__ is schedule: arg0 = schedule(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_get_map(arg0.ptr) obj = union_map(ctx=ctx, ptr=res) return obj def get_map(arg0): return arg0.map() def pullback(*args): if len(args) == 2 and args[1].__class__ is union_pw_multi_aff: args = list(args) try: if not args[0].__class__ is schedule: args[0] = schedule(args[0]) except: raise ctx = args[0].ctx res = isl.isl_schedule_pullback_union_pw_multi_aff(isl.isl_schedule_copy(args[0].ptr), isl.isl_union_pw_multi_aff_copy(args[1].ptr)) obj = schedule(ctx=ctx, ptr=res) return obj raise Error def root(arg0): try: if not arg0.__class__ is schedule: arg0 = schedule(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_get_root(arg0.ptr) obj = schedule_node(ctx=ctx, ptr=res) return obj def get_root(arg0): return arg0.root() isl.isl_schedule_read_from_str.restype = c_void_p isl.isl_schedule_read_from_str.argtypes = [Context, c_char_p] isl.isl_schedule_get_domain.restype = c_void_p isl.isl_schedule_get_domain.argtypes = [c_void_p] isl.isl_schedule_from_domain.restype = c_void_p isl.isl_schedule_from_domain.argtypes = [c_void_p] isl.isl_schedule_get_map.restype = c_void_p isl.isl_schedule_get_map.argtypes = [c_void_p] isl.isl_schedule_pullback_union_pw_multi_aff.restype = c_void_p isl.isl_schedule_pullback_union_pw_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_schedule_get_root.restype = c_void_p isl.isl_schedule_get_root.argtypes = [c_void_p] isl.isl_schedule_copy.restype = c_void_p isl.isl_schedule_copy.argtypes = [c_void_p] isl.isl_schedule_free.restype = c_void_p isl.isl_schedule_free.argtypes = [c_void_p] isl.isl_schedule_to_str.restype = POINTER(c_char) isl.isl_schedule_to_str.argtypes = [c_void_p] class schedule_constraints(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_schedule_constraints_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_schedule_constraints_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is schedule_constraints: arg0 = schedule_constraints(arg0) except: raise ptr = isl.isl_schedule_constraints_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.schedule_constraints("""%s""")' % s else: return 'isl.schedule_constraints("%s")' % s def coincidence(arg0): try: if not arg0.__class__ is schedule_constraints: arg0 = schedule_constraints(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_constraints_get_coincidence(arg0.ptr) obj = union_map(ctx=ctx, ptr=res) return obj def get_coincidence(arg0): return arg0.coincidence() def compute_schedule(arg0): try: if not arg0.__class__ is schedule_constraints: arg0 = schedule_constraints(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_constraints_compute_schedule(isl.isl_schedule_constraints_copy(arg0.ptr)) obj = schedule(ctx=ctx, ptr=res) return obj def conditional_validity(arg0): try: if not arg0.__class__ is schedule_constraints: arg0 = schedule_constraints(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_constraints_get_conditional_validity(arg0.ptr) obj = union_map(ctx=ctx, ptr=res) return obj def get_conditional_validity(arg0): return arg0.conditional_validity() def conditional_validity_condition(arg0): try: if not arg0.__class__ is schedule_constraints: arg0 = schedule_constraints(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_constraints_get_conditional_validity_condition(arg0.ptr) obj = union_map(ctx=ctx, ptr=res) return obj def get_conditional_validity_condition(arg0): return arg0.conditional_validity_condition() def context(arg0): try: if not arg0.__class__ is schedule_constraints: arg0 = schedule_constraints(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_constraints_get_context(arg0.ptr) obj = set(ctx=ctx, ptr=res) return obj def get_context(arg0): return arg0.context() def domain(arg0): try: if not arg0.__class__ is schedule_constraints: arg0 = schedule_constraints(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_constraints_get_domain(arg0.ptr) obj = union_set(ctx=ctx, ptr=res) return obj def get_domain(arg0): return arg0.domain() @staticmethod def on_domain(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_constraints_on_domain(isl.isl_union_set_copy(arg0.ptr)) obj = schedule_constraints(ctx=ctx, ptr=res) return obj def proximity(arg0): try: if not arg0.__class__ is schedule_constraints: arg0 = schedule_constraints(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_constraints_get_proximity(arg0.ptr) obj = union_map(ctx=ctx, ptr=res) return obj def get_proximity(arg0): return arg0.proximity() def set_coincidence(arg0, arg1): try: if not arg0.__class__ is schedule_constraints: arg0 = schedule_constraints(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_schedule_constraints_set_coincidence(isl.isl_schedule_constraints_copy(arg0.ptr), isl.isl_union_map_copy(arg1.ptr)) obj = schedule_constraints(ctx=ctx, ptr=res) return obj def set_conditional_validity(arg0, arg1, arg2): try: if not arg0.__class__ is schedule_constraints: arg0 = schedule_constraints(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise try: if not arg2.__class__ is union_map: arg2 = union_map(arg2) except: raise ctx = arg0.ctx res = isl.isl_schedule_constraints_set_conditional_validity(isl.isl_schedule_constraints_copy(arg0.ptr), isl.isl_union_map_copy(arg1.ptr), isl.isl_union_map_copy(arg2.ptr)) obj = schedule_constraints(ctx=ctx, ptr=res) return obj def set_context(arg0, arg1): try: if not arg0.__class__ is schedule_constraints: arg0 = schedule_constraints(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: raise ctx = arg0.ctx res = isl.isl_schedule_constraints_set_context(isl.isl_schedule_constraints_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = schedule_constraints(ctx=ctx, ptr=res) return obj def set_proximity(arg0, arg1): try: if not arg0.__class__ is schedule_constraints: arg0 = schedule_constraints(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_schedule_constraints_set_proximity(isl.isl_schedule_constraints_copy(arg0.ptr), isl.isl_union_map_copy(arg1.ptr)) obj = schedule_constraints(ctx=ctx, ptr=res) return obj def set_validity(arg0, arg1): try: if not arg0.__class__ is schedule_constraints: arg0 = schedule_constraints(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_schedule_constraints_set_validity(isl.isl_schedule_constraints_copy(arg0.ptr), isl.isl_union_map_copy(arg1.ptr)) obj = schedule_constraints(ctx=ctx, ptr=res) return obj def validity(arg0): try: if not arg0.__class__ is schedule_constraints: arg0 = schedule_constraints(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_constraints_get_validity(arg0.ptr) obj = union_map(ctx=ctx, ptr=res) return obj def get_validity(arg0): return arg0.validity() isl.isl_schedule_constraints_read_from_str.restype = c_void_p isl.isl_schedule_constraints_read_from_str.argtypes = [Context, c_char_p] isl.isl_schedule_constraints_get_coincidence.restype = c_void_p isl.isl_schedule_constraints_get_coincidence.argtypes = [c_void_p] isl.isl_schedule_constraints_compute_schedule.restype = c_void_p isl.isl_schedule_constraints_compute_schedule.argtypes = [c_void_p] isl.isl_schedule_constraints_get_conditional_validity.restype = c_void_p isl.isl_schedule_constraints_get_conditional_validity.argtypes = [c_void_p] isl.isl_schedule_constraints_get_conditional_validity_condition.restype = c_void_p isl.isl_schedule_constraints_get_conditional_validity_condition.argtypes = [c_void_p] isl.isl_schedule_constraints_get_context.restype = c_void_p isl.isl_schedule_constraints_get_context.argtypes = [c_void_p] isl.isl_schedule_constraints_get_domain.restype = c_void_p isl.isl_schedule_constraints_get_domain.argtypes = [c_void_p] isl.isl_schedule_constraints_on_domain.restype = c_void_p isl.isl_schedule_constraints_on_domain.argtypes = [c_void_p] isl.isl_schedule_constraints_get_proximity.restype = c_void_p isl.isl_schedule_constraints_get_proximity.argtypes = [c_void_p] isl.isl_schedule_constraints_set_coincidence.restype = c_void_p isl.isl_schedule_constraints_set_coincidence.argtypes = [c_void_p, c_void_p] isl.isl_schedule_constraints_set_conditional_validity.restype = c_void_p isl.isl_schedule_constraints_set_conditional_validity.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_schedule_constraints_set_context.restype = c_void_p isl.isl_schedule_constraints_set_context.argtypes = [c_void_p, c_void_p] isl.isl_schedule_constraints_set_proximity.restype = c_void_p isl.isl_schedule_constraints_set_proximity.argtypes = [c_void_p, c_void_p] isl.isl_schedule_constraints_set_validity.restype = c_void_p isl.isl_schedule_constraints_set_validity.argtypes = [c_void_p, c_void_p] isl.isl_schedule_constraints_get_validity.restype = c_void_p isl.isl_schedule_constraints_get_validity.argtypes = [c_void_p] isl.isl_schedule_constraints_copy.restype = c_void_p isl.isl_schedule_constraints_copy.argtypes = [c_void_p] isl.isl_schedule_constraints_free.restype = c_void_p isl.isl_schedule_constraints_free.argtypes = [c_void_p] isl.isl_schedule_constraints_to_str.restype = POINTER(c_char) isl.isl_schedule_constraints_to_str.argtypes = [c_void_p] class schedule_node(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and isinstance(args[0], schedule_node_band): self.ctx = args[0].ctx self.ptr = isl.isl_schedule_node_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], schedule_node_context): self.ctx = args[0].ctx self.ptr = isl.isl_schedule_node_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], schedule_node_domain): self.ctx = args[0].ctx self.ptr = isl.isl_schedule_node_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], schedule_node_expansion): self.ctx = args[0].ctx self.ptr = isl.isl_schedule_node_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], schedule_node_extension): self.ctx = args[0].ctx self.ptr = isl.isl_schedule_node_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], schedule_node_filter): self.ctx = args[0].ctx self.ptr = isl.isl_schedule_node_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], schedule_node_leaf): self.ctx = args[0].ctx self.ptr = isl.isl_schedule_node_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], schedule_node_guard): self.ctx = args[0].ctx self.ptr = isl.isl_schedule_node_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], schedule_node_mark): self.ctx = args[0].ctx self.ptr = isl.isl_schedule_node_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], schedule_node_sequence): self.ctx = args[0].ctx self.ptr = isl.isl_schedule_node_copy(args[0].ptr) return if len(args) == 1 and isinstance(args[0], schedule_node_set): self.ctx = args[0].ctx self.ptr = isl.isl_schedule_node_copy(args[0].ptr) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_schedule_node_free(self.ptr) def __new__(cls, *args, **keywords): if "ptr" in keywords: type = isl.isl_schedule_node_get_type(keywords["ptr"]) if type == 0: return schedule_node_band(**keywords) if type == 1: return schedule_node_context(**keywords) if type == 2: return schedule_node_domain(**keywords) if type == 3: return schedule_node_expansion(**keywords) if type == 4: return schedule_node_extension(**keywords) if type == 5: return schedule_node_filter(**keywords) if type == 6: return schedule_node_leaf(**keywords) if type == 7: return schedule_node_guard(**keywords) if type == 8: return schedule_node_mark(**keywords) if type == 9: return schedule_node_sequence(**keywords) if type == 10: return schedule_node_set(**keywords) raise Error return super(schedule_node, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ptr = isl.isl_schedule_node_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.schedule_node("""%s""")' % s else: return 'isl.schedule_node("%s")' % s def ancestor(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_ancestor(isl.isl_schedule_node_copy(arg0.ptr), arg1) obj = schedule_node(ctx=ctx, ptr=res) return obj def ancestor_child_position(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise try: if not arg1.__class__ is schedule_node: arg1 = schedule_node(arg1) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_get_ancestor_child_position(arg0.ptr, arg1.ptr) if res < 0: raise Error return int(res) def get_ancestor_child_position(arg0, arg1): return arg0.ancestor_child_position(arg1) def child(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_child(isl.isl_schedule_node_copy(arg0.ptr), arg1) obj = schedule_node(ctx=ctx, ptr=res) return obj def child_position(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_get_child_position(arg0.ptr) if res < 0: raise Error return int(res) def get_child_position(arg0): return arg0.child_position() def every_descendant(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = schedule_node(ctx=arg0.ctx, ptr=isl.isl_schedule_node_copy(cb_arg0)) try: res = arg1(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 1 if res else 0 cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_schedule_node_every_descendant(arg0.ptr, cb1, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error return bool(res) def first_child(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_first_child(isl.isl_schedule_node_copy(arg0.ptr)) obj = schedule_node(ctx=ctx, ptr=res) return obj def foreach_ancestor_top_down(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = schedule_node(ctx=arg0.ctx, ptr=isl.isl_schedule_node_copy(cb_arg0)) try: arg1(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_schedule_node_foreach_ancestor_top_down(arg0.ptr, cb1, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def foreach_descendant_top_down(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = schedule_node(ctx=arg0.ctx, ptr=isl.isl_schedule_node_copy(cb_arg0)) try: res = arg1(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 1 if res else 0 cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_schedule_node_foreach_descendant_top_down(arg0.ptr, cb1, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error @staticmethod def from_domain(arg0): try: if not arg0.__class__ is union_set: arg0 = union_set(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_from_domain(isl.isl_union_set_copy(arg0.ptr)) obj = schedule_node(ctx=ctx, ptr=res) return obj @staticmethod def from_extension(arg0): try: if not arg0.__class__ is union_map: arg0 = union_map(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_from_extension(isl.isl_union_map_copy(arg0.ptr)) obj = schedule_node(ctx=ctx, ptr=res) return obj def graft_after(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise try: if not arg1.__class__ is schedule_node: arg1 = schedule_node(arg1) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_graft_after(isl.isl_schedule_node_copy(arg0.ptr), isl.isl_schedule_node_copy(arg1.ptr)) obj = schedule_node(ctx=ctx, ptr=res) return obj def graft_before(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise try: if not arg1.__class__ is schedule_node: arg1 = schedule_node(arg1) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_graft_before(isl.isl_schedule_node_copy(arg0.ptr), isl.isl_schedule_node_copy(arg1.ptr)) obj = schedule_node(ctx=ctx, ptr=res) return obj def has_children(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_has_children(arg0.ptr) if res < 0: raise Error return bool(res) def has_next_sibling(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_has_next_sibling(arg0.ptr) if res < 0: raise Error return bool(res) def has_parent(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_has_parent(arg0.ptr) if res < 0: raise Error return bool(res) def has_previous_sibling(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_has_previous_sibling(arg0.ptr) if res < 0: raise Error return bool(res) def insert_context(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_insert_context(isl.isl_schedule_node_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = schedule_node(ctx=ctx, ptr=res) return obj def insert_filter(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_insert_filter(isl.isl_schedule_node_copy(arg0.ptr), isl.isl_union_set_copy(arg1.ptr)) obj = schedule_node(ctx=ctx, ptr=res) return obj def insert_guard(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_insert_guard(isl.isl_schedule_node_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = schedule_node(ctx=ctx, ptr=res) return obj def insert_mark(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise try: if not arg1.__class__ is id: arg1 = id(arg1) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_insert_mark(isl.isl_schedule_node_copy(arg0.ptr), isl.isl_id_copy(arg1.ptr)) obj = schedule_node(ctx=ctx, ptr=res) return obj def insert_partial_schedule(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise try: if not arg1.__class__ is multi_union_pw_aff: arg1 = multi_union_pw_aff(arg1) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_insert_partial_schedule(isl.isl_schedule_node_copy(arg0.ptr), isl.isl_multi_union_pw_aff_copy(arg1.ptr)) obj = schedule_node(ctx=ctx, ptr=res) return obj def insert_sequence(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise try: if not arg1.__class__ is union_set_list: arg1 = union_set_list(arg1) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_insert_sequence(isl.isl_schedule_node_copy(arg0.ptr), isl.isl_union_set_list_copy(arg1.ptr)) obj = schedule_node(ctx=ctx, ptr=res) return obj def insert_set(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise try: if not arg1.__class__ is union_set_list: arg1 = union_set_list(arg1) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_insert_set(isl.isl_schedule_node_copy(arg0.ptr), isl.isl_union_set_list_copy(arg1.ptr)) obj = schedule_node(ctx=ctx, ptr=res) return obj def is_equal(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise try: if not arg1.__class__ is schedule_node: arg1 = schedule_node(arg1) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_is_equal(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def is_subtree_anchored(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_is_subtree_anchored(arg0.ptr) if res < 0: raise Error return bool(res) def map_descendant_bottom_up(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_void_p, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = schedule_node(ctx=arg0.ctx, ptr=(cb_arg0)) try: res = arg1(cb_arg0) except BaseException as e: exc_info[0] = e return None return isl.isl_schedule_node_copy(res.ptr) cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_schedule_node_map_descendant_bottom_up(isl.isl_schedule_node_copy(arg0.ptr), cb1, None) if exc_info[0] is not None: raise exc_info[0] obj = schedule_node(ctx=ctx, ptr=res) return obj def n_children(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_n_children(arg0.ptr) if res < 0: raise Error return int(res) def next_sibling(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_next_sibling(isl.isl_schedule_node_copy(arg0.ptr)) obj = schedule_node(ctx=ctx, ptr=res) return obj def order_after(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_order_after(isl.isl_schedule_node_copy(arg0.ptr), isl.isl_union_set_copy(arg1.ptr)) obj = schedule_node(ctx=ctx, ptr=res) return obj def order_before(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_order_before(isl.isl_schedule_node_copy(arg0.ptr), isl.isl_union_set_copy(arg1.ptr)) obj = schedule_node(ctx=ctx, ptr=res) return obj def parent(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_parent(isl.isl_schedule_node_copy(arg0.ptr)) obj = schedule_node(ctx=ctx, ptr=res) return obj def prefix_schedule_multi_union_pw_aff(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_get_prefix_schedule_multi_union_pw_aff(arg0.ptr) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj def get_prefix_schedule_multi_union_pw_aff(arg0): return arg0.prefix_schedule_multi_union_pw_aff() def prefix_schedule_union_map(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_get_prefix_schedule_union_map(arg0.ptr) obj = union_map(ctx=ctx, ptr=res) return obj def get_prefix_schedule_union_map(arg0): return arg0.prefix_schedule_union_map() def prefix_schedule_union_pw_multi_aff(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_get_prefix_schedule_union_pw_multi_aff(arg0.ptr) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj def get_prefix_schedule_union_pw_multi_aff(arg0): return arg0.prefix_schedule_union_pw_multi_aff() def previous_sibling(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_previous_sibling(isl.isl_schedule_node_copy(arg0.ptr)) obj = schedule_node(ctx=ctx, ptr=res) return obj def root(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_root(isl.isl_schedule_node_copy(arg0.ptr)) obj = schedule_node(ctx=ctx, ptr=res) return obj def schedule(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_get_schedule(arg0.ptr) obj = schedule(ctx=ctx, ptr=res) return obj def get_schedule(arg0): return arg0.schedule() def shared_ancestor(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise try: if not arg1.__class__ is schedule_node: arg1 = schedule_node(arg1) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_get_shared_ancestor(arg0.ptr, arg1.ptr) obj = schedule_node(ctx=ctx, ptr=res) return obj def get_shared_ancestor(arg0, arg1): return arg0.shared_ancestor(arg1) def tree_depth(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_get_tree_depth(arg0.ptr) if res < 0: raise Error return int(res) def get_tree_depth(arg0): return arg0.tree_depth() isl.isl_schedule_node_ancestor.restype = c_void_p isl.isl_schedule_node_ancestor.argtypes = [c_void_p, c_int] isl.isl_schedule_node_get_ancestor_child_position.argtypes = [c_void_p, c_void_p] isl.isl_schedule_node_child.restype = c_void_p isl.isl_schedule_node_child.argtypes = [c_void_p, c_int] isl.isl_schedule_node_get_child_position.argtypes = [c_void_p] isl.isl_schedule_node_every_descendant.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_schedule_node_first_child.restype = c_void_p isl.isl_schedule_node_first_child.argtypes = [c_void_p] isl.isl_schedule_node_foreach_ancestor_top_down.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_schedule_node_foreach_descendant_top_down.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_schedule_node_from_domain.restype = c_void_p isl.isl_schedule_node_from_domain.argtypes = [c_void_p] isl.isl_schedule_node_from_extension.restype = c_void_p isl.isl_schedule_node_from_extension.argtypes = [c_void_p] isl.isl_schedule_node_graft_after.restype = c_void_p isl.isl_schedule_node_graft_after.argtypes = [c_void_p, c_void_p] isl.isl_schedule_node_graft_before.restype = c_void_p isl.isl_schedule_node_graft_before.argtypes = [c_void_p, c_void_p] isl.isl_schedule_node_has_children.argtypes = [c_void_p] isl.isl_schedule_node_has_next_sibling.argtypes = [c_void_p] isl.isl_schedule_node_has_parent.argtypes = [c_void_p] isl.isl_schedule_node_has_previous_sibling.argtypes = [c_void_p] isl.isl_schedule_node_insert_context.restype = c_void_p isl.isl_schedule_node_insert_context.argtypes = [c_void_p, c_void_p] isl.isl_schedule_node_insert_filter.restype = c_void_p isl.isl_schedule_node_insert_filter.argtypes = [c_void_p, c_void_p] isl.isl_schedule_node_insert_guard.restype = c_void_p isl.isl_schedule_node_insert_guard.argtypes = [c_void_p, c_void_p] isl.isl_schedule_node_insert_mark.restype = c_void_p isl.isl_schedule_node_insert_mark.argtypes = [c_void_p, c_void_p] isl.isl_schedule_node_insert_partial_schedule.restype = c_void_p isl.isl_schedule_node_insert_partial_schedule.argtypes = [c_void_p, c_void_p] isl.isl_schedule_node_insert_sequence.restype = c_void_p isl.isl_schedule_node_insert_sequence.argtypes = [c_void_p, c_void_p] isl.isl_schedule_node_insert_set.restype = c_void_p isl.isl_schedule_node_insert_set.argtypes = [c_void_p, c_void_p] isl.isl_schedule_node_is_equal.argtypes = [c_void_p, c_void_p] isl.isl_schedule_node_is_subtree_anchored.argtypes = [c_void_p] isl.isl_schedule_node_map_descendant_bottom_up.restype = c_void_p isl.isl_schedule_node_map_descendant_bottom_up.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_schedule_node_n_children.argtypes = [c_void_p] isl.isl_schedule_node_next_sibling.restype = c_void_p isl.isl_schedule_node_next_sibling.argtypes = [c_void_p] isl.isl_schedule_node_order_after.restype = c_void_p isl.isl_schedule_node_order_after.argtypes = [c_void_p, c_void_p] isl.isl_schedule_node_order_before.restype = c_void_p isl.isl_schedule_node_order_before.argtypes = [c_void_p, c_void_p] isl.isl_schedule_node_parent.restype = c_void_p isl.isl_schedule_node_parent.argtypes = [c_void_p] isl.isl_schedule_node_get_prefix_schedule_multi_union_pw_aff.restype = c_void_p isl.isl_schedule_node_get_prefix_schedule_multi_union_pw_aff.argtypes = [c_void_p] isl.isl_schedule_node_get_prefix_schedule_union_map.restype = c_void_p isl.isl_schedule_node_get_prefix_schedule_union_map.argtypes = [c_void_p] isl.isl_schedule_node_get_prefix_schedule_union_pw_multi_aff.restype = c_void_p isl.isl_schedule_node_get_prefix_schedule_union_pw_multi_aff.argtypes = [c_void_p] isl.isl_schedule_node_previous_sibling.restype = c_void_p isl.isl_schedule_node_previous_sibling.argtypes = [c_void_p] isl.isl_schedule_node_root.restype = c_void_p isl.isl_schedule_node_root.argtypes = [c_void_p] isl.isl_schedule_node_get_schedule.restype = c_void_p isl.isl_schedule_node_get_schedule.argtypes = [c_void_p] isl.isl_schedule_node_get_shared_ancestor.restype = c_void_p isl.isl_schedule_node_get_shared_ancestor.argtypes = [c_void_p, c_void_p] isl.isl_schedule_node_get_tree_depth.argtypes = [c_void_p] isl.isl_schedule_node_copy.restype = c_void_p isl.isl_schedule_node_copy.argtypes = [c_void_p] isl.isl_schedule_node_free.restype = c_void_p isl.isl_schedule_node_free.argtypes = [c_void_p] isl.isl_schedule_node_to_str.restype = POINTER(c_char) isl.isl_schedule_node_to_str.argtypes = [c_void_p] isl.isl_schedule_node_get_type.argtypes = [c_void_p] class schedule_node_band(schedule_node): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_schedule_node_free(self.ptr) def __new__(cls, *args, **keywords): return super(schedule_node_band, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is schedule_node_band: arg0 = schedule_node_band(arg0) except: raise ptr = isl.isl_schedule_node_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.schedule_node_band("""%s""")' % s else: return 'isl.schedule_node_band("%s")' % s def ast_build_options(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_band_get_ast_build_options(arg0.ptr) obj = union_set(ctx=ctx, ptr=res) return obj def get_ast_build_options(arg0): return arg0.ast_build_options() def ast_isolate_option(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_band_get_ast_isolate_option(arg0.ptr) obj = set(ctx=ctx, ptr=res) return obj def get_ast_isolate_option(arg0): return arg0.ast_isolate_option() def member_get_coincident(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_band_member_get_coincident(arg0.ptr, arg1) if res < 0: raise Error return bool(res) def member_set_coincident(arg0, arg1, arg2): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_band_member_set_coincident(isl.isl_schedule_node_copy(arg0.ptr), arg1, arg2) obj = schedule_node(ctx=ctx, ptr=res) return obj def mod(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise try: if not arg1.__class__ is multi_val: arg1 = multi_val(arg1) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_band_mod(isl.isl_schedule_node_copy(arg0.ptr), isl.isl_multi_val_copy(arg1.ptr)) obj = schedule_node(ctx=ctx, ptr=res) return obj def n_member(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_band_n_member(arg0.ptr) if res < 0: raise Error return int(res) def partial_schedule(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_band_get_partial_schedule(arg0.ptr) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj def get_partial_schedule(arg0): return arg0.partial_schedule() def permutable(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_band_get_permutable(arg0.ptr) if res < 0: raise Error return bool(res) def get_permutable(arg0): return arg0.permutable() def scale(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise try: if not arg1.__class__ is multi_val: arg1 = multi_val(arg1) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_band_scale(isl.isl_schedule_node_copy(arg0.ptr), isl.isl_multi_val_copy(arg1.ptr)) obj = schedule_node(ctx=ctx, ptr=res) return obj def scale_down(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise try: if not arg1.__class__ is multi_val: arg1 = multi_val(arg1) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_band_scale_down(isl.isl_schedule_node_copy(arg0.ptr), isl.isl_multi_val_copy(arg1.ptr)) obj = schedule_node(ctx=ctx, ptr=res) return obj def set_ast_build_options(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_band_set_ast_build_options(isl.isl_schedule_node_copy(arg0.ptr), isl.isl_union_set_copy(arg1.ptr)) obj = schedule_node(ctx=ctx, ptr=res) return obj def set_permutable(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_band_set_permutable(isl.isl_schedule_node_copy(arg0.ptr), arg1) obj = schedule_node(ctx=ctx, ptr=res) return obj def shift(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise try: if not arg1.__class__ is multi_union_pw_aff: arg1 = multi_union_pw_aff(arg1) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_band_shift(isl.isl_schedule_node_copy(arg0.ptr), isl.isl_multi_union_pw_aff_copy(arg1.ptr)) obj = schedule_node(ctx=ctx, ptr=res) return obj def split(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_band_split(isl.isl_schedule_node_copy(arg0.ptr), arg1) obj = schedule_node(ctx=ctx, ptr=res) return obj def tile(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise try: if not arg1.__class__ is multi_val: arg1 = multi_val(arg1) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_band_tile(isl.isl_schedule_node_copy(arg0.ptr), isl.isl_multi_val_copy(arg1.ptr)) obj = schedule_node(ctx=ctx, ptr=res) return obj def member_set_ast_loop_default(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_band_member_set_ast_loop_type(isl.isl_schedule_node_copy(arg0.ptr), arg1, 0) obj = schedule_node(ctx=ctx, ptr=res) return obj def member_set_ast_loop_atomic(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_band_member_set_ast_loop_type(isl.isl_schedule_node_copy(arg0.ptr), arg1, 1) obj = schedule_node(ctx=ctx, ptr=res) return obj def member_set_ast_loop_unroll(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_band_member_set_ast_loop_type(isl.isl_schedule_node_copy(arg0.ptr), arg1, 2) obj = schedule_node(ctx=ctx, ptr=res) return obj def member_set_ast_loop_separate(arg0, arg1): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_band_member_set_ast_loop_type(isl.isl_schedule_node_copy(arg0.ptr), arg1, 3) obj = schedule_node(ctx=ctx, ptr=res) return obj isl.isl_schedule_node_band_get_ast_build_options.restype = c_void_p isl.isl_schedule_node_band_get_ast_build_options.argtypes = [c_void_p] isl.isl_schedule_node_band_get_ast_isolate_option.restype = c_void_p isl.isl_schedule_node_band_get_ast_isolate_option.argtypes = [c_void_p] isl.isl_schedule_node_band_member_get_coincident.argtypes = [c_void_p, c_int] isl.isl_schedule_node_band_member_set_coincident.restype = c_void_p isl.isl_schedule_node_band_member_set_coincident.argtypes = [c_void_p, c_int, c_int] isl.isl_schedule_node_band_mod.restype = c_void_p isl.isl_schedule_node_band_mod.argtypes = [c_void_p, c_void_p] isl.isl_schedule_node_band_n_member.argtypes = [c_void_p] isl.isl_schedule_node_band_get_partial_schedule.restype = c_void_p isl.isl_schedule_node_band_get_partial_schedule.argtypes = [c_void_p] isl.isl_schedule_node_band_get_permutable.argtypes = [c_void_p] isl.isl_schedule_node_band_scale.restype = c_void_p isl.isl_schedule_node_band_scale.argtypes = [c_void_p, c_void_p] isl.isl_schedule_node_band_scale_down.restype = c_void_p isl.isl_schedule_node_band_scale_down.argtypes = [c_void_p, c_void_p] isl.isl_schedule_node_band_set_ast_build_options.restype = c_void_p isl.isl_schedule_node_band_set_ast_build_options.argtypes = [c_void_p, c_void_p] isl.isl_schedule_node_band_set_permutable.restype = c_void_p isl.isl_schedule_node_band_set_permutable.argtypes = [c_void_p, c_int] isl.isl_schedule_node_band_shift.restype = c_void_p isl.isl_schedule_node_band_shift.argtypes = [c_void_p, c_void_p] isl.isl_schedule_node_band_split.restype = c_void_p isl.isl_schedule_node_band_split.argtypes = [c_void_p, c_int] isl.isl_schedule_node_band_tile.restype = c_void_p isl.isl_schedule_node_band_tile.argtypes = [c_void_p, c_void_p] isl.isl_schedule_node_band_member_set_ast_loop_type.restype = c_void_p isl.isl_schedule_node_band_member_set_ast_loop_type.argtypes = [c_void_p, c_int, c_int] isl.isl_schedule_node_copy.restype = c_void_p isl.isl_schedule_node_copy.argtypes = [c_void_p] isl.isl_schedule_node_free.restype = c_void_p isl.isl_schedule_node_free.argtypes = [c_void_p] isl.isl_schedule_node_to_str.restype = POINTER(c_char) isl.isl_schedule_node_to_str.argtypes = [c_void_p] class schedule_node_context(schedule_node): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_schedule_node_free(self.ptr) def __new__(cls, *args, **keywords): return super(schedule_node_context, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is schedule_node_context: arg0 = schedule_node_context(arg0) except: raise ptr = isl.isl_schedule_node_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.schedule_node_context("""%s""")' % s else: return 'isl.schedule_node_context("%s")' % s def context(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_context_get_context(arg0.ptr) obj = set(ctx=ctx, ptr=res) return obj def get_context(arg0): return arg0.context() isl.isl_schedule_node_context_get_context.restype = c_void_p isl.isl_schedule_node_context_get_context.argtypes = [c_void_p] isl.isl_schedule_node_copy.restype = c_void_p isl.isl_schedule_node_copy.argtypes = [c_void_p] isl.isl_schedule_node_free.restype = c_void_p isl.isl_schedule_node_free.argtypes = [c_void_p] isl.isl_schedule_node_to_str.restype = POINTER(c_char) isl.isl_schedule_node_to_str.argtypes = [c_void_p] class schedule_node_domain(schedule_node): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_schedule_node_free(self.ptr) def __new__(cls, *args, **keywords): return super(schedule_node_domain, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is schedule_node_domain: arg0 = schedule_node_domain(arg0) except: raise ptr = isl.isl_schedule_node_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.schedule_node_domain("""%s""")' % s else: return 'isl.schedule_node_domain("%s")' % s def domain(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_domain_get_domain(arg0.ptr) obj = union_set(ctx=ctx, ptr=res) return obj def get_domain(arg0): return arg0.domain() isl.isl_schedule_node_domain_get_domain.restype = c_void_p isl.isl_schedule_node_domain_get_domain.argtypes = [c_void_p] isl.isl_schedule_node_copy.restype = c_void_p isl.isl_schedule_node_copy.argtypes = [c_void_p] isl.isl_schedule_node_free.restype = c_void_p isl.isl_schedule_node_free.argtypes = [c_void_p] isl.isl_schedule_node_to_str.restype = POINTER(c_char) isl.isl_schedule_node_to_str.argtypes = [c_void_p] class schedule_node_expansion(schedule_node): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_schedule_node_free(self.ptr) def __new__(cls, *args, **keywords): return super(schedule_node_expansion, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is schedule_node_expansion: arg0 = schedule_node_expansion(arg0) except: raise ptr = isl.isl_schedule_node_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.schedule_node_expansion("""%s""")' % s else: return 'isl.schedule_node_expansion("%s")' % s def contraction(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_expansion_get_contraction(arg0.ptr) obj = union_pw_multi_aff(ctx=ctx, ptr=res) return obj def get_contraction(arg0): return arg0.contraction() def expansion(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_expansion_get_expansion(arg0.ptr) obj = union_map(ctx=ctx, ptr=res) return obj def get_expansion(arg0): return arg0.expansion() isl.isl_schedule_node_expansion_get_contraction.restype = c_void_p isl.isl_schedule_node_expansion_get_contraction.argtypes = [c_void_p] isl.isl_schedule_node_expansion_get_expansion.restype = c_void_p isl.isl_schedule_node_expansion_get_expansion.argtypes = [c_void_p] isl.isl_schedule_node_copy.restype = c_void_p isl.isl_schedule_node_copy.argtypes = [c_void_p] isl.isl_schedule_node_free.restype = c_void_p isl.isl_schedule_node_free.argtypes = [c_void_p] isl.isl_schedule_node_to_str.restype = POINTER(c_char) isl.isl_schedule_node_to_str.argtypes = [c_void_p] class schedule_node_extension(schedule_node): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_schedule_node_free(self.ptr) def __new__(cls, *args, **keywords): return super(schedule_node_extension, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is schedule_node_extension: arg0 = schedule_node_extension(arg0) except: raise ptr = isl.isl_schedule_node_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.schedule_node_extension("""%s""")' % s else: return 'isl.schedule_node_extension("%s")' % s def extension(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_extension_get_extension(arg0.ptr) obj = union_map(ctx=ctx, ptr=res) return obj def get_extension(arg0): return arg0.extension() isl.isl_schedule_node_extension_get_extension.restype = c_void_p isl.isl_schedule_node_extension_get_extension.argtypes = [c_void_p] isl.isl_schedule_node_copy.restype = c_void_p isl.isl_schedule_node_copy.argtypes = [c_void_p] isl.isl_schedule_node_free.restype = c_void_p isl.isl_schedule_node_free.argtypes = [c_void_p] isl.isl_schedule_node_to_str.restype = POINTER(c_char) isl.isl_schedule_node_to_str.argtypes = [c_void_p] class schedule_node_filter(schedule_node): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_schedule_node_free(self.ptr) def __new__(cls, *args, **keywords): return super(schedule_node_filter, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is schedule_node_filter: arg0 = schedule_node_filter(arg0) except: raise ptr = isl.isl_schedule_node_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.schedule_node_filter("""%s""")' % s else: return 'isl.schedule_node_filter("%s")' % s def filter(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_filter_get_filter(arg0.ptr) obj = union_set(ctx=ctx, ptr=res) return obj def get_filter(arg0): return arg0.filter() isl.isl_schedule_node_filter_get_filter.restype = c_void_p isl.isl_schedule_node_filter_get_filter.argtypes = [c_void_p] isl.isl_schedule_node_copy.restype = c_void_p isl.isl_schedule_node_copy.argtypes = [c_void_p] isl.isl_schedule_node_free.restype = c_void_p isl.isl_schedule_node_free.argtypes = [c_void_p] isl.isl_schedule_node_to_str.restype = POINTER(c_char) isl.isl_schedule_node_to_str.argtypes = [c_void_p] class schedule_node_guard(schedule_node): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_schedule_node_free(self.ptr) def __new__(cls, *args, **keywords): return super(schedule_node_guard, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is schedule_node_guard: arg0 = schedule_node_guard(arg0) except: raise ptr = isl.isl_schedule_node_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.schedule_node_guard("""%s""")' % s else: return 'isl.schedule_node_guard("%s")' % s def guard(arg0): try: if not arg0.__class__ is schedule_node: arg0 = schedule_node(arg0) except: raise ctx = arg0.ctx res = isl.isl_schedule_node_guard_get_guard(arg0.ptr) obj = set(ctx=ctx, ptr=res) return obj def get_guard(arg0): return arg0.guard() isl.isl_schedule_node_guard_get_guard.restype = c_void_p isl.isl_schedule_node_guard_get_guard.argtypes = [c_void_p] isl.isl_schedule_node_copy.restype = c_void_p isl.isl_schedule_node_copy.argtypes = [c_void_p] isl.isl_schedule_node_free.restype = c_void_p isl.isl_schedule_node_free.argtypes = [c_void_p] isl.isl_schedule_node_to_str.restype = POINTER(c_char) isl.isl_schedule_node_to_str.argtypes = [c_void_p] class schedule_node_leaf(schedule_node): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_schedule_node_free(self.ptr) def __new__(cls, *args, **keywords): return super(schedule_node_leaf, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is schedule_node_leaf: arg0 = schedule_node_leaf(arg0) except: raise ptr = isl.isl_schedule_node_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.schedule_node_leaf("""%s""")' % s else: return 'isl.schedule_node_leaf("%s")' % s isl.isl_schedule_node_copy.restype = c_void_p isl.isl_schedule_node_copy.argtypes = [c_void_p] isl.isl_schedule_node_free.restype = c_void_p isl.isl_schedule_node_free.argtypes = [c_void_p] isl.isl_schedule_node_to_str.restype = POINTER(c_char) isl.isl_schedule_node_to_str.argtypes = [c_void_p] class schedule_node_mark(schedule_node): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_schedule_node_free(self.ptr) def __new__(cls, *args, **keywords): return super(schedule_node_mark, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is schedule_node_mark: arg0 = schedule_node_mark(arg0) except: raise ptr = isl.isl_schedule_node_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.schedule_node_mark("""%s""")' % s else: return 'isl.schedule_node_mark("%s")' % s isl.isl_schedule_node_copy.restype = c_void_p isl.isl_schedule_node_copy.argtypes = [c_void_p] isl.isl_schedule_node_free.restype = c_void_p isl.isl_schedule_node_free.argtypes = [c_void_p] isl.isl_schedule_node_to_str.restype = POINTER(c_char) isl.isl_schedule_node_to_str.argtypes = [c_void_p] class schedule_node_sequence(schedule_node): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_schedule_node_free(self.ptr) def __new__(cls, *args, **keywords): return super(schedule_node_sequence, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is schedule_node_sequence: arg0 = schedule_node_sequence(arg0) except: raise ptr = isl.isl_schedule_node_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.schedule_node_sequence("""%s""")' % s else: return 'isl.schedule_node_sequence("%s")' % s isl.isl_schedule_node_copy.restype = c_void_p isl.isl_schedule_node_copy.argtypes = [c_void_p] isl.isl_schedule_node_free.restype = c_void_p isl.isl_schedule_node_free.argtypes = [c_void_p] isl.isl_schedule_node_to_str.restype = POINTER(c_char) isl.isl_schedule_node_to_str.argtypes = [c_void_p] class schedule_node_set(schedule_node): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_schedule_node_free(self.ptr) def __new__(cls, *args, **keywords): return super(schedule_node_set, cls).__new__(cls) def __str__(arg0): try: if not arg0.__class__ is schedule_node_set: arg0 = schedule_node_set(arg0) except: raise ptr = isl.isl_schedule_node_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.schedule_node_set("""%s""")' % s else: return 'isl.schedule_node_set("%s")' % s isl.isl_schedule_node_copy.restype = c_void_p isl.isl_schedule_node_copy.argtypes = [c_void_p] isl.isl_schedule_node_free.restype = c_void_p isl.isl_schedule_node_free.argtypes = [c_void_p] isl.isl_schedule_node_to_str.restype = POINTER(c_char) isl.isl_schedule_node_to_str.argtypes = [c_void_p] class set_list(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and type(args[0]) == int: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_set_list_alloc(self.ctx, args[0]) return if len(args) == 1 and args[0].__class__ is set: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_set_list_from_set(isl.isl_set_copy(args[0].ptr)) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_set_list_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_set_list_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is set_list: arg0 = set_list(arg0) except: raise ptr = isl.isl_set_list_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.set_list("""%s""")' % s else: return 'isl.set_list("%s")' % s def add(arg0, arg1): try: if not arg0.__class__ is set_list: arg0 = set_list(arg0) except: raise try: if not arg1.__class__ is set: arg1 = set(arg1) except: raise ctx = arg0.ctx res = isl.isl_set_list_add(isl.isl_set_list_copy(arg0.ptr), isl.isl_set_copy(arg1.ptr)) obj = set_list(ctx=ctx, ptr=res) return obj def at(arg0, arg1): try: if not arg0.__class__ is set_list: arg0 = set_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_list_get_at(arg0.ptr, arg1) obj = set(ctx=ctx, ptr=res) return obj def get_at(arg0, arg1): return arg0.at(arg1) def clear(arg0): try: if not arg0.__class__ is set_list: arg0 = set_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_list_clear(isl.isl_set_list_copy(arg0.ptr)) obj = set_list(ctx=ctx, ptr=res) return obj def concat(arg0, arg1): try: if not arg0.__class__ is set_list: arg0 = set_list(arg0) except: raise try: if not arg1.__class__ is set_list: arg1 = set_list(arg1) except: raise ctx = arg0.ctx res = isl.isl_set_list_concat(isl.isl_set_list_copy(arg0.ptr), isl.isl_set_list_copy(arg1.ptr)) obj = set_list(ctx=ctx, ptr=res) return obj def drop(arg0, arg1, arg2): try: if not arg0.__class__ is set_list: arg0 = set_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_list_drop(isl.isl_set_list_copy(arg0.ptr), arg1, arg2) obj = set_list(ctx=ctx, ptr=res) return obj def foreach(arg0, arg1): try: if not arg0.__class__ is set_list: arg0 = set_list(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = set(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg1(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_set_list_foreach(arg0.ptr, cb1, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def foreach_scc(arg0, arg1, arg2): try: if not arg0.__class__ is set_list: arg0 = set_list(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1, cb_arg2): cb_arg0 = set(ctx=arg0.ctx, ptr=isl.isl_set_copy(cb_arg0)) cb_arg1 = set(ctx=arg0.ctx, ptr=isl.isl_set_copy(cb_arg1)) try: res = arg1(cb_arg0, cb_arg1) except BaseException as e: exc_info[0] = e return -1 return 1 if res else 0 cb1 = fn(cb_func) exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = set_list(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg2(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb2 = fn(cb_func) ctx = arg0.ctx res = isl.isl_set_list_foreach_scc(arg0.ptr, cb1, None, cb2, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def insert(arg0, arg1, arg2): try: if not arg0.__class__ is set_list: arg0 = set_list(arg0) except: raise try: if not arg2.__class__ is set: arg2 = set(arg2) except: raise ctx = arg0.ctx res = isl.isl_set_list_insert(isl.isl_set_list_copy(arg0.ptr), arg1, isl.isl_set_copy(arg2.ptr)) obj = set_list(ctx=ctx, ptr=res) return obj def set_at(arg0, arg1, arg2): try: if not arg0.__class__ is set_list: arg0 = set_list(arg0) except: raise try: if not arg2.__class__ is set: arg2 = set(arg2) except: raise ctx = arg0.ctx res = isl.isl_set_list_set_at(isl.isl_set_list_copy(arg0.ptr), arg1, isl.isl_set_copy(arg2.ptr)) obj = set_list(ctx=ctx, ptr=res) return obj def size(arg0): try: if not arg0.__class__ is set_list: arg0 = set_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_set_list_size(arg0.ptr) if res < 0: raise Error return int(res) isl.isl_set_list_alloc.restype = c_void_p isl.isl_set_list_alloc.argtypes = [Context, c_int] isl.isl_set_list_from_set.restype = c_void_p isl.isl_set_list_from_set.argtypes = [c_void_p] isl.isl_set_list_read_from_str.restype = c_void_p isl.isl_set_list_read_from_str.argtypes = [Context, c_char_p] isl.isl_set_list_add.restype = c_void_p isl.isl_set_list_add.argtypes = [c_void_p, c_void_p] isl.isl_set_list_get_at.restype = c_void_p isl.isl_set_list_get_at.argtypes = [c_void_p, c_int] isl.isl_set_list_clear.restype = c_void_p isl.isl_set_list_clear.argtypes = [c_void_p] isl.isl_set_list_concat.restype = c_void_p isl.isl_set_list_concat.argtypes = [c_void_p, c_void_p] isl.isl_set_list_drop.restype = c_void_p isl.isl_set_list_drop.argtypes = [c_void_p, c_int, c_int] isl.isl_set_list_foreach.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_set_list_foreach_scc.argtypes = [c_void_p, c_void_p, c_void_p, c_void_p, c_void_p] isl.isl_set_list_insert.restype = c_void_p isl.isl_set_list_insert.argtypes = [c_void_p, c_int, c_void_p] isl.isl_set_list_set_at.restype = c_void_p isl.isl_set_list_set_at.argtypes = [c_void_p, c_int, c_void_p] isl.isl_set_list_size.argtypes = [c_void_p] isl.isl_set_list_copy.restype = c_void_p isl.isl_set_list_copy.argtypes = [c_void_p] isl.isl_set_list_free.restype = c_void_p isl.isl_set_list_free.argtypes = [c_void_p] isl.isl_set_list_to_str.restype = POINTER(c_char) isl.isl_set_list_to_str.argtypes = [c_void_p] class space(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_space_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_space_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ptr = isl.isl_space_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.space("""%s""")' % s else: return 'isl.space("%s")' % s def add_named_tuple(*args): if len(args) == 3 and (args[1].__class__ is id or type(args[1]) == str) and type(args[2]) == int: args = list(args) try: if not args[0].__class__ is space: args[0] = space(args[0]) except: raise try: if not args[1].__class__ is id: args[1] = id(args[1]) except: raise ctx = args[0].ctx res = isl.isl_space_add_named_tuple_id_ui(isl.isl_space_copy(args[0].ptr), isl.isl_id_copy(args[1].ptr), args[2]) obj = space(ctx=ctx, ptr=res) return obj raise Error def add_param(*args): if len(args) == 2 and (args[1].__class__ is id or type(args[1]) == str): args = list(args) try: if not args[0].__class__ is space: args[0] = space(args[0]) except: raise try: if not args[1].__class__ is id: args[1] = id(args[1]) except: raise ctx = args[0].ctx res = isl.isl_space_add_param_id(isl.isl_space_copy(args[0].ptr), isl.isl_id_copy(args[1].ptr)) obj = space(ctx=ctx, ptr=res) return obj raise Error def add_unnamed_tuple(*args): if len(args) == 2 and type(args[1]) == int: args = list(args) try: if not args[0].__class__ is space: args[0] = space(args[0]) except: raise ctx = args[0].ctx res = isl.isl_space_add_unnamed_tuple_ui(isl.isl_space_copy(args[0].ptr), args[1]) obj = space(ctx=ctx, ptr=res) return obj raise Error def curry(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_curry(isl.isl_space_copy(arg0.ptr)) obj = space(ctx=ctx, ptr=res) return obj def domain(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_domain(isl.isl_space_copy(arg0.ptr)) obj = space(ctx=ctx, ptr=res) return obj def domain_map_multi_aff(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_domain_map_multi_aff(isl.isl_space_copy(arg0.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj def domain_map_pw_multi_aff(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_domain_map_pw_multi_aff(isl.isl_space_copy(arg0.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def domain_reverse(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_domain_reverse(isl.isl_space_copy(arg0.ptr)) obj = space(ctx=ctx, ptr=res) return obj def domain_tuple_id(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_get_domain_tuple_id(arg0.ptr) obj = id(ctx=ctx, ptr=res) return obj def get_domain_tuple_id(arg0): return arg0.domain_tuple_id() def drop_all_params(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_drop_all_params(isl.isl_space_copy(arg0.ptr)) obj = space(ctx=ctx, ptr=res) return obj def flatten_domain(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_flatten_domain(isl.isl_space_copy(arg0.ptr)) obj = space(ctx=ctx, ptr=res) return obj def flatten_range(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_flatten_range(isl.isl_space_copy(arg0.ptr)) obj = space(ctx=ctx, ptr=res) return obj def has_domain_tuple_id(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_has_domain_tuple_id(arg0.ptr) if res < 0: raise Error return bool(res) def has_range_tuple_id(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_has_range_tuple_id(arg0.ptr) if res < 0: raise Error return bool(res) def identity_multi_aff_on_domain(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_identity_multi_aff_on_domain(isl.isl_space_copy(arg0.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj def identity_multi_pw_aff_on_domain(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_identity_multi_pw_aff_on_domain(isl.isl_space_copy(arg0.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def identity_pw_multi_aff_on_domain(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_identity_pw_multi_aff_on_domain(isl.isl_space_copy(arg0.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def is_equal(arg0, arg1): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise try: if not arg1.__class__ is space: arg1 = space(arg1) except: raise ctx = arg0.ctx res = isl.isl_space_is_equal(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def is_wrapping(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_is_wrapping(arg0.ptr) if res < 0: raise Error return bool(res) def map_from_set(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_map_from_set(isl.isl_space_copy(arg0.ptr)) obj = space(ctx=ctx, ptr=res) return obj def multi_aff(arg0, arg1): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise try: if not arg1.__class__ is aff_list: arg1 = aff_list(arg1) except: raise ctx = arg0.ctx res = isl.isl_space_multi_aff(isl.isl_space_copy(arg0.ptr), isl.isl_aff_list_copy(arg1.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj def multi_aff_on_domain(*args): if len(args) == 2 and args[1].__class__ is multi_val: args = list(args) try: if not args[0].__class__ is space: args[0] = space(args[0]) except: raise ctx = args[0].ctx res = isl.isl_space_multi_aff_on_domain_multi_val(isl.isl_space_copy(args[0].ptr), isl.isl_multi_val_copy(args[1].ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj raise Error def multi_id(arg0, arg1): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise try: if not arg1.__class__ is id_list: arg1 = id_list(arg1) except: raise ctx = arg0.ctx res = isl.isl_space_multi_id(isl.isl_space_copy(arg0.ptr), isl.isl_id_list_copy(arg1.ptr)) obj = multi_id(ctx=ctx, ptr=res) return obj def multi_pw_aff(arg0, arg1): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise try: if not arg1.__class__ is pw_aff_list: arg1 = pw_aff_list(arg1) except: raise ctx = arg0.ctx res = isl.isl_space_multi_pw_aff(isl.isl_space_copy(arg0.ptr), isl.isl_pw_aff_list_copy(arg1.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def multi_union_pw_aff(arg0, arg1): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise try: if not arg1.__class__ is union_pw_aff_list: arg1 = union_pw_aff_list(arg1) except: raise ctx = arg0.ctx res = isl.isl_space_multi_union_pw_aff(isl.isl_space_copy(arg0.ptr), isl.isl_union_pw_aff_list_copy(arg1.ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj def multi_val(arg0, arg1): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise try: if not arg1.__class__ is val_list: arg1 = val_list(arg1) except: raise ctx = arg0.ctx res = isl.isl_space_multi_val(isl.isl_space_copy(arg0.ptr), isl.isl_val_list_copy(arg1.ptr)) obj = multi_val(ctx=ctx, ptr=res) return obj def param_aff_on_domain(*args): if len(args) == 2 and (args[1].__class__ is id or type(args[1]) == str): args = list(args) try: if not args[0].__class__ is space: args[0] = space(args[0]) except: raise try: if not args[1].__class__ is id: args[1] = id(args[1]) except: raise ctx = args[0].ctx res = isl.isl_space_param_aff_on_domain_id(isl.isl_space_copy(args[0].ptr), isl.isl_id_copy(args[1].ptr)) obj = aff(ctx=ctx, ptr=res) return obj raise Error def params(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_params(isl.isl_space_copy(arg0.ptr)) obj = space(ctx=ctx, ptr=res) return obj def product(arg0, arg1): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise try: if not arg1.__class__ is space: arg1 = space(arg1) except: raise ctx = arg0.ctx res = isl.isl_space_product(isl.isl_space_copy(arg0.ptr), isl.isl_space_copy(arg1.ptr)) obj = space(ctx=ctx, ptr=res) return obj def range(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_range(isl.isl_space_copy(arg0.ptr)) obj = space(ctx=ctx, ptr=res) return obj def range_map_multi_aff(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_range_map_multi_aff(isl.isl_space_copy(arg0.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj def range_map_pw_multi_aff(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_range_map_pw_multi_aff(isl.isl_space_copy(arg0.ptr)) obj = pw_multi_aff(ctx=ctx, ptr=res) return obj def range_reverse(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_range_reverse(isl.isl_space_copy(arg0.ptr)) obj = space(ctx=ctx, ptr=res) return obj def range_tuple_id(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_get_range_tuple_id(arg0.ptr) obj = id(ctx=ctx, ptr=res) return obj def get_range_tuple_id(arg0): return arg0.range_tuple_id() def reverse(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_reverse(isl.isl_space_copy(arg0.ptr)) obj = space(ctx=ctx, ptr=res) return obj def set_domain_tuple(*args): if len(args) == 2 and (args[1].__class__ is id or type(args[1]) == str): args = list(args) try: if not args[0].__class__ is space: args[0] = space(args[0]) except: raise try: if not args[1].__class__ is id: args[1] = id(args[1]) except: raise ctx = args[0].ctx res = isl.isl_space_set_domain_tuple_id(isl.isl_space_copy(args[0].ptr), isl.isl_id_copy(args[1].ptr)) obj = space(ctx=ctx, ptr=res) return obj raise Error def set_range_tuple(*args): if len(args) == 2 and (args[1].__class__ is id or type(args[1]) == str): args = list(args) try: if not args[0].__class__ is space: args[0] = space(args[0]) except: raise try: if not args[1].__class__ is id: args[1] = id(args[1]) except: raise ctx = args[0].ctx res = isl.isl_space_set_range_tuple_id(isl.isl_space_copy(args[0].ptr), isl.isl_id_copy(args[1].ptr)) obj = space(ctx=ctx, ptr=res) return obj raise Error def uncurry(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_uncurry(isl.isl_space_copy(arg0.ptr)) obj = space(ctx=ctx, ptr=res) return obj @staticmethod def unit(): ctx = Context.getDefaultInstance() res = isl.isl_space_unit(ctx) obj = space(ctx=ctx, ptr=res) return obj def universe_map(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_universe_map(isl.isl_space_copy(arg0.ptr)) obj = map(ctx=ctx, ptr=res) return obj def universe_set(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_universe_set(isl.isl_space_copy(arg0.ptr)) obj = set(ctx=ctx, ptr=res) return obj def unwrap(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_unwrap(isl.isl_space_copy(arg0.ptr)) obj = space(ctx=ctx, ptr=res) return obj def wrap(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_wrap(isl.isl_space_copy(arg0.ptr)) obj = space(ctx=ctx, ptr=res) return obj def wrapped_reverse(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_wrapped_reverse(isl.isl_space_copy(arg0.ptr)) obj = space(ctx=ctx, ptr=res) return obj def zero_aff_on_domain(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_zero_aff_on_domain(isl.isl_space_copy(arg0.ptr)) obj = aff(ctx=ctx, ptr=res) return obj def zero_multi_aff(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_zero_multi_aff(isl.isl_space_copy(arg0.ptr)) obj = multi_aff(ctx=ctx, ptr=res) return obj def zero_multi_pw_aff(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_zero_multi_pw_aff(isl.isl_space_copy(arg0.ptr)) obj = multi_pw_aff(ctx=ctx, ptr=res) return obj def zero_multi_union_pw_aff(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_zero_multi_union_pw_aff(isl.isl_space_copy(arg0.ptr)) obj = multi_union_pw_aff(ctx=ctx, ptr=res) return obj def zero_multi_val(arg0): try: if not arg0.__class__ is space: arg0 = space(arg0) except: raise ctx = arg0.ctx res = isl.isl_space_zero_multi_val(isl.isl_space_copy(arg0.ptr)) obj = multi_val(ctx=ctx, ptr=res) return obj isl.isl_space_read_from_str.restype = c_void_p isl.isl_space_read_from_str.argtypes = [Context, c_char_p] isl.isl_space_add_named_tuple_id_ui.restype = c_void_p isl.isl_space_add_named_tuple_id_ui.argtypes = [c_void_p, c_void_p, c_int] isl.isl_space_add_param_id.restype = c_void_p isl.isl_space_add_param_id.argtypes = [c_void_p, c_void_p] isl.isl_space_add_unnamed_tuple_ui.restype = c_void_p isl.isl_space_add_unnamed_tuple_ui.argtypes = [c_void_p, c_int] isl.isl_space_curry.restype = c_void_p isl.isl_space_curry.argtypes = [c_void_p] isl.isl_space_domain.restype = c_void_p isl.isl_space_domain.argtypes = [c_void_p] isl.isl_space_domain_map_multi_aff.restype = c_void_p isl.isl_space_domain_map_multi_aff.argtypes = [c_void_p] isl.isl_space_domain_map_pw_multi_aff.restype = c_void_p isl.isl_space_domain_map_pw_multi_aff.argtypes = [c_void_p] isl.isl_space_domain_reverse.restype = c_void_p isl.isl_space_domain_reverse.argtypes = [c_void_p] isl.isl_space_get_domain_tuple_id.restype = c_void_p isl.isl_space_get_domain_tuple_id.argtypes = [c_void_p] isl.isl_space_drop_all_params.restype = c_void_p isl.isl_space_drop_all_params.argtypes = [c_void_p] isl.isl_space_flatten_domain.restype = c_void_p isl.isl_space_flatten_domain.argtypes = [c_void_p] isl.isl_space_flatten_range.restype = c_void_p isl.isl_space_flatten_range.argtypes = [c_void_p] isl.isl_space_has_domain_tuple_id.argtypes = [c_void_p] isl.isl_space_has_range_tuple_id.argtypes = [c_void_p] isl.isl_space_identity_multi_aff_on_domain.restype = c_void_p isl.isl_space_identity_multi_aff_on_domain.argtypes = [c_void_p] isl.isl_space_identity_multi_pw_aff_on_domain.restype = c_void_p isl.isl_space_identity_multi_pw_aff_on_domain.argtypes = [c_void_p] isl.isl_space_identity_pw_multi_aff_on_domain.restype = c_void_p isl.isl_space_identity_pw_multi_aff_on_domain.argtypes = [c_void_p] isl.isl_space_is_equal.argtypes = [c_void_p, c_void_p] isl.isl_space_is_wrapping.argtypes = [c_void_p] isl.isl_space_map_from_set.restype = c_void_p isl.isl_space_map_from_set.argtypes = [c_void_p] isl.isl_space_multi_aff.restype = c_void_p isl.isl_space_multi_aff.argtypes = [c_void_p, c_void_p] isl.isl_space_multi_aff_on_domain_multi_val.restype = c_void_p isl.isl_space_multi_aff_on_domain_multi_val.argtypes = [c_void_p, c_void_p] isl.isl_space_multi_id.restype = c_void_p isl.isl_space_multi_id.argtypes = [c_void_p, c_void_p] isl.isl_space_multi_pw_aff.restype = c_void_p isl.isl_space_multi_pw_aff.argtypes = [c_void_p, c_void_p] isl.isl_space_multi_union_pw_aff.restype = c_void_p isl.isl_space_multi_union_pw_aff.argtypes = [c_void_p, c_void_p] isl.isl_space_multi_val.restype = c_void_p isl.isl_space_multi_val.argtypes = [c_void_p, c_void_p] isl.isl_space_param_aff_on_domain_id.restype = c_void_p isl.isl_space_param_aff_on_domain_id.argtypes = [c_void_p, c_void_p] isl.isl_space_params.restype = c_void_p isl.isl_space_params.argtypes = [c_void_p] isl.isl_space_product.restype = c_void_p isl.isl_space_product.argtypes = [c_void_p, c_void_p] isl.isl_space_range.restype = c_void_p isl.isl_space_range.argtypes = [c_void_p] isl.isl_space_range_map_multi_aff.restype = c_void_p isl.isl_space_range_map_multi_aff.argtypes = [c_void_p] isl.isl_space_range_map_pw_multi_aff.restype = c_void_p isl.isl_space_range_map_pw_multi_aff.argtypes = [c_void_p] isl.isl_space_range_reverse.restype = c_void_p isl.isl_space_range_reverse.argtypes = [c_void_p] isl.isl_space_get_range_tuple_id.restype = c_void_p isl.isl_space_get_range_tuple_id.argtypes = [c_void_p] isl.isl_space_reverse.restype = c_void_p isl.isl_space_reverse.argtypes = [c_void_p] isl.isl_space_set_domain_tuple_id.restype = c_void_p isl.isl_space_set_domain_tuple_id.argtypes = [c_void_p, c_void_p] isl.isl_space_set_range_tuple_id.restype = c_void_p isl.isl_space_set_range_tuple_id.argtypes = [c_void_p, c_void_p] isl.isl_space_uncurry.restype = c_void_p isl.isl_space_uncurry.argtypes = [c_void_p] isl.isl_space_unit.restype = c_void_p isl.isl_space_unit.argtypes = [Context] isl.isl_space_universe_map.restype = c_void_p isl.isl_space_universe_map.argtypes = [c_void_p] isl.isl_space_universe_set.restype = c_void_p isl.isl_space_universe_set.argtypes = [c_void_p] isl.isl_space_unwrap.restype = c_void_p isl.isl_space_unwrap.argtypes = [c_void_p] isl.isl_space_wrap.restype = c_void_p isl.isl_space_wrap.argtypes = [c_void_p] isl.isl_space_wrapped_reverse.restype = c_void_p isl.isl_space_wrapped_reverse.argtypes = [c_void_p] isl.isl_space_zero_aff_on_domain.restype = c_void_p isl.isl_space_zero_aff_on_domain.argtypes = [c_void_p] isl.isl_space_zero_multi_aff.restype = c_void_p isl.isl_space_zero_multi_aff.argtypes = [c_void_p] isl.isl_space_zero_multi_pw_aff.restype = c_void_p isl.isl_space_zero_multi_pw_aff.argtypes = [c_void_p] isl.isl_space_zero_multi_union_pw_aff.restype = c_void_p isl.isl_space_zero_multi_union_pw_aff.argtypes = [c_void_p] isl.isl_space_zero_multi_val.restype = c_void_p isl.isl_space_zero_multi_val.argtypes = [c_void_p] isl.isl_space_copy.restype = c_void_p isl.isl_space_copy.argtypes = [c_void_p] isl.isl_space_free.restype = c_void_p isl.isl_space_free.argtypes = [c_void_p] isl.isl_space_to_str.restype = POINTER(c_char) isl.isl_space_to_str.argtypes = [c_void_p] class union_access_info(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and args[0].__class__ is union_map: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_union_access_info_from_sink(isl.isl_union_map_copy(args[0].ptr)) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_union_access_info_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is union_access_info: arg0 = union_access_info(arg0) except: raise ptr = isl.isl_union_access_info_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.union_access_info("""%s""")' % s else: return 'isl.union_access_info("%s")' % s def compute_flow(arg0): try: if not arg0.__class__ is union_access_info: arg0 = union_access_info(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_access_info_compute_flow(isl.isl_union_access_info_copy(arg0.ptr)) obj = union_flow(ctx=ctx, ptr=res) return obj def set_kill(arg0, arg1): try: if not arg0.__class__ is union_access_info: arg0 = union_access_info(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_access_info_set_kill(isl.isl_union_access_info_copy(arg0.ptr), isl.isl_union_map_copy(arg1.ptr)) obj = union_access_info(ctx=ctx, ptr=res) return obj def set_may_source(arg0, arg1): try: if not arg0.__class__ is union_access_info: arg0 = union_access_info(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_access_info_set_may_source(isl.isl_union_access_info_copy(arg0.ptr), isl.isl_union_map_copy(arg1.ptr)) obj = union_access_info(ctx=ctx, ptr=res) return obj def set_must_source(arg0, arg1): try: if not arg0.__class__ is union_access_info: arg0 = union_access_info(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_access_info_set_must_source(isl.isl_union_access_info_copy(arg0.ptr), isl.isl_union_map_copy(arg1.ptr)) obj = union_access_info(ctx=ctx, ptr=res) return obj def set_schedule(arg0, arg1): try: if not arg0.__class__ is union_access_info: arg0 = union_access_info(arg0) except: raise try: if not arg1.__class__ is schedule: arg1 = schedule(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_access_info_set_schedule(isl.isl_union_access_info_copy(arg0.ptr), isl.isl_schedule_copy(arg1.ptr)) obj = union_access_info(ctx=ctx, ptr=res) return obj def set_schedule_map(arg0, arg1): try: if not arg0.__class__ is union_access_info: arg0 = union_access_info(arg0) except: raise try: if not arg1.__class__ is union_map: arg1 = union_map(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_access_info_set_schedule_map(isl.isl_union_access_info_copy(arg0.ptr), isl.isl_union_map_copy(arg1.ptr)) obj = union_access_info(ctx=ctx, ptr=res) return obj isl.isl_union_access_info_from_sink.restype = c_void_p isl.isl_union_access_info_from_sink.argtypes = [c_void_p] isl.isl_union_access_info_compute_flow.restype = c_void_p isl.isl_union_access_info_compute_flow.argtypes = [c_void_p] isl.isl_union_access_info_set_kill.restype = c_void_p isl.isl_union_access_info_set_kill.argtypes = [c_void_p, c_void_p] isl.isl_union_access_info_set_may_source.restype = c_void_p isl.isl_union_access_info_set_may_source.argtypes = [c_void_p, c_void_p] isl.isl_union_access_info_set_must_source.restype = c_void_p isl.isl_union_access_info_set_must_source.argtypes = [c_void_p, c_void_p] isl.isl_union_access_info_set_schedule.restype = c_void_p isl.isl_union_access_info_set_schedule.argtypes = [c_void_p, c_void_p] isl.isl_union_access_info_set_schedule_map.restype = c_void_p isl.isl_union_access_info_set_schedule_map.argtypes = [c_void_p, c_void_p] isl.isl_union_access_info_copy.restype = c_void_p isl.isl_union_access_info_copy.argtypes = [c_void_p] isl.isl_union_access_info_free.restype = c_void_p isl.isl_union_access_info_free.argtypes = [c_void_p] isl.isl_union_access_info_to_str.restype = POINTER(c_char) isl.isl_union_access_info_to_str.argtypes = [c_void_p] class union_flow(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_union_flow_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is union_flow: arg0 = union_flow(arg0) except: raise ptr = isl.isl_union_flow_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.union_flow("""%s""")' % s else: return 'isl.union_flow("%s")' % s def full_may_dependence(arg0): try: if not arg0.__class__ is union_flow: arg0 = union_flow(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_flow_get_full_may_dependence(arg0.ptr) obj = union_map(ctx=ctx, ptr=res) return obj def get_full_may_dependence(arg0): return arg0.full_may_dependence() def full_must_dependence(arg0): try: if not arg0.__class__ is union_flow: arg0 = union_flow(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_flow_get_full_must_dependence(arg0.ptr) obj = union_map(ctx=ctx, ptr=res) return obj def get_full_must_dependence(arg0): return arg0.full_must_dependence() def may_dependence(arg0): try: if not arg0.__class__ is union_flow: arg0 = union_flow(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_flow_get_may_dependence(arg0.ptr) obj = union_map(ctx=ctx, ptr=res) return obj def get_may_dependence(arg0): return arg0.may_dependence() def may_no_source(arg0): try: if not arg0.__class__ is union_flow: arg0 = union_flow(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_flow_get_may_no_source(arg0.ptr) obj = union_map(ctx=ctx, ptr=res) return obj def get_may_no_source(arg0): return arg0.may_no_source() def must_dependence(arg0): try: if not arg0.__class__ is union_flow: arg0 = union_flow(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_flow_get_must_dependence(arg0.ptr) obj = union_map(ctx=ctx, ptr=res) return obj def get_must_dependence(arg0): return arg0.must_dependence() def must_no_source(arg0): try: if not arg0.__class__ is union_flow: arg0 = union_flow(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_flow_get_must_no_source(arg0.ptr) obj = union_map(ctx=ctx, ptr=res) return obj def get_must_no_source(arg0): return arg0.must_no_source() isl.isl_union_flow_get_full_may_dependence.restype = c_void_p isl.isl_union_flow_get_full_may_dependence.argtypes = [c_void_p] isl.isl_union_flow_get_full_must_dependence.restype = c_void_p isl.isl_union_flow_get_full_must_dependence.argtypes = [c_void_p] isl.isl_union_flow_get_may_dependence.restype = c_void_p isl.isl_union_flow_get_may_dependence.argtypes = [c_void_p] isl.isl_union_flow_get_may_no_source.restype = c_void_p isl.isl_union_flow_get_may_no_source.argtypes = [c_void_p] isl.isl_union_flow_get_must_dependence.restype = c_void_p isl.isl_union_flow_get_must_dependence.argtypes = [c_void_p] isl.isl_union_flow_get_must_no_source.restype = c_void_p isl.isl_union_flow_get_must_no_source.argtypes = [c_void_p] isl.isl_union_flow_copy.restype = c_void_p isl.isl_union_flow_copy.argtypes = [c_void_p] isl.isl_union_flow_free.restype = c_void_p isl.isl_union_flow_free.argtypes = [c_void_p] isl.isl_union_flow_to_str.restype = POINTER(c_char) isl.isl_union_flow_to_str.argtypes = [c_void_p] class union_pw_aff_list(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and type(args[0]) == int: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_union_pw_aff_list_alloc(self.ctx, args[0]) return if len(args) == 1 and args[0].__class__ is union_pw_aff: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_union_pw_aff_list_from_union_pw_aff(isl.isl_union_pw_aff_copy(args[0].ptr)) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_union_pw_aff_list_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_union_pw_aff_list_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is union_pw_aff_list: arg0 = union_pw_aff_list(arg0) except: raise ptr = isl.isl_union_pw_aff_list_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.union_pw_aff_list("""%s""")' % s else: return 'isl.union_pw_aff_list("%s")' % s def add(arg0, arg1): try: if not arg0.__class__ is union_pw_aff_list: arg0 = union_pw_aff_list(arg0) except: raise try: if not arg1.__class__ is union_pw_aff: arg1 = union_pw_aff(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_pw_aff_list_add(isl.isl_union_pw_aff_list_copy(arg0.ptr), isl.isl_union_pw_aff_copy(arg1.ptr)) obj = union_pw_aff_list(ctx=ctx, ptr=res) return obj def at(arg0, arg1): try: if not arg0.__class__ is union_pw_aff_list: arg0 = union_pw_aff_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_pw_aff_list_get_at(arg0.ptr, arg1) obj = union_pw_aff(ctx=ctx, ptr=res) return obj def get_at(arg0, arg1): return arg0.at(arg1) def clear(arg0): try: if not arg0.__class__ is union_pw_aff_list: arg0 = union_pw_aff_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_pw_aff_list_clear(isl.isl_union_pw_aff_list_copy(arg0.ptr)) obj = union_pw_aff_list(ctx=ctx, ptr=res) return obj def concat(arg0, arg1): try: if not arg0.__class__ is union_pw_aff_list: arg0 = union_pw_aff_list(arg0) except: raise try: if not arg1.__class__ is union_pw_aff_list: arg1 = union_pw_aff_list(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_pw_aff_list_concat(isl.isl_union_pw_aff_list_copy(arg0.ptr), isl.isl_union_pw_aff_list_copy(arg1.ptr)) obj = union_pw_aff_list(ctx=ctx, ptr=res) return obj def drop(arg0, arg1, arg2): try: if not arg0.__class__ is union_pw_aff_list: arg0 = union_pw_aff_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_pw_aff_list_drop(isl.isl_union_pw_aff_list_copy(arg0.ptr), arg1, arg2) obj = union_pw_aff_list(ctx=ctx, ptr=res) return obj def foreach(arg0, arg1): try: if not arg0.__class__ is union_pw_aff_list: arg0 = union_pw_aff_list(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = union_pw_aff(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg1(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_union_pw_aff_list_foreach(arg0.ptr, cb1, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def foreach_scc(arg0, arg1, arg2): try: if not arg0.__class__ is union_pw_aff_list: arg0 = union_pw_aff_list(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1, cb_arg2): cb_arg0 = union_pw_aff(ctx=arg0.ctx, ptr=isl.isl_union_pw_aff_copy(cb_arg0)) cb_arg1 = union_pw_aff(ctx=arg0.ctx, ptr=isl.isl_union_pw_aff_copy(cb_arg1)) try: res = arg1(cb_arg0, cb_arg1) except BaseException as e: exc_info[0] = e return -1 return 1 if res else 0 cb1 = fn(cb_func) exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = union_pw_aff_list(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg2(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb2 = fn(cb_func) ctx = arg0.ctx res = isl.isl_union_pw_aff_list_foreach_scc(arg0.ptr, cb1, None, cb2, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def insert(arg0, arg1, arg2): try: if not arg0.__class__ is union_pw_aff_list: arg0 = union_pw_aff_list(arg0) except: raise try: if not arg2.__class__ is union_pw_aff: arg2 = union_pw_aff(arg2) except: raise ctx = arg0.ctx res = isl.isl_union_pw_aff_list_insert(isl.isl_union_pw_aff_list_copy(arg0.ptr), arg1, isl.isl_union_pw_aff_copy(arg2.ptr)) obj = union_pw_aff_list(ctx=ctx, ptr=res) return obj def set_at(arg0, arg1, arg2): try: if not arg0.__class__ is union_pw_aff_list: arg0 = union_pw_aff_list(arg0) except: raise try: if not arg2.__class__ is union_pw_aff: arg2 = union_pw_aff(arg2) except: raise ctx = arg0.ctx res = isl.isl_union_pw_aff_list_set_at(isl.isl_union_pw_aff_list_copy(arg0.ptr), arg1, isl.isl_union_pw_aff_copy(arg2.ptr)) obj = union_pw_aff_list(ctx=ctx, ptr=res) return obj def size(arg0): try: if not arg0.__class__ is union_pw_aff_list: arg0 = union_pw_aff_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_pw_aff_list_size(arg0.ptr) if res < 0: raise Error return int(res) isl.isl_union_pw_aff_list_alloc.restype = c_void_p isl.isl_union_pw_aff_list_alloc.argtypes = [Context, c_int] isl.isl_union_pw_aff_list_from_union_pw_aff.restype = c_void_p isl.isl_union_pw_aff_list_from_union_pw_aff.argtypes = [c_void_p] isl.isl_union_pw_aff_list_read_from_str.restype = c_void_p isl.isl_union_pw_aff_list_read_from_str.argtypes = [Context, c_char_p] isl.isl_union_pw_aff_list_add.restype = c_void_p isl.isl_union_pw_aff_list_add.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_aff_list_get_at.restype = c_void_p isl.isl_union_pw_aff_list_get_at.argtypes = [c_void_p, c_int] isl.isl_union_pw_aff_list_clear.restype = c_void_p isl.isl_union_pw_aff_list_clear.argtypes = [c_void_p] isl.isl_union_pw_aff_list_concat.restype = c_void_p isl.isl_union_pw_aff_list_concat.argtypes = [c_void_p, c_void_p] isl.isl_union_pw_aff_list_drop.restype = c_void_p isl.isl_union_pw_aff_list_drop.argtypes = [c_void_p, c_int, c_int] isl.isl_union_pw_aff_list_foreach.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_union_pw_aff_list_foreach_scc.argtypes = [c_void_p, c_void_p, c_void_p, c_void_p, c_void_p] isl.isl_union_pw_aff_list_insert.restype = c_void_p isl.isl_union_pw_aff_list_insert.argtypes = [c_void_p, c_int, c_void_p] isl.isl_union_pw_aff_list_set_at.restype = c_void_p isl.isl_union_pw_aff_list_set_at.argtypes = [c_void_p, c_int, c_void_p] isl.isl_union_pw_aff_list_size.argtypes = [c_void_p] isl.isl_union_pw_aff_list_copy.restype = c_void_p isl.isl_union_pw_aff_list_copy.argtypes = [c_void_p] isl.isl_union_pw_aff_list_free.restype = c_void_p isl.isl_union_pw_aff_list_free.argtypes = [c_void_p] isl.isl_union_pw_aff_list_to_str.restype = POINTER(c_char) isl.isl_union_pw_aff_list_to_str.argtypes = [c_void_p] class union_set_list(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and type(args[0]) == int: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_union_set_list_alloc(self.ctx, args[0]) return if len(args) == 1 and args[0].__class__ is union_set: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_union_set_list_from_union_set(isl.isl_union_set_copy(args[0].ptr)) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_union_set_list_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_union_set_list_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is union_set_list: arg0 = union_set_list(arg0) except: raise ptr = isl.isl_union_set_list_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.union_set_list("""%s""")' % s else: return 'isl.union_set_list("%s")' % s def add(arg0, arg1): try: if not arg0.__class__ is union_set_list: arg0 = union_set_list(arg0) except: raise try: if not arg1.__class__ is union_set: arg1 = union_set(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_set_list_add(isl.isl_union_set_list_copy(arg0.ptr), isl.isl_union_set_copy(arg1.ptr)) obj = union_set_list(ctx=ctx, ptr=res) return obj def at(arg0, arg1): try: if not arg0.__class__ is union_set_list: arg0 = union_set_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_set_list_get_at(arg0.ptr, arg1) obj = union_set(ctx=ctx, ptr=res) return obj def get_at(arg0, arg1): return arg0.at(arg1) def clear(arg0): try: if not arg0.__class__ is union_set_list: arg0 = union_set_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_set_list_clear(isl.isl_union_set_list_copy(arg0.ptr)) obj = union_set_list(ctx=ctx, ptr=res) return obj def concat(arg0, arg1): try: if not arg0.__class__ is union_set_list: arg0 = union_set_list(arg0) except: raise try: if not arg1.__class__ is union_set_list: arg1 = union_set_list(arg1) except: raise ctx = arg0.ctx res = isl.isl_union_set_list_concat(isl.isl_union_set_list_copy(arg0.ptr), isl.isl_union_set_list_copy(arg1.ptr)) obj = union_set_list(ctx=ctx, ptr=res) return obj def drop(arg0, arg1, arg2): try: if not arg0.__class__ is union_set_list: arg0 = union_set_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_set_list_drop(isl.isl_union_set_list_copy(arg0.ptr), arg1, arg2) obj = union_set_list(ctx=ctx, ptr=res) return obj def foreach(arg0, arg1): try: if not arg0.__class__ is union_set_list: arg0 = union_set_list(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = union_set(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg1(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_union_set_list_foreach(arg0.ptr, cb1, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def foreach_scc(arg0, arg1, arg2): try: if not arg0.__class__ is union_set_list: arg0 = union_set_list(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1, cb_arg2): cb_arg0 = union_set(ctx=arg0.ctx, ptr=isl.isl_union_set_copy(cb_arg0)) cb_arg1 = union_set(ctx=arg0.ctx, ptr=isl.isl_union_set_copy(cb_arg1)) try: res = arg1(cb_arg0, cb_arg1) except BaseException as e: exc_info[0] = e return -1 return 1 if res else 0 cb1 = fn(cb_func) exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = union_set_list(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg2(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb2 = fn(cb_func) ctx = arg0.ctx res = isl.isl_union_set_list_foreach_scc(arg0.ptr, cb1, None, cb2, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def insert(arg0, arg1, arg2): try: if not arg0.__class__ is union_set_list: arg0 = union_set_list(arg0) except: raise try: if not arg2.__class__ is union_set: arg2 = union_set(arg2) except: raise ctx = arg0.ctx res = isl.isl_union_set_list_insert(isl.isl_union_set_list_copy(arg0.ptr), arg1, isl.isl_union_set_copy(arg2.ptr)) obj = union_set_list(ctx=ctx, ptr=res) return obj def set_at(arg0, arg1, arg2): try: if not arg0.__class__ is union_set_list: arg0 = union_set_list(arg0) except: raise try: if not arg2.__class__ is union_set: arg2 = union_set(arg2) except: raise ctx = arg0.ctx res = isl.isl_union_set_list_set_at(isl.isl_union_set_list_copy(arg0.ptr), arg1, isl.isl_union_set_copy(arg2.ptr)) obj = union_set_list(ctx=ctx, ptr=res) return obj def size(arg0): try: if not arg0.__class__ is union_set_list: arg0 = union_set_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_union_set_list_size(arg0.ptr) if res < 0: raise Error return int(res) isl.isl_union_set_list_alloc.restype = c_void_p isl.isl_union_set_list_alloc.argtypes = [Context, c_int] isl.isl_union_set_list_from_union_set.restype = c_void_p isl.isl_union_set_list_from_union_set.argtypes = [c_void_p] isl.isl_union_set_list_read_from_str.restype = c_void_p isl.isl_union_set_list_read_from_str.argtypes = [Context, c_char_p] isl.isl_union_set_list_add.restype = c_void_p isl.isl_union_set_list_add.argtypes = [c_void_p, c_void_p] isl.isl_union_set_list_get_at.restype = c_void_p isl.isl_union_set_list_get_at.argtypes = [c_void_p, c_int] isl.isl_union_set_list_clear.restype = c_void_p isl.isl_union_set_list_clear.argtypes = [c_void_p] isl.isl_union_set_list_concat.restype = c_void_p isl.isl_union_set_list_concat.argtypes = [c_void_p, c_void_p] isl.isl_union_set_list_drop.restype = c_void_p isl.isl_union_set_list_drop.argtypes = [c_void_p, c_int, c_int] isl.isl_union_set_list_foreach.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_union_set_list_foreach_scc.argtypes = [c_void_p, c_void_p, c_void_p, c_void_p, c_void_p] isl.isl_union_set_list_insert.restype = c_void_p isl.isl_union_set_list_insert.argtypes = [c_void_p, c_int, c_void_p] isl.isl_union_set_list_set_at.restype = c_void_p isl.isl_union_set_list_set_at.argtypes = [c_void_p, c_int, c_void_p] isl.isl_union_set_list_size.argtypes = [c_void_p] isl.isl_union_set_list_copy.restype = c_void_p isl.isl_union_set_list_copy.argtypes = [c_void_p] isl.isl_union_set_list_free.restype = c_void_p isl.isl_union_set_list_free.argtypes = [c_void_p] isl.isl_union_set_list_to_str.restype = POINTER(c_char) isl.isl_union_set_list_to_str.argtypes = [c_void_p] class val(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and type(args[0]) == int: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_val_int_from_si(self.ctx, args[0]) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_val_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_val_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ptr = isl.isl_val_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.val("""%s""")' % s else: return 'isl.val("%s")' % s def abs(arg0): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_abs(isl.isl_val_copy(arg0.ptr)) obj = val(ctx=ctx, ptr=res) return obj def abs_eq(arg0, arg1): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise try: if not arg1.__class__ is val: arg1 = val(arg1) except: raise ctx = arg0.ctx res = isl.isl_val_abs_eq(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def add(arg0, arg1): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise try: if not arg1.__class__ is val: arg1 = val(arg1) except: raise ctx = arg0.ctx res = isl.isl_val_add(isl.isl_val_copy(arg0.ptr), isl.isl_val_copy(arg1.ptr)) obj = val(ctx=ctx, ptr=res) return obj def ceil(arg0): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_ceil(isl.isl_val_copy(arg0.ptr)) obj = val(ctx=ctx, ptr=res) return obj def cmp_si(arg0, arg1): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_cmp_si(arg0.ptr, arg1) return res def den_si(arg0): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_get_den_si(arg0.ptr) return res def get_den_si(arg0): return arg0.den_si() def div(arg0, arg1): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise try: if not arg1.__class__ is val: arg1 = val(arg1) except: raise ctx = arg0.ctx res = isl.isl_val_div(isl.isl_val_copy(arg0.ptr), isl.isl_val_copy(arg1.ptr)) obj = val(ctx=ctx, ptr=res) return obj def eq(arg0, arg1): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise try: if not arg1.__class__ is val: arg1 = val(arg1) except: raise ctx = arg0.ctx res = isl.isl_val_eq(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def floor(arg0): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_floor(isl.isl_val_copy(arg0.ptr)) obj = val(ctx=ctx, ptr=res) return obj def gcd(arg0, arg1): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise try: if not arg1.__class__ is val: arg1 = val(arg1) except: raise ctx = arg0.ctx res = isl.isl_val_gcd(isl.isl_val_copy(arg0.ptr), isl.isl_val_copy(arg1.ptr)) obj = val(ctx=ctx, ptr=res) return obj def ge(arg0, arg1): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise try: if not arg1.__class__ is val: arg1 = val(arg1) except: raise ctx = arg0.ctx res = isl.isl_val_ge(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def gt(arg0, arg1): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise try: if not arg1.__class__ is val: arg1 = val(arg1) except: raise ctx = arg0.ctx res = isl.isl_val_gt(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) @staticmethod def infty(): ctx = Context.getDefaultInstance() res = isl.isl_val_infty(ctx) obj = val(ctx=ctx, ptr=res) return obj def inv(arg0): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_inv(isl.isl_val_copy(arg0.ptr)) obj = val(ctx=ctx, ptr=res) return obj def is_divisible_by(arg0, arg1): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise try: if not arg1.__class__ is val: arg1 = val(arg1) except: raise ctx = arg0.ctx res = isl.isl_val_is_divisible_by(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def is_infty(arg0): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_is_infty(arg0.ptr) if res < 0: raise Error return bool(res) def is_int(arg0): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_is_int(arg0.ptr) if res < 0: raise Error return bool(res) def is_nan(arg0): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_is_nan(arg0.ptr) if res < 0: raise Error return bool(res) def is_neg(arg0): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_is_neg(arg0.ptr) if res < 0: raise Error return bool(res) def is_neginfty(arg0): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_is_neginfty(arg0.ptr) if res < 0: raise Error return bool(res) def is_negone(arg0): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_is_negone(arg0.ptr) if res < 0: raise Error return bool(res) def is_nonneg(arg0): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_is_nonneg(arg0.ptr) if res < 0: raise Error return bool(res) def is_nonpos(arg0): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_is_nonpos(arg0.ptr) if res < 0: raise Error return bool(res) def is_one(arg0): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_is_one(arg0.ptr) if res < 0: raise Error return bool(res) def is_pos(arg0): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_is_pos(arg0.ptr) if res < 0: raise Error return bool(res) def is_rat(arg0): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_is_rat(arg0.ptr) if res < 0: raise Error return bool(res) def is_zero(arg0): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_is_zero(arg0.ptr) if res < 0: raise Error return bool(res) def le(arg0, arg1): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise try: if not arg1.__class__ is val: arg1 = val(arg1) except: raise ctx = arg0.ctx res = isl.isl_val_le(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def lt(arg0, arg1): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise try: if not arg1.__class__ is val: arg1 = val(arg1) except: raise ctx = arg0.ctx res = isl.isl_val_lt(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def max(arg0, arg1): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise try: if not arg1.__class__ is val: arg1 = val(arg1) except: raise ctx = arg0.ctx res = isl.isl_val_max(isl.isl_val_copy(arg0.ptr), isl.isl_val_copy(arg1.ptr)) obj = val(ctx=ctx, ptr=res) return obj def min(arg0, arg1): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise try: if not arg1.__class__ is val: arg1 = val(arg1) except: raise ctx = arg0.ctx res = isl.isl_val_min(isl.isl_val_copy(arg0.ptr), isl.isl_val_copy(arg1.ptr)) obj = val(ctx=ctx, ptr=res) return obj def mod(arg0, arg1): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise try: if not arg1.__class__ is val: arg1 = val(arg1) except: raise ctx = arg0.ctx res = isl.isl_val_mod(isl.isl_val_copy(arg0.ptr), isl.isl_val_copy(arg1.ptr)) obj = val(ctx=ctx, ptr=res) return obj def mul(arg0, arg1): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise try: if not arg1.__class__ is val: arg1 = val(arg1) except: raise ctx = arg0.ctx res = isl.isl_val_mul(isl.isl_val_copy(arg0.ptr), isl.isl_val_copy(arg1.ptr)) obj = val(ctx=ctx, ptr=res) return obj @staticmethod def nan(): ctx = Context.getDefaultInstance() res = isl.isl_val_nan(ctx) obj = val(ctx=ctx, ptr=res) return obj def ne(arg0, arg1): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise try: if not arg1.__class__ is val: arg1 = val(arg1) except: raise ctx = arg0.ctx res = isl.isl_val_ne(arg0.ptr, arg1.ptr) if res < 0: raise Error return bool(res) def neg(arg0): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_neg(isl.isl_val_copy(arg0.ptr)) obj = val(ctx=ctx, ptr=res) return obj @staticmethod def neginfty(): ctx = Context.getDefaultInstance() res = isl.isl_val_neginfty(ctx) obj = val(ctx=ctx, ptr=res) return obj @staticmethod def negone(): ctx = Context.getDefaultInstance() res = isl.isl_val_negone(ctx) obj = val(ctx=ctx, ptr=res) return obj def num_si(arg0): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_get_num_si(arg0.ptr) return res def get_num_si(arg0): return arg0.num_si() @staticmethod def one(): ctx = Context.getDefaultInstance() res = isl.isl_val_one(ctx) obj = val(ctx=ctx, ptr=res) return obj def pow2(arg0): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_pow2(isl.isl_val_copy(arg0.ptr)) obj = val(ctx=ctx, ptr=res) return obj def sgn(arg0): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_sgn(arg0.ptr) return res def sub(arg0, arg1): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise try: if not arg1.__class__ is val: arg1 = val(arg1) except: raise ctx = arg0.ctx res = isl.isl_val_sub(isl.isl_val_copy(arg0.ptr), isl.isl_val_copy(arg1.ptr)) obj = val(ctx=ctx, ptr=res) return obj def to_list(arg0): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_to_list(isl.isl_val_copy(arg0.ptr)) obj = val_list(ctx=ctx, ptr=res) return obj def trunc(arg0): try: if not arg0.__class__ is val: arg0 = val(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_trunc(isl.isl_val_copy(arg0.ptr)) obj = val(ctx=ctx, ptr=res) return obj @staticmethod def zero(): ctx = Context.getDefaultInstance() res = isl.isl_val_zero(ctx) obj = val(ctx=ctx, ptr=res) return obj isl.isl_val_int_from_si.restype = c_void_p isl.isl_val_int_from_si.argtypes = [Context, c_long] isl.isl_val_read_from_str.restype = c_void_p isl.isl_val_read_from_str.argtypes = [Context, c_char_p] isl.isl_val_abs.restype = c_void_p isl.isl_val_abs.argtypes = [c_void_p] isl.isl_val_abs_eq.argtypes = [c_void_p, c_void_p] isl.isl_val_add.restype = c_void_p isl.isl_val_add.argtypes = [c_void_p, c_void_p] isl.isl_val_ceil.restype = c_void_p isl.isl_val_ceil.argtypes = [c_void_p] isl.isl_val_cmp_si.argtypes = [c_void_p, c_long] isl.isl_val_get_den_si.argtypes = [c_void_p] isl.isl_val_div.restype = c_void_p isl.isl_val_div.argtypes = [c_void_p, c_void_p] isl.isl_val_eq.argtypes = [c_void_p, c_void_p] isl.isl_val_floor.restype = c_void_p isl.isl_val_floor.argtypes = [c_void_p] isl.isl_val_gcd.restype = c_void_p isl.isl_val_gcd.argtypes = [c_void_p, c_void_p] isl.isl_val_ge.argtypes = [c_void_p, c_void_p] isl.isl_val_gt.argtypes = [c_void_p, c_void_p] isl.isl_val_infty.restype = c_void_p isl.isl_val_infty.argtypes = [Context] isl.isl_val_inv.restype = c_void_p isl.isl_val_inv.argtypes = [c_void_p] isl.isl_val_is_divisible_by.argtypes = [c_void_p, c_void_p] isl.isl_val_is_infty.argtypes = [c_void_p] isl.isl_val_is_int.argtypes = [c_void_p] isl.isl_val_is_nan.argtypes = [c_void_p] isl.isl_val_is_neg.argtypes = [c_void_p] isl.isl_val_is_neginfty.argtypes = [c_void_p] isl.isl_val_is_negone.argtypes = [c_void_p] isl.isl_val_is_nonneg.argtypes = [c_void_p] isl.isl_val_is_nonpos.argtypes = [c_void_p] isl.isl_val_is_one.argtypes = [c_void_p] isl.isl_val_is_pos.argtypes = [c_void_p] isl.isl_val_is_rat.argtypes = [c_void_p] isl.isl_val_is_zero.argtypes = [c_void_p] isl.isl_val_le.argtypes = [c_void_p, c_void_p] isl.isl_val_lt.argtypes = [c_void_p, c_void_p] isl.isl_val_max.restype = c_void_p isl.isl_val_max.argtypes = [c_void_p, c_void_p] isl.isl_val_min.restype = c_void_p isl.isl_val_min.argtypes = [c_void_p, c_void_p] isl.isl_val_mod.restype = c_void_p isl.isl_val_mod.argtypes = [c_void_p, c_void_p] isl.isl_val_mul.restype = c_void_p isl.isl_val_mul.argtypes = [c_void_p, c_void_p] isl.isl_val_nan.restype = c_void_p isl.isl_val_nan.argtypes = [Context] isl.isl_val_ne.argtypes = [c_void_p, c_void_p] isl.isl_val_neg.restype = c_void_p isl.isl_val_neg.argtypes = [c_void_p] isl.isl_val_neginfty.restype = c_void_p isl.isl_val_neginfty.argtypes = [Context] isl.isl_val_negone.restype = c_void_p isl.isl_val_negone.argtypes = [Context] isl.isl_val_get_num_si.argtypes = [c_void_p] isl.isl_val_one.restype = c_void_p isl.isl_val_one.argtypes = [Context] isl.isl_val_pow2.restype = c_void_p isl.isl_val_pow2.argtypes = [c_void_p] isl.isl_val_sgn.argtypes = [c_void_p] isl.isl_val_sub.restype = c_void_p isl.isl_val_sub.argtypes = [c_void_p, c_void_p] isl.isl_val_to_list.restype = c_void_p isl.isl_val_to_list.argtypes = [c_void_p] isl.isl_val_trunc.restype = c_void_p isl.isl_val_trunc.argtypes = [c_void_p] isl.isl_val_zero.restype = c_void_p isl.isl_val_zero.argtypes = [Context] isl.isl_val_copy.restype = c_void_p isl.isl_val_copy.argtypes = [c_void_p] isl.isl_val_free.restype = c_void_p isl.isl_val_free.argtypes = [c_void_p] isl.isl_val_to_str.restype = POINTER(c_char) isl.isl_val_to_str.argtypes = [c_void_p] class val_list(object): def __init__(self, *args, **keywords): if "ptr" in keywords: self.ctx = keywords["ctx"] self.ptr = keywords["ptr"] return if len(args) == 1 and type(args[0]) == int: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_val_list_alloc(self.ctx, args[0]) return if len(args) == 1 and (args[0].__class__ is val or type(args[0]) == int): args = list(args) try: if not args[0].__class__ is val: args[0] = val(args[0]) except: raise self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_val_list_from_val(isl.isl_val_copy(args[0].ptr)) return if len(args) == 1 and type(args[0]) == str: self.ctx = Context.getDefaultInstance() self.ptr = isl.isl_val_list_read_from_str(self.ctx, args[0].encode('ascii')) return raise Error def __del__(self): if hasattr(self, 'ptr'): isl.isl_val_list_free(self.ptr) def __str__(arg0): try: if not arg0.__class__ is val_list: arg0 = val_list(arg0) except: raise ptr = isl.isl_val_list_to_str(arg0.ptr) res = cast(ptr, c_char_p).value.decode('ascii') libc.free(ptr) return res def __repr__(self): s = str(self) if '"' in s: return 'isl.val_list("""%s""")' % s else: return 'isl.val_list("%s")' % s def add(arg0, arg1): try: if not arg0.__class__ is val_list: arg0 = val_list(arg0) except: raise try: if not arg1.__class__ is val: arg1 = val(arg1) except: raise ctx = arg0.ctx res = isl.isl_val_list_add(isl.isl_val_list_copy(arg0.ptr), isl.isl_val_copy(arg1.ptr)) obj = val_list(ctx=ctx, ptr=res) return obj def at(arg0, arg1): try: if not arg0.__class__ is val_list: arg0 = val_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_list_get_at(arg0.ptr, arg1) obj = val(ctx=ctx, ptr=res) return obj def get_at(arg0, arg1): return arg0.at(arg1) def clear(arg0): try: if not arg0.__class__ is val_list: arg0 = val_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_list_clear(isl.isl_val_list_copy(arg0.ptr)) obj = val_list(ctx=ctx, ptr=res) return obj def concat(arg0, arg1): try: if not arg0.__class__ is val_list: arg0 = val_list(arg0) except: raise try: if not arg1.__class__ is val_list: arg1 = val_list(arg1) except: raise ctx = arg0.ctx res = isl.isl_val_list_concat(isl.isl_val_list_copy(arg0.ptr), isl.isl_val_list_copy(arg1.ptr)) obj = val_list(ctx=ctx, ptr=res) return obj def drop(arg0, arg1, arg2): try: if not arg0.__class__ is val_list: arg0 = val_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_list_drop(isl.isl_val_list_copy(arg0.ptr), arg1, arg2) obj = val_list(ctx=ctx, ptr=res) return obj def foreach(arg0, arg1): try: if not arg0.__class__ is val_list: arg0 = val_list(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = val(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg1(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb1 = fn(cb_func) ctx = arg0.ctx res = isl.isl_val_list_foreach(arg0.ptr, cb1, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def foreach_scc(arg0, arg1, arg2): try: if not arg0.__class__ is val_list: arg0 = val_list(arg0) except: raise exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1, cb_arg2): cb_arg0 = val(ctx=arg0.ctx, ptr=isl.isl_val_copy(cb_arg0)) cb_arg1 = val(ctx=arg0.ctx, ptr=isl.isl_val_copy(cb_arg1)) try: res = arg1(cb_arg0, cb_arg1) except BaseException as e: exc_info[0] = e return -1 return 1 if res else 0 cb1 = fn(cb_func) exc_info = [None] fn = CFUNCTYPE(c_int, c_void_p, c_void_p) def cb_func(cb_arg0, cb_arg1): cb_arg0 = val_list(ctx=arg0.ctx, ptr=(cb_arg0)) try: arg2(cb_arg0) except BaseException as e: exc_info[0] = e return -1 return 0 cb2 = fn(cb_func) ctx = arg0.ctx res = isl.isl_val_list_foreach_scc(arg0.ptr, cb1, None, cb2, None) if exc_info[0] is not None: raise exc_info[0] if res < 0: raise Error def insert(arg0, arg1, arg2): try: if not arg0.__class__ is val_list: arg0 = val_list(arg0) except: raise try: if not arg2.__class__ is val: arg2 = val(arg2) except: raise ctx = arg0.ctx res = isl.isl_val_list_insert(isl.isl_val_list_copy(arg0.ptr), arg1, isl.isl_val_copy(arg2.ptr)) obj = val_list(ctx=ctx, ptr=res) return obj def set_at(arg0, arg1, arg2): try: if not arg0.__class__ is val_list: arg0 = val_list(arg0) except: raise try: if not arg2.__class__ is val: arg2 = val(arg2) except: raise ctx = arg0.ctx res = isl.isl_val_list_set_at(isl.isl_val_list_copy(arg0.ptr), arg1, isl.isl_val_copy(arg2.ptr)) obj = val_list(ctx=ctx, ptr=res) return obj def size(arg0): try: if not arg0.__class__ is val_list: arg0 = val_list(arg0) except: raise ctx = arg0.ctx res = isl.isl_val_list_size(arg0.ptr) if res < 0: raise Error return int(res) isl.isl_val_list_alloc.restype = c_void_p isl.isl_val_list_alloc.argtypes = [Context, c_int] isl.isl_val_list_from_val.restype = c_void_p isl.isl_val_list_from_val.argtypes = [c_void_p] isl.isl_val_list_read_from_str.restype = c_void_p isl.isl_val_list_read_from_str.argtypes = [Context, c_char_p] isl.isl_val_list_add.restype = c_void_p isl.isl_val_list_add.argtypes = [c_void_p, c_void_p] isl.isl_val_list_get_at.restype = c_void_p isl.isl_val_list_get_at.argtypes = [c_void_p, c_int] isl.isl_val_list_clear.restype = c_void_p isl.isl_val_list_clear.argtypes = [c_void_p] isl.isl_val_list_concat.restype = c_void_p isl.isl_val_list_concat.argtypes = [c_void_p, c_void_p] isl.isl_val_list_drop.restype = c_void_p isl.isl_val_list_drop.argtypes = [c_void_p, c_int, c_int] isl.isl_val_list_foreach.argtypes = [c_void_p, c_void_p, c_void_p] isl.isl_val_list_foreach_scc.argtypes = [c_void_p, c_void_p, c_void_p, c_void_p, c_void_p] isl.isl_val_list_insert.restype = c_void_p isl.isl_val_list_insert.argtypes = [c_void_p, c_int, c_void_p] isl.isl_val_list_set_at.restype = c_void_p isl.isl_val_list_set_at.argtypes = [c_void_p, c_int, c_void_p] isl.isl_val_list_size.argtypes = [c_void_p] isl.isl_val_list_copy.restype = c_void_p isl.isl_val_list_copy.argtypes = [c_void_p] isl.isl_val_list_free.restype = c_void_p isl.isl_val_list_free.argtypes = [c_void_p] isl.isl_val_list_to_str.restype = POINTER(c_char) isl.isl_val_list_to_str.argtypes = [c_void_p]