X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=isl_map_private.h;h=5da97beb7f20b3de41f9b6220fc6c29483039779;hb=de51a9bc4da5dd3f1f9f57c2362da6f9752c44e0;hp=2514339f389455e55b99a4bb2a3d1870b5fe9255;hpb=14102905bbd16f8e0a8342a4dd6e1433a7abacaf;p=platform%2Fupstream%2Fisl.git diff --git a/isl_map_private.h b/isl_map_private.h index 2514339..5da97be 100644 --- a/isl_map_private.h +++ b/isl_map_private.h @@ -1,7 +1,7 @@ /* * Copyright 2008-2009 Katholieke Universiteit Leuven * - * Use of this software is governed by the GNU LGPLv2.1 license + * Use of this software is governed by the MIT license * * Written by Sven Verdoolaege, K.U.Leuven, Departement * Computerwetenschappen, Celestijnenlaan 200A, B-3001 Leuven, Belgium @@ -50,7 +50,7 @@ struct isl_basic_map { struct isl_ctx *ctx; - struct isl_dim *dim; + isl_space *dim; unsigned extra; unsigned n_eq; @@ -87,7 +87,7 @@ struct isl_map { struct isl_ctx *ctx; - struct isl_dim *dim; + isl_space *dim; int n; @@ -103,12 +103,12 @@ __isl_give isl_set *isl_set_realign(__isl_take isl_set *set, __isl_give isl_map *isl_map_reset(__isl_take isl_map *map, enum isl_dim_type type); -__isl_give isl_basic_set *isl_basic_set_reset_dim( - __isl_take isl_basic_set *bset, __isl_take isl_dim *dim); -__isl_give isl_basic_map *isl_basic_map_reset_dim( - __isl_take isl_basic_map *bmap, __isl_take isl_dim *dim); -__isl_give isl_map *isl_map_reset_dim(__isl_take isl_map *map, - __isl_take isl_dim *dim); +__isl_give isl_basic_set *isl_basic_set_reset_space( + __isl_take isl_basic_set *bset, __isl_take isl_space *dim); +__isl_give isl_basic_map *isl_basic_map_reset_space( + __isl_take isl_basic_map *bmap, __isl_take isl_space *dim); +__isl_give isl_map *isl_map_reset_space(__isl_take isl_map *map, + __isl_take isl_space *dim); unsigned isl_basic_map_offset(struct isl_basic_map *bmap, enum isl_dim_type type); @@ -123,11 +123,11 @@ int isl_basic_map_compatible_domain(struct isl_basic_map *bmap, int isl_basic_map_compatible_range(struct isl_basic_map *bmap, struct isl_basic_set *bset); -struct isl_basic_map *isl_basic_map_extend_dim(struct isl_basic_map *base, - struct isl_dim *dim, unsigned extra, +struct isl_basic_map *isl_basic_map_extend_space(struct isl_basic_map *base, + __isl_take isl_space *dim, unsigned extra, unsigned n_eq, unsigned n_ineq); -struct isl_basic_set *isl_basic_set_extend_dim(struct isl_basic_set *base, - struct isl_dim *dim, unsigned extra, +struct isl_basic_set *isl_basic_set_extend_space(struct isl_basic_set *base, + __isl_take isl_space *dim, unsigned extra, unsigned n_eq, unsigned n_ineq); struct isl_basic_set *isl_basic_set_add_constraints(struct isl_basic_set *bset1, struct isl_basic_set *bset2, unsigned pos); @@ -138,12 +138,14 @@ struct isl_set *isl_set_grow(struct isl_set *set, int n); int isl_basic_set_contains(struct isl_basic_set *bset, struct isl_vec *vec); int isl_basic_map_contains(struct isl_basic_map *bmap, struct isl_vec *vec); -struct isl_basic_set *isl_basic_set_alloc_dim(struct isl_dim *dim, +__isl_give isl_basic_set *isl_basic_set_alloc_space(__isl_take isl_space *dim, unsigned extra, unsigned n_eq, unsigned n_ineq); -struct isl_set *isl_set_alloc_dim(struct isl_dim *dim, int n, unsigned flags); -struct isl_basic_map *isl_basic_map_alloc_dim(struct isl_dim *dim, +__isl_give isl_set *isl_set_alloc_space(__isl_take isl_space *dim, int n, + unsigned flags); +__isl_give isl_basic_map *isl_basic_map_alloc_space(__isl_take isl_space *dim, unsigned extra, unsigned n_eq, unsigned n_ineq); -struct isl_map *isl_map_alloc_dim(struct isl_dim *dim, int n, unsigned flags); +__isl_give isl_map *isl_map_alloc_space(__isl_take isl_space *dim, int n, + unsigned flags); unsigned isl_basic_map_total_dim(const struct isl_basic_map *bmap); @@ -191,6 +193,9 @@ struct isl_basic_map *isl_basic_map_align_divs( struct isl_basic_map *dst, struct isl_basic_map *src); struct isl_basic_set *isl_basic_set_align_divs( struct isl_basic_set *dst, struct isl_basic_set *src); +__isl_give isl_basic_map *isl_basic_map_sort_divs( + __isl_take isl_basic_map *bmap); +__isl_give isl_map *isl_map_sort_divs(__isl_take isl_map *map); struct isl_basic_map *isl_basic_map_gauss( struct isl_basic_map *bmap, int *progress); struct isl_basic_set *isl_basic_set_gauss( @@ -263,10 +268,14 @@ struct isl_basic_set *isl_basic_set_recession_cone(struct isl_basic_set *bset); struct isl_basic_set *isl_basic_set_lineality_space(struct isl_basic_set *bset); struct isl_basic_set *isl_basic_set_set_rational(struct isl_basic_set *bset); +__isl_give isl_set *isl_set_set_rational(__isl_take isl_set *set); __isl_give isl_basic_map *isl_basic_map_set_rational( __isl_take isl_basic_map *bmap); __isl_give isl_map *isl_map_set_rational(__isl_take isl_map *map); +int isl_map_has_rational(__isl_keep isl_map *map); +int isl_set_has_rational(__isl_keep isl_set *set); + struct isl_mat; struct isl_basic_set *isl_basic_set_preimage(struct isl_basic_set *bset, @@ -296,6 +305,8 @@ int isl_basic_set_add_div_constraints_var(__isl_keep isl_basic_set *bset, unsigned pos, isl_int *div); int isl_basic_map_is_div_constraint(__isl_keep isl_basic_map *bmap, isl_int *constraint, unsigned div); +int isl_basic_set_is_div_constraint(__isl_keep isl_basic_set *bset, + isl_int *constraint, unsigned div); __isl_give isl_basic_set *isl_basic_set_from_local_space( __isl_take isl_local_space *ls); @@ -305,6 +316,7 @@ __isl_give isl_basic_set *isl_basic_set_expand_divs( __isl_take isl_basic_set *bset, __isl_take isl_mat *div, int *exp); int isl_basic_map_divs_known(__isl_keep isl_basic_map *bmap); +__isl_give isl_mat *isl_basic_map_get_divs(__isl_keep isl_basic_map *bmap); __isl_give isl_map *isl_map_inline_foreach_basic_map(__isl_take isl_map *map, __isl_give isl_basic_map *(*fn)(__isl_take isl_basic_map *bmap)); @@ -313,5 +325,29 @@ __isl_give isl_map *isl_map_align_params_map_map_and( __isl_take isl_map *map1, __isl_take isl_map *map2, __isl_give isl_map *(*fn)(__isl_take isl_map *map1, __isl_take isl_map *map2)); +int isl_map_align_params_map_map_and_test(__isl_keep isl_map *map1, + __isl_keep isl_map *map2, + int (*fn)(__isl_keep isl_map *map1, __isl_keep isl_map *map2)); + +int isl_basic_map_foreach_lexopt(__isl_keep isl_basic_map *bmap, int max, + int (*fn)(__isl_take isl_basic_set *dom, __isl_take isl_aff_list *list, + void *user), + void *user); +int isl_basic_set_foreach_lexopt(__isl_keep isl_basic_set *bset, int max, + int (*fn)(__isl_take isl_basic_set *dom, __isl_take isl_aff_list *list, + void *user), + void *user); + +__isl_give isl_set *isl_set_substitute(__isl_take isl_set *set, + enum isl_dim_type type, unsigned pos, __isl_keep isl_aff *subs); + +__isl_give isl_set *isl_set_gist_params_basic_set(__isl_take isl_set *set, + __isl_take isl_basic_set *context); + +int isl_map_compatible_range(__isl_keep isl_map *map, __isl_keep isl_set *set); + +int isl_basic_map_plain_is_single_valued(__isl_keep isl_basic_map *bmap); + +int isl_map_is_set(__isl_keep isl_map *map); #endif