add isl_multi_*_splice
[platform/upstream/isl.git] / include / isl / aff.h
index 07868e0..e34ae50 100644 (file)
@@ -270,6 +270,9 @@ isl_ctx *isl_multi_aff_get_ctx(__isl_keep isl_multi_aff *maff);
 __isl_give isl_space *isl_multi_aff_get_space(__isl_keep isl_multi_aff *maff);
 __isl_give isl_space *isl_multi_aff_get_domain_space(
        __isl_keep isl_multi_aff *maff);
+__isl_give isl_multi_aff *isl_multi_aff_set_tuple_name(
+       __isl_take isl_multi_aff *maff,
+       enum isl_dim_type type, const char *s);
 __isl_give isl_multi_aff *isl_multi_aff_set_tuple_id(
        __isl_take isl_multi_aff *maff,
        enum isl_dim_type type, __isl_take isl_id *id);
@@ -284,6 +287,8 @@ __isl_give isl_aff *isl_multi_aff_get_aff(__isl_keep isl_multi_aff *multi,
 __isl_give isl_multi_aff *isl_multi_aff_insert_dims(
        __isl_take isl_multi_aff *ma,
        enum isl_dim_type type, unsigned first, unsigned n);
+__isl_give isl_multi_aff *isl_multi_aff_add_dims(__isl_take isl_multi_aff *ma,
+       enum isl_dim_type type, unsigned n);
 __isl_give isl_multi_aff *isl_multi_aff_drop_dims(
        __isl_take isl_multi_aff *maff,
        enum isl_dim_type type, unsigned first, unsigned n);
@@ -301,6 +306,14 @@ __isl_give isl_multi_aff *isl_multi_aff_add(__isl_take isl_multi_aff *maff1,
 __isl_give isl_multi_aff *isl_multi_aff_scale(__isl_take isl_multi_aff *maff,
        isl_int f);
 
+__isl_give isl_multi_aff *isl_multi_aff_range_splice(
+       __isl_take isl_multi_aff *ma1, unsigned pos,
+       __isl_take isl_multi_aff *ma2);
+__isl_give isl_multi_aff *isl_multi_aff_splice(
+       __isl_take isl_multi_aff *ma1, unsigned in_pos, unsigned out_pos,
+       __isl_take isl_multi_aff *ma2);
+__isl_give isl_multi_aff *isl_multi_aff_range_product(
+       __isl_take isl_multi_aff *ma1, __isl_take isl_multi_aff *ma2);
 __isl_give isl_multi_aff *isl_multi_aff_flat_range_product(
        __isl_take isl_multi_aff *ma1, __isl_take isl_multi_aff *ma2);
 __isl_give isl_multi_aff *isl_multi_aff_product(
@@ -489,6 +502,9 @@ __isl_give isl_space *isl_multi_pw_aff_get_space(
        __isl_keep isl_multi_pw_aff *mpa);
 __isl_give isl_space *isl_multi_pw_aff_get_domain_space(
        __isl_keep isl_multi_pw_aff *mpa);
+__isl_give isl_multi_pw_aff *isl_multi_pw_aff_set_tuple_name(
+       __isl_take isl_multi_pw_aff *mpa,
+       enum isl_dim_type type, const char *s);
 __isl_give isl_multi_pw_aff *isl_multi_pw_aff_copy(
        __isl_keep isl_multi_pw_aff *mpa);
 void *isl_multi_pw_aff_free(__isl_take isl_multi_pw_aff *mpa);
@@ -501,13 +517,23 @@ __isl_give isl_pw_aff *isl_multi_pw_aff_get_pw_aff(
 __isl_give isl_multi_pw_aff *isl_multi_pw_aff_insert_dims(
        __isl_take isl_multi_pw_aff *mpa,
        enum isl_dim_type type, unsigned first, unsigned n);
+__isl_give isl_multi_pw_aff *isl_multi_pw_aff_add_dims(
+       __isl_take isl_multi_pw_aff *mpa, enum isl_dim_type type, unsigned n);
 
 __isl_give isl_multi_pw_aff *isl_multi_pw_aff_set_dim_name(
        __isl_take isl_multi_pw_aff *mpa,
        enum isl_dim_type type, unsigned pos, const char *s);
 
+__isl_give isl_multi_pw_aff *isl_multi_pw_aff_range_splice(
+       __isl_take isl_multi_pw_aff *mpa1, unsigned pos,
+       __isl_take isl_multi_pw_aff *mpa2);
+__isl_give isl_multi_pw_aff *isl_multi_pw_aff_splice(
+       __isl_take isl_multi_pw_aff *mpa1, unsigned in_pos, unsigned out_pos,
+       __isl_take isl_multi_pw_aff *mpa2);
 __isl_give isl_multi_pw_aff *isl_multi_pw_aff_flat_range_product(
        __isl_take isl_multi_pw_aff *mpa1, __isl_take isl_multi_pw_aff *mpa2);
+__isl_give isl_multi_pw_aff *isl_multi_pw_aff_range_product(
+       __isl_take isl_multi_pw_aff *mpa1, __isl_take isl_multi_pw_aff *mpa2);
 
 __isl_give isl_printer *isl_printer_print_multi_pw_aff(
        __isl_take isl_printer *p, __isl_keep isl_multi_pw_aff *mpa);