add isl_pw_aff_var_on_domain
[platform/upstream/isl.git] / include / isl / aff.h
index b11bec6..f799a08 100644 (file)
@@ -14,6 +14,8 @@ extern "C" {
 #endif
 
 __isl_give isl_aff *isl_aff_zero_on_domain(__isl_take isl_local_space *ls);
+__isl_give isl_aff *isl_aff_var_on_domain(__isl_take isl_local_space *ls,
+       enum isl_dim_type type, unsigned pos);
 
 __isl_give isl_aff *isl_aff_copy(__isl_keep isl_aff *aff);
 void *isl_aff_free(__isl_take isl_aff *aff);
@@ -72,6 +74,8 @@ __isl_give isl_aff *isl_aff_mod(__isl_take isl_aff *aff, isl_int mod);
 
 __isl_give isl_aff *isl_aff_mul(__isl_take isl_aff *aff1,
        __isl_take isl_aff *aff2);
+__isl_give isl_aff *isl_aff_div(__isl_take isl_aff *aff1,
+       __isl_take isl_aff *aff2);
 __isl_give isl_aff *isl_aff_add(__isl_take isl_aff *aff1,
        __isl_take isl_aff *aff2);
 __isl_give isl_aff *isl_aff_sub(__isl_take isl_aff *aff1,
@@ -97,6 +101,7 @@ __isl_give isl_aff *isl_aff_gist(__isl_take isl_aff *aff,
 __isl_give isl_aff *isl_aff_gist_params(__isl_take isl_aff *aff,
        __isl_take isl_set *context);
 
+__isl_give isl_basic_set *isl_aff_zero_basic_set(__isl_take isl_aff *aff);
 __isl_give isl_basic_set *isl_aff_neg_basic_set(__isl_take isl_aff *aff);
 
 __isl_give isl_basic_set *isl_aff_le_basic_set(__isl_take isl_aff *aff1,
@@ -117,6 +122,8 @@ __isl_give isl_pw_aff *isl_pw_aff_from_aff(__isl_take isl_aff *aff);
 __isl_give isl_pw_aff *isl_pw_aff_empty(__isl_take isl_space *dim);
 __isl_give isl_pw_aff *isl_pw_aff_alloc(__isl_take isl_set *set,
        __isl_take isl_aff *aff);
+__isl_give isl_pw_aff *isl_pw_aff_var_on_domain(__isl_take isl_local_space *ls,
+       enum isl_dim_type type, unsigned pos);
 
 __isl_give isl_pw_aff *isl_set_indicator_function(__isl_take isl_set *set);
 
@@ -165,6 +172,8 @@ __isl_give isl_pw_aff *isl_pw_aff_max(__isl_take isl_pw_aff *pwaff1,
        __isl_take isl_pw_aff *pwaff2);
 __isl_give isl_pw_aff *isl_pw_aff_mul(__isl_take isl_pw_aff *pwaff1,
        __isl_take isl_pw_aff *pwaff2);
+__isl_give isl_pw_aff *isl_pw_aff_div(__isl_take isl_pw_aff *pa1,
+       __isl_take isl_pw_aff *pa2);
 __isl_give isl_pw_aff *isl_pw_aff_add(__isl_take isl_pw_aff *pwaff1,
        __isl_take isl_pw_aff *pwaff2);
 __isl_give isl_pw_aff *isl_pw_aff_sub(__isl_take isl_pw_aff *pwaff1,
@@ -174,6 +183,10 @@ __isl_give isl_pw_aff *isl_pw_aff_ceil(__isl_take isl_pw_aff *pwaff);
 __isl_give isl_pw_aff *isl_pw_aff_floor(__isl_take isl_pw_aff *pwaff);
 __isl_give isl_pw_aff *isl_pw_aff_mod(__isl_take isl_pw_aff *pwaff,
        isl_int mod);
+__isl_give isl_pw_aff *isl_pw_aff_tdiv_q(__isl_take isl_pw_aff *pa1,
+       __isl_take isl_pw_aff *pa2);
+__isl_give isl_pw_aff *isl_pw_aff_tdiv_r(__isl_take isl_pw_aff *pa1,
+       __isl_take isl_pw_aff *pa2);
 
 __isl_give isl_pw_aff *isl_pw_aff_intersect_params(__isl_take isl_pw_aff *pa,
        __isl_take isl_set *set);
@@ -310,6 +323,8 @@ __isl_give isl_multi_aff *isl_multi_aff_read_from_str(isl_ctx *ctx,
                const char *str);
 void isl_multi_aff_dump(__isl_keep isl_multi_aff *maff);
 
+__isl_give isl_pw_multi_aff *isl_pw_multi_aff_identity(
+       __isl_take isl_space *space);
 __isl_give isl_pw_multi_aff *isl_pw_multi_aff_from_multi_aff(
        __isl_take isl_multi_aff *ma);
 __isl_give isl_pw_multi_aff *isl_pw_multi_aff_alloc(__isl_take isl_set *set,
@@ -322,6 +337,9 @@ unsigned isl_pw_multi_aff_dim(__isl_keep isl_pw_multi_aff *pma,
        enum isl_dim_type type);
 __isl_give isl_pw_aff *isl_pw_multi_aff_get_pw_aff(
        __isl_keep isl_pw_multi_aff *pma, int pos);
+__isl_give isl_pw_multi_aff *isl_pw_multi_aff_set_pw_aff(
+       __isl_take isl_pw_multi_aff *pma, unsigned pos,
+       __isl_take isl_pw_aff *pa);
 
 isl_ctx *isl_pw_multi_aff_get_ctx(__isl_keep isl_pw_multi_aff *pma);
 __isl_give isl_space *isl_pw_multi_aff_get_domain_space(
@@ -388,6 +406,9 @@ __isl_give isl_pw_multi_aff *isl_pw_multi_aff_intersect_domain(
 __isl_give isl_pw_multi_aff *isl_pw_multi_aff_project_domain_on_params(
        __isl_take isl_pw_multi_aff *pma);
 
+__isl_give isl_pw_multi_aff *isl_pw_multi_aff_align_params(
+       __isl_take isl_pw_multi_aff *pma, __isl_take isl_space *model);
+
 __isl_give isl_pw_multi_aff *isl_pw_multi_aff_coalesce(
        __isl_take isl_pw_multi_aff *pma);
 __isl_give isl_pw_multi_aff *isl_pw_multi_aff_gist_params(