X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;ds=sidebyside;f=include%2Fisl%2Fset.h;h=ce816b1d727f96ba951dc624c23538785fe2de3a;hb=56b7d238929980e62218525b4b3be121af386edf;hp=026adc3e6ab44110b7bc193d9ff73c94ff9c47cf;hpb=71bcb7b17a14345bf958673c1f051e920d3de3ea;p=platform%2Fupstream%2Fisl.git diff --git a/include/isl/set.h b/include/isl/set.h index 026adc3..ce816b1 100644 --- a/include/isl/set.h +++ b/include/isl/set.h @@ -21,24 +21,25 @@ extern "C" { #endif -unsigned isl_basic_set_n_dim(const struct isl_basic_set *bset); -unsigned isl_basic_set_n_param(const struct isl_basic_set *bset); +unsigned isl_basic_set_n_dim(__isl_keep isl_basic_set *bset); +unsigned isl_basic_set_n_param(__isl_keep isl_basic_set *bset); unsigned isl_basic_set_total_dim(const struct isl_basic_set *bset); -unsigned isl_basic_set_dim(const struct isl_basic_set *bset, +unsigned isl_basic_set_dim(__isl_keep isl_basic_set *bset, enum isl_dim_type type); -unsigned isl_set_n_dim(const struct isl_set *set); -unsigned isl_set_n_param(const struct isl_set *set); -unsigned isl_set_dim(const struct isl_set *set, enum isl_dim_type type); +unsigned isl_set_n_dim(__isl_keep isl_set *set); +unsigned isl_set_n_param(__isl_keep isl_set *set); +unsigned isl_set_dim(__isl_keep isl_set *set, enum isl_dim_type type); isl_ctx *isl_basic_set_get_ctx(__isl_keep isl_basic_set *bset); isl_ctx *isl_set_get_ctx(__isl_keep isl_set *set); -__isl_give isl_dim *isl_basic_set_get_dim(__isl_keep isl_basic_set *bset); -__isl_give isl_dim *isl_set_get_dim(__isl_keep isl_set *set); -__isl_give isl_set *isl_set_reset_dim(__isl_take isl_set *set, - __isl_take isl_dim *dim); +__isl_give isl_space *isl_basic_set_get_space(__isl_keep isl_basic_set *bset); +__isl_give isl_space *isl_set_get_space(__isl_keep isl_set *set); +__isl_give isl_set *isl_set_reset_space(__isl_take isl_set *set, + __isl_take isl_space *dim); -struct isl_div *isl_basic_set_div(struct isl_basic_set *bset, int pos); +__isl_give isl_aff *isl_basic_set_get_div(__isl_keep isl_basic_set *bset, + int pos); __isl_give isl_local_space *isl_basic_set_get_local_space( __isl_keep isl_basic_set *bset); @@ -59,6 +60,21 @@ const char *isl_set_get_dim_name(__isl_keep isl_set *set, __isl_give isl_set *isl_set_set_dim_name(__isl_take isl_set *set, enum isl_dim_type type, unsigned pos, const char *s); +__isl_give isl_set *isl_set_set_dim_id(__isl_take isl_set *set, + enum isl_dim_type type, unsigned pos, __isl_take isl_id *id); +int isl_set_has_dim_id(__isl_keep isl_set *set, + enum isl_dim_type type, unsigned pos); +__isl_give isl_id *isl_set_get_dim_id(__isl_keep isl_set *set, + enum isl_dim_type type, unsigned pos); +__isl_give isl_set *isl_set_set_tuple_id(__isl_take isl_set *set, + __isl_take isl_id *id); +__isl_give isl_set *isl_set_reset_tuple_id(__isl_take isl_set *set); +int isl_set_has_tuple_id(__isl_keep isl_set *set); +__isl_give isl_id *isl_set_get_tuple_id(__isl_keep isl_set *set); + +int isl_set_find_dim_by_id(__isl_keep isl_set *set, enum isl_dim_type type, + __isl_keep isl_id *id); + int isl_basic_set_is_rational(__isl_keep isl_basic_set *bset); struct isl_basic_set *isl_basic_set_alloc(struct isl_ctx *ctx, @@ -73,16 +89,17 @@ struct isl_basic_set *isl_basic_set_finalize(struct isl_basic_set *bset); void isl_basic_set_free(__isl_take isl_basic_set *bset); __isl_give isl_basic_set *isl_basic_set_copy(__isl_keep isl_basic_set *bset); struct isl_basic_set *isl_basic_set_dup(struct isl_basic_set *bset); -__isl_give isl_basic_set *isl_basic_set_empty(__isl_take isl_dim *dim); +__isl_give isl_basic_set *isl_basic_set_empty(__isl_take isl_space *dim); struct isl_basic_set *isl_basic_set_empty_like(struct isl_basic_set *bset); -__isl_give isl_basic_set *isl_basic_set_universe(__isl_take isl_dim *dim); -__isl_give isl_basic_set *isl_basic_set_nat_universe(__isl_take isl_dim *dim); +__isl_give isl_basic_set *isl_basic_set_universe(__isl_take isl_space *dim); +__isl_give isl_basic_set *isl_basic_set_nat_universe(__isl_take isl_space *dim); struct isl_basic_set *isl_basic_set_universe_like(struct isl_basic_set *bset); __isl_give isl_basic_set *isl_basic_set_universe_like_set( __isl_keep isl_set *model); struct isl_basic_set *isl_basic_set_interval(struct isl_ctx *ctx, isl_int min, isl_int max); -struct isl_basic_set *isl_basic_set_positive_orthant(struct isl_dim *dims); +__isl_give isl_basic_set *isl_basic_set_positive_orthant( + __isl_take isl_space *space); void isl_basic_set_print_internal(__isl_keep isl_basic_set *bset, FILE *out, int indent); __isl_give isl_basic_set *isl_basic_set_intersect( @@ -106,13 +123,11 @@ __isl_give isl_basic_set *isl_basic_set_list_product( __isl_take struct isl_basic_set_list *list); __isl_give isl_basic_set *isl_basic_set_read_from_file(isl_ctx *ctx, - FILE *input, int nparam); + FILE *input); __isl_give isl_basic_set *isl_basic_set_read_from_str(isl_ctx *ctx, - const char *str, int nparam); -__isl_give isl_set *isl_set_read_from_file(isl_ctx *ctx, - FILE *input, int nparam); -__isl_give isl_set *isl_set_read_from_str(isl_ctx *ctx, - const char *str, int nparam); + const char *str); +__isl_give isl_set *isl_set_read_from_file(isl_ctx *ctx, FILE *input); +__isl_give isl_set *isl_set_read_from_str(isl_ctx *ctx, const char *str); void isl_basic_set_dump(__isl_keep isl_basic_set *bset); void isl_set_dump(__isl_keep isl_set *set); __isl_give isl_printer *isl_printer_print_basic_set( @@ -132,6 +147,9 @@ __isl_give isl_set *isl_set_fix_si(__isl_take isl_set *set, __isl_give isl_set *isl_set_lower_bound_si(__isl_take isl_set *set, enum isl_dim_type type, unsigned pos, int value); +__isl_give isl_set *isl_set_equate(__isl_take isl_set *set, + enum isl_dim_type type1, int pos1, enum isl_dim_type type2, int pos2); + struct isl_basic_set *isl_basic_set_from_underlying_set( struct isl_basic_set *bset, struct isl_basic_set *like); struct isl_set *isl_set_from_underlying_set( @@ -171,6 +189,9 @@ int isl_basic_set_compare_at(struct isl_basic_set *bset1, int isl_set_follows_at(__isl_keep isl_set *set1, __isl_keep isl_set *set2, int pos); +__isl_give isl_basic_set *isl_basic_set_params(__isl_take isl_basic_set *bset); +__isl_give isl_set *isl_set_params(__isl_take isl_set *set); + int isl_basic_set_dims_get_sign(__isl_keep isl_basic_set *bset, enum isl_dim_type type, unsigned pos, unsigned n, int *signs); @@ -184,10 +205,10 @@ struct isl_set *isl_set_alloc(struct isl_ctx *ctx, unsigned nparam, unsigned dim, int n, unsigned flags); struct isl_set *isl_set_extend(struct isl_set *base, unsigned nparam, unsigned dim); -__isl_give isl_set *isl_set_empty(__isl_take isl_dim *dim); +__isl_give isl_set *isl_set_empty(__isl_take isl_space *dim); struct isl_set *isl_set_empty_like(struct isl_set *set); -__isl_give isl_set *isl_set_universe(__isl_take isl_dim *dim); -__isl_give isl_set *isl_set_nat_universe(__isl_take isl_dim *dim); +__isl_give isl_set *isl_set_universe(__isl_take isl_space *dim); +__isl_give isl_set *isl_set_nat_universe(__isl_take isl_space *dim); __isl_give isl_set *isl_set_universe_like(__isl_keep isl_set *model); __isl_give isl_set *isl_set_add_basic_set(__isl_take isl_set *set, __isl_take isl_basic_set *bset); @@ -236,7 +257,7 @@ struct isl_set *isl_set_fix_dim_si(struct isl_set *set, unsigned dim, int value); struct isl_set *isl_set_lower_bound_dim(struct isl_set *set, unsigned dim, isl_int value); -__isl_give isl_set *isl_set_insert(__isl_take isl_set *set, +__isl_give isl_set *isl_set_insert_dims(__isl_take isl_set *set, enum isl_dim_type type, unsigned pos, unsigned n); __isl_give isl_basic_set *isl_basic_set_add(__isl_take isl_basic_set *bset, enum isl_dim_type type, unsigned n); @@ -278,6 +299,7 @@ int isl_set_plain_is_empty(__isl_keep isl_set *set); int isl_set_fast_is_empty(__isl_keep isl_set *set); int isl_set_plain_is_universe(__isl_keep isl_set *set); int isl_set_fast_is_universe(__isl_keep isl_set *set); +int isl_set_is_params(__isl_keep isl_set *set); int isl_set_is_empty(__isl_keep isl_set *set); int isl_set_is_bounded(__isl_keep isl_set *set); int isl_set_is_subset(__isl_keep isl_set *set1, __isl_keep isl_set *set2); @@ -285,7 +307,7 @@ int isl_set_is_strict_subset(__isl_keep isl_set *set1, __isl_keep isl_set *set2) int isl_set_is_equal(__isl_keep isl_set *set1, __isl_keep isl_set *set2); int isl_set_is_singleton(__isl_keep isl_set *set); int isl_set_is_box(__isl_keep isl_set *set); -int isl_set_has_equal_dim(__isl_keep isl_set *set1, __isl_keep isl_set *set2); +int isl_set_has_equal_space(__isl_keep isl_set *set1, __isl_keep isl_set *set2); __isl_give isl_set *isl_set_sum(__isl_take isl_set *set1, __isl_take isl_set *set2); @@ -312,6 +334,10 @@ int isl_set_plain_dim_has_fixed_lower_bound(__isl_keep isl_set *set, unsigned dim, isl_int *val); int isl_set_dim_is_bounded(__isl_keep isl_set *set, enum isl_dim_type type, unsigned pos); +int isl_set_dim_has_lower_bound(__isl_keep isl_set *set, + enum isl_dim_type type, unsigned pos); +int isl_set_dim_has_upper_bound(__isl_keep isl_set *set, + enum isl_dim_type type, unsigned pos); __isl_give isl_basic_set *isl_basic_set_gist(__isl_take isl_basic_set *bset, __isl_take isl_basic_set *context); @@ -319,6 +345,8 @@ __isl_give isl_set *isl_set_gist_basic_set(__isl_take isl_set *set, __isl_take isl_basic_set *context); __isl_give isl_set *isl_set_gist(__isl_take isl_set *set, __isl_take isl_set *context); +__isl_give isl_set *isl_set_gist_params(__isl_take isl_set *set, + __isl_take isl_set *context); int isl_basic_set_dim_residue_class(struct isl_basic_set *bset, int pos, isl_int *modulo, isl_int *residue); int isl_set_dim_residue_class(struct isl_set *set, @@ -370,7 +398,7 @@ __isl_give isl_map *isl_set_lex_gt_set(__isl_take isl_set *set1, int isl_set_size(__isl_keep isl_set *set); __isl_give isl_set *isl_set_align_params(__isl_take isl_set *set, - __isl_take isl_dim *model); + __isl_take isl_space *model); __isl_give isl_mat *isl_basic_set_equalities_matrix( __isl_keep isl_basic_set *bset, enum isl_dim_type c1, @@ -379,7 +407,7 @@ __isl_give isl_mat *isl_basic_set_inequalities_matrix( __isl_keep isl_basic_set *bset, enum isl_dim_type c1, enum isl_dim_type c2, enum isl_dim_type c3, enum isl_dim_type c4); __isl_give isl_basic_set *isl_basic_set_from_constraint_matrices( - __isl_take isl_dim *dim, + __isl_take isl_space *dim, __isl_take isl_mat *eq, __isl_take isl_mat *ineq, enum isl_dim_type c1, enum isl_dim_type c2, enum isl_dim_type c3, enum isl_dim_type c4); @@ -393,9 +421,12 @@ __isl_give isl_basic_set *isl_basic_set_solutions( __isl_give isl_basic_set *isl_set_solutions(__isl_take isl_set *set); __isl_give isl_pw_aff *isl_set_dim_max(__isl_take isl_set *set, int pos); +__isl_give isl_pw_aff *isl_set_dim_min(__isl_take isl_set *set, int pos); #if defined(__cplusplus) } #endif +#include + #endif