X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=isl_aff_private.h;h=e89b36caad19b2c1f583b2570534ad93aa3ee1e0;hb=63fb8a7f484648c3caa25351c8c94ac2395ec563;hp=54705f68ce919faf12a324578b09e56cf604f619;hpb=0d458c47aefdc037512282a3250de99d9d24b8c9;p=platform%2Fupstream%2Fisl.git diff --git a/isl_aff_private.h b/isl_aff_private.h index 54705f6..e89b36c 100644 --- a/isl_aff_private.h +++ b/isl_aff_private.h @@ -5,6 +5,7 @@ #include #include #include +#include /* ls represents the domain space. */ @@ -15,6 +16,11 @@ struct isl_aff { isl_vec *v; }; +#undef EL +#define EL isl_aff + +#include + struct isl_pw_aff_piece { struct isl_set *set; struct isl_aff *aff; @@ -31,6 +37,27 @@ struct isl_pw_aff { struct isl_pw_aff_piece p[1]; }; +#undef EL +#define EL isl_pw_aff + +#include + +struct isl_pw_multi_aff_piece { + isl_set *set; + isl_multi_aff *maff; +}; + +struct isl_pw_multi_aff { + int ref; + + isl_space *dim; + + int n; + + size_t size; + struct isl_pw_multi_aff_piece p[1]; +}; + __isl_give isl_aff *isl_aff_alloc(__isl_take isl_local_space *ls); __isl_give isl_aff *isl_aff_reset_space_and_domain(__isl_take isl_aff *aff, @@ -40,9 +67,13 @@ __isl_give isl_aff *isl_aff_reset_domain_space(__isl_take isl_aff *aff, __isl_give isl_aff *isl_aff_realign_domain(__isl_take isl_aff *aff, __isl_take isl_reordering *r); +__isl_give isl_aff *isl_aff_normalize(__isl_take isl_aff *aff); + __isl_give isl_aff *isl_aff_expand_divs( __isl_take isl_aff *aff, __isl_take isl_mat *div, int *exp); +__isl_give isl_pw_aff *isl_pw_aff_alloc_size(__isl_take isl_space *space, + int n); __isl_give isl_pw_aff *isl_pw_aff_reset_space(__isl_take isl_pw_aff *pwaff, __isl_take isl_space *dim); __isl_give isl_pw_aff *isl_pw_aff_reset_domain_space( @@ -53,4 +84,51 @@ __isl_give isl_pw_aff *isl_pw_aff_add_disjoint( __isl_give isl_pw_aff *isl_pw_aff_union_opt(__isl_take isl_pw_aff *pwaff1, __isl_take isl_pw_aff *pwaff2, int max); +__isl_give isl_pw_aff *isl_pw_aff_set_rational(__isl_take isl_pw_aff *pwaff); +__isl_give isl_pw_aff_list *isl_pw_aff_list_set_rational( + __isl_take isl_pw_aff_list *list); + +int isl_aff_check_match_domain_space(__isl_keep isl_aff *aff, + __isl_keep isl_space *space); + +#undef BASE +#define BASE aff + +#include + +__isl_give isl_multi_aff *isl_multi_aff_dup(__isl_keep isl_multi_aff *multi); + +__isl_give isl_multi_aff *isl_multi_aff_align_divs( + __isl_take isl_multi_aff *maff); + +__isl_give isl_pw_multi_aff *isl_pw_multi_aff_reset_domain_space( + __isl_take isl_pw_multi_aff *pwmaff, __isl_take isl_space *space); +__isl_give isl_pw_multi_aff *isl_pw_multi_aff_reset_space( + __isl_take isl_pw_multi_aff *pwmaff, __isl_take isl_space *space); +__isl_give isl_pw_multi_aff *isl_pw_multi_aff_add_disjoint( + __isl_take isl_pw_multi_aff *pma1, __isl_take isl_pw_multi_aff *pma2); + +__isl_give isl_pw_multi_aff *isl_pw_multi_aff_project_out( + __isl_take isl_pw_multi_aff *pma, + enum isl_dim_type type, unsigned first, unsigned n); + +void isl_seq_substitute(isl_int *p, int pos, isl_int *subs, + int p_len, int subs_len, isl_int v); +void isl_seq_preimage(isl_int *dst, isl_int *src, + __isl_keep isl_multi_aff *ma, int n_before, int n_after, + int n_div_ma, int n_div_bmap, + isl_int f, isl_int c1, isl_int c2, isl_int g, int has_denom); + +__isl_give isl_pw_multi_aff *isl_pw_multi_aff_substitute( + __isl_take isl_pw_multi_aff *pma, enum isl_dim_type type, unsigned pos, + __isl_keep isl_pw_aff *subs); + +int isl_pw_aff_check_match_domain_space(__isl_keep isl_pw_aff *pa, + __isl_keep isl_space *space); + +#undef BASE +#define BASE pw_aff + +#include + #endif