add isl_pw_aff_scale_down_val
[platform/upstream/isl.git] / include / isl / aff.h
index c09d457..cb2d3da 100644 (file)
@@ -37,9 +37,13 @@ __isl_give isl_local_space *isl_aff_get_local_space(__isl_keep isl_aff *aff);
 const char *isl_aff_get_dim_name(__isl_keep isl_aff *aff,
        enum isl_dim_type type, unsigned pos);
 int isl_aff_get_constant(__isl_keep isl_aff *aff, isl_int *v);
+__isl_give isl_val *isl_aff_get_constant_val(__isl_keep isl_aff *aff);
 int isl_aff_get_coefficient(__isl_keep isl_aff *aff,
        enum isl_dim_type type, int pos, isl_int *v);
+__isl_give isl_val *isl_aff_get_coefficient_val(__isl_keep isl_aff *aff,
+       enum isl_dim_type type, int pos);
 int isl_aff_get_denominator(__isl_keep isl_aff *aff, isl_int *v);
+__isl_give isl_val *isl_aff_get_denominator_val(__isl_keep isl_aff *aff);
 __isl_give isl_aff *isl_aff_set_constant(__isl_take isl_aff *aff, isl_int v);
 __isl_give isl_aff *isl_aff_set_constant_si(__isl_take isl_aff *aff, int v);
 __isl_give isl_aff *isl_aff_set_constant_val(__isl_take isl_aff *aff,
@@ -53,6 +57,8 @@ __isl_give isl_aff *isl_aff_set_coefficient_val(__isl_take isl_aff *aff,
 __isl_give isl_aff *isl_aff_set_denominator(__isl_take isl_aff *aff, isl_int v);
 __isl_give isl_aff *isl_aff_add_constant(__isl_take isl_aff *aff, isl_int v);
 __isl_give isl_aff *isl_aff_add_constant_si(__isl_take isl_aff *aff, int v);
+__isl_give isl_aff *isl_aff_add_constant_val(__isl_take isl_aff *aff,
+       __isl_take isl_val *v);
 __isl_give isl_aff *isl_aff_add_constant_num(__isl_take isl_aff *aff,
        isl_int v);
 __isl_give isl_aff *isl_aff_add_constant_num_si(__isl_take isl_aff *aff, int v);
@@ -60,6 +66,8 @@ __isl_give isl_aff *isl_aff_add_coefficient(__isl_take isl_aff *aff,
        enum isl_dim_type type, int pos, isl_int v);
 __isl_give isl_aff *isl_aff_add_coefficient_si(__isl_take isl_aff *aff,
        enum isl_dim_type type, int pos, int v);
+__isl_give isl_aff *isl_aff_add_coefficient_val(__isl_take isl_aff *aff,
+       enum isl_dim_type type, int pos, __isl_take isl_val *v);
 
 int isl_aff_is_cst(__isl_keep isl_aff *aff);
 
@@ -77,6 +85,8 @@ __isl_give isl_aff *isl_aff_neg(__isl_take isl_aff *aff);
 __isl_give isl_aff *isl_aff_ceil(__isl_take isl_aff *aff);
 __isl_give isl_aff *isl_aff_floor(__isl_take isl_aff *aff);
 __isl_give isl_aff *isl_aff_mod(__isl_take isl_aff *aff, isl_int mod);
+__isl_give isl_aff *isl_aff_mod_val(__isl_take isl_aff *aff,
+       __isl_take isl_val *mod);
 
 __isl_give isl_aff *isl_aff_mul(__isl_take isl_aff *aff1,
        __isl_take isl_aff *aff2);
@@ -88,8 +98,12 @@ __isl_give isl_aff *isl_aff_sub(__isl_take isl_aff *aff1,
        __isl_take isl_aff *aff2);
 
 __isl_give isl_aff *isl_aff_scale(__isl_take isl_aff *aff, isl_int f);
+__isl_give isl_aff *isl_aff_scale_val(__isl_take isl_aff *aff,
+       __isl_take isl_val *v);
 __isl_give isl_aff *isl_aff_scale_down(__isl_take isl_aff *aff, isl_int f);
 __isl_give isl_aff *isl_aff_scale_down_ui(__isl_take isl_aff *aff, unsigned f);
+__isl_give isl_aff *isl_aff_scale_down_val(__isl_take isl_aff *aff,
+       __isl_take isl_val *v);
 
 __isl_give isl_aff *isl_aff_insert_dims(__isl_take isl_aff *aff,
        enum isl_dim_type type, unsigned first, unsigned n);
@@ -209,8 +223,12 @@ __isl_give isl_pw_aff *isl_pw_aff_cond(__isl_take isl_pw_aff *cond,
 
 __isl_give isl_pw_aff *isl_pw_aff_scale(__isl_take isl_pw_aff *pwaff,
        isl_int f);
+__isl_give isl_pw_aff *isl_pw_aff_scale_val(__isl_take isl_pw_aff *pa,
+       __isl_take isl_val *v);
 __isl_give isl_pw_aff *isl_pw_aff_scale_down(__isl_take isl_pw_aff *pwaff,
        isl_int f);
+__isl_give isl_pw_aff *isl_pw_aff_scale_down_val(__isl_take isl_pw_aff *pa,
+       __isl_take isl_val *f);
 
 __isl_give isl_pw_aff *isl_pw_aff_insert_dims(__isl_take isl_pw_aff *pwaff,
        enum isl_dim_type type, unsigned first, unsigned n);
@@ -390,6 +408,8 @@ __isl_give isl_pw_multi_aff *isl_pw_multi_aff_add(
 __isl_give isl_pw_multi_aff *isl_pw_multi_aff_sub(
        __isl_take isl_pw_multi_aff *pma1, __isl_take isl_pw_multi_aff *pma2);
 
+__isl_give isl_pw_multi_aff *isl_pw_multi_aff_scale_val(
+       __isl_take isl_pw_multi_aff *pma, __isl_take isl_val *v);
 __isl_give isl_pw_multi_aff *isl_pw_multi_aff_scale_vec(
        __isl_take isl_pw_multi_aff *pma, __isl_take isl_vec *v);