X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=isl_map_private.h;h=93010dfcd7764eba153006a2f401da71f4f3ba1f;hb=63fb8a7f484648c3caa25351c8c94ac2395ec563;hp=f3202c0cc2593a50dbdfc9c37fee7948a7922406;hpb=589fefc83fa2321d3f05b2ee500839a65c46c1b2;p=platform%2Fupstream%2Fisl.git diff --git a/isl_map_private.h b/isl_map_private.h index f3202c0..93010df 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 @@ -13,6 +13,10 @@ #define isl_basic_set isl_basic_map #define isl_set isl_map #define isl_basic_set_list isl_basic_map_list +#define isl_set_list isl_map_list +#include +ISL_DECLARE_LIST(basic_map) +ISL_DECLARE_LIST(map) #include #include #include @@ -70,6 +74,11 @@ struct isl_basic_map { struct isl_blk block2; }; +#undef EL +#define EL isl_basic_set + +#include + /* A "map" is a (possibly disjoint) union of basic maps. * A "set" is a (possibly disjoint) union of basic sets. * @@ -95,6 +104,11 @@ struct isl_map { struct isl_basic_map *p[1]; }; +#undef EL +#define EL isl_set + +#include + __isl_give isl_map *isl_map_realign(__isl_take isl_map *map, __isl_take isl_reordering *r); __isl_give isl_set *isl_set_realign(__isl_take isl_set *set, @@ -193,6 +207,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( @@ -201,8 +218,6 @@ __isl_give isl_basic_set *isl_basic_set_sort_constraints( __isl_take isl_basic_set *bset); int isl_basic_map_plain_cmp(const __isl_keep isl_basic_map *bmap1, const __isl_keep isl_basic_map *bmap2); -int isl_set_plain_cmp(const __isl_keep isl_set *set1, - const __isl_keep isl_set *set2); int isl_basic_set_plain_is_equal(__isl_keep isl_basic_set *bset1, __isl_keep isl_basic_set *bset2); int isl_basic_map_plain_is_equal(__isl_keep isl_basic_map *bmap1, @@ -267,10 +282,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, @@ -300,6 +319,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); @@ -309,6 +330,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)); @@ -317,6 +339,9 @@ __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, @@ -330,4 +355,13 @@ int isl_basic_set_foreach_lexopt(__isl_keep isl_basic_set *bset, int max, __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