X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=isl_aff_private.h;h=dc031c4a4a43434748533493f4ed6af8e41557b4;hb=de51a9bc4da5dd3f1f9f57c2362da6f9752c44e0;hp=e887eb38c971ef0b12db5d5ff4d0f22474e5db2f;hpb=fe8f991cf09ecb1aed45cd2599f23a490ac46501;p=platform%2Fupstream%2Fisl.git diff --git a/isl_aff_private.h b/isl_aff_private.h index e887eb3..dc031c4 100644 --- a/isl_aff_private.h +++ b/isl_aff_private.h @@ -5,7 +5,10 @@ #include #include #include +#include +/* ls represents the domain space. + */ struct isl_aff { int ref; @@ -13,9 +16,102 @@ struct isl_aff { isl_vec *v; }; +struct isl_pw_aff_piece { + struct isl_set *set; + struct isl_aff *aff; +}; + +struct isl_pw_aff { + int ref; + + isl_space *dim; + + int n; + + size_t size; + struct isl_pw_aff_piece p[1]; +}; + +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, + __isl_take isl_space *space, __isl_take isl_space *domain); +__isl_give isl_aff *isl_aff_reset_domain_space(__isl_take isl_aff *aff, + __isl_take isl_space *dim); +__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( + __isl_take isl_pw_aff *pwaff, __isl_take isl_space *space); +__isl_give isl_pw_aff *isl_pw_aff_add_disjoint( + __isl_take isl_pw_aff *pwaff1, __isl_take isl_pw_aff *pwaff2); + +__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); + +#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_div_ma, int n_div_bset, + 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); + +#undef BASE +#define BASE pw_aff + +#include + #endif