From 6272dbd9df3e5e6c762a41f6ef65c8fd0cf1ec0c Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Fri, 3 May 2013 18:31:59 +0200 Subject: [PATCH] deprecate isl_int Signed-off-by: Sven Verdoolaege --- Makefile.am | 16 +- bound.c | 3 + doc/user.pod | 287 ++------------------------------ include/isl/aff.h | 25 --- include/isl/ast.h | 1 - include/isl/constraint.h | 9 - include/isl/ctx.h | 1 - include/isl/deprecated/aff_int.h | 37 ++++ include/isl/deprecated/ast_int.h | 9 + include/isl/deprecated/constraint_int.h | 17 ++ include/isl/deprecated/ilp_int.h | 15 ++ include/isl/{ => deprecated}/int.h | 4 +- include/isl/deprecated/map_int.h | 19 +++ include/isl/deprecated/mat_int.h | 11 ++ include/isl/deprecated/point_int.h | 12 ++ include/isl/deprecated/polynomial_int.h | 24 +++ include/isl/deprecated/set_int.h | 19 +++ include/isl/deprecated/union_map_int.h | 10 ++ include/isl/{ => deprecated}/val_int.h | 6 +- include/isl/deprecated/vec_int.h | 14 ++ include/isl/ilp.h | 11 +- include/isl/map.h | 15 -- include/isl/mat.h | 10 -- include/isl/point.h | 4 - include/isl/polynomial.h | 32 ---- include/isl/printer.h | 3 - include/isl/set.h | 31 ---- include/isl/union_map.h | 2 - include/isl/vec.h | 7 - isl_aff.c | 1 + isl_aff_private.h | 11 ++ isl_ast.c | 11 -- isl_ast_int.c | 13 ++ isl_blk.h | 2 +- isl_constraint.c | 1 + isl_constraint_private.h | 8 + isl_fold.c | 1 + isl_ilp.c | 2 + isl_ilp_private.h | 11 ++ isl_int.h | 5 + isl_lp_piplib.h | 3 +- isl_lp_private.h | 2 + isl_map.c | 2 + isl_map_private.h | 21 +++ isl_mat.c | 1 + isl_mat_private.h | 11 ++ isl_point.c | 1 + isl_polynomial.c | 1 + isl_polynomial_private.h | 25 +++ isl_printer.c | 1 + isl_range.c | 2 +- isl_schedule.c | 2 +- isl_seq.h | 2 +- isl_stream_private.h | 1 + isl_test.c | 2 +- isl_union_map.c | 1 + isl_val_private.h | 2 +- isl_vec.c | 1 + isl_vec_private.h | 4 + pip.c | 2 +- polyhedron_minimize.c | 2 +- 61 files changed, 356 insertions(+), 453 deletions(-) create mode 100644 include/isl/deprecated/aff_int.h create mode 100644 include/isl/deprecated/ast_int.h create mode 100644 include/isl/deprecated/constraint_int.h create mode 100644 include/isl/deprecated/ilp_int.h rename include/isl/{ => deprecated}/int.h (98%) create mode 100644 include/isl/deprecated/map_int.h create mode 100644 include/isl/deprecated/mat_int.h create mode 100644 include/isl/deprecated/point_int.h create mode 100644 include/isl/deprecated/polynomial_int.h create mode 100644 include/isl/deprecated/set_int.h create mode 100644 include/isl/deprecated/union_map_int.h rename include/isl/{ => deprecated}/val_int.h (62%) create mode 100644 include/isl/deprecated/vec_int.h create mode 100644 isl_ast_int.c create mode 100644 isl_ilp_private.h diff --git a/Makefile.am b/Makefile.am index f0560044..051e9837 100644 --- a/Makefile.am +++ b/Makefile.am @@ -43,6 +43,7 @@ libisl_la_SOURCES = \ isl_affine_hull.c \ isl_arg.c \ isl_ast.c \ + isl_ast_int.c \ isl_ast_private.h \ isl_ast_build.c \ isl_ast_build_private.h \ @@ -227,11 +228,23 @@ pkginclude_HEADERS = \ include/isl/band.h \ include/isl/constraint.h \ include/isl/ctx.h \ + include/isl/deprecated/int.h \ + include/isl/deprecated/aff_int.h \ + include/isl/deprecated/ast_int.h \ + include/isl/deprecated/constraint_int.h \ + include/isl/deprecated/ilp_int.h \ + include/isl/deprecated/map_int.h \ + include/isl/deprecated/mat_int.h \ + include/isl/deprecated/point_int.h \ + include/isl/deprecated/polynomial_int.h \ + include/isl/deprecated/set_int.h \ + include/isl/deprecated/union_map_int.h \ + include/isl/deprecated/val_int.h \ + include/isl/deprecated/vec_int.h \ include/isl/dim.h \ include/isl/flow.h \ include/isl/id.h \ include/isl/ilp.h \ - include/isl/int.h \ include/isl/hash.h \ include/isl/list.h \ include/isl/local_space.h \ @@ -257,7 +270,6 @@ pkginclude_HEADERS = \ include/isl/union_set_type.h \ include/isl/val.h \ include/isl/val_gmp.h \ - include/isl/val_int.h \ include/isl/vec.h \ include/isl/version.h \ include/isl/vertices.h diff --git a/bound.c b/bound.c index 9a0ee8da..7e4bfeea 100644 --- a/bound.c +++ b/bound.c @@ -1,8 +1,11 @@ #include #include +#include #include #include #include +#include +#include struct bound_options { struct isl_options *isl; diff --git a/doc/user.pod b/doc/user.pod index 1815c170..9c1eaf5a 100644 --- a/doc/user.pod +++ b/doc/user.pod @@ -181,6 +181,16 @@ C have slightly different meanings. =back +=head3 Changes since isl-0.12 + +=over + +=item * C has been replaced by C. +Some of the old functions are still available in C +but they will be removed in the future. + +=back + =head1 License C is released under the MIT license. @@ -537,140 +547,6 @@ C values using the following functions. int isl_val_get_num_gmp(__isl_keep isl_val *v, mpz_t z); int isl_val_get_den_gmp(__isl_keep isl_val *v, mpz_t z); -=head3 Conversion from C - -The following functions are only temporarily available to ease -the transition from C to C. They will be removed -in the next release. - - #include - __isl_give isl_val *isl_val_int_from_isl_int(isl_ctx *ctx, - isl_int n); - int isl_val_get_num_isl_int(__isl_keep isl_val *v, - isl_int *n); - -=head2 Integers (obsolescent) - -In previous versions of C, integers were represented -in the external interface using the C type. -This type has now been superseded by C. -The C type will be removed from the external interface -in future releases. New code should not use C. - -The operations below are currently available on Cs. -The meanings of these operations are essentially the same -as their C C counterparts. -As always with C types, Cs need to be -initialized with C before they can be used -and they need to be released with C -after the last use. -The user should not assume that an C is represented -as a C, but should instead explicitly convert between -Cs and Cs using C and -C whenever a C is required. - -=over - -=item isl_int_init(i) - -=item isl_int_clear(i) - -=item isl_int_set(r,i) - -=item isl_int_set_si(r,i) - -=item isl_int_set_gmp(r,g) - -=item isl_int_get_gmp(i,g) - -=item isl_int_abs(r,i) - -=item isl_int_neg(r,i) - -=item isl_int_swap(i,j) - -=item isl_int_swap_or_set(i,j) - -=item isl_int_add_ui(r,i,j) - -=item isl_int_sub_ui(r,i,j) - -=item isl_int_add(r,i,j) - -=item isl_int_sub(r,i,j) - -=item isl_int_mul(r,i,j) - -=item isl_int_mul_ui(r,i,j) - -=item isl_int_addmul(r,i,j) - -=item isl_int_submul(r,i,j) - -=item isl_int_gcd(r,i,j) - -=item isl_int_lcm(r,i,j) - -=item isl_int_divexact(r,i,j) - -=item isl_int_cdiv_q(r,i,j) - -=item isl_int_fdiv_q(r,i,j) - -=item isl_int_fdiv_r(r,i,j) - -=item isl_int_fdiv_q_ui(r,i,j) - -=item isl_int_read(r,s) - -=item isl_int_print(out,i,width) - -=item isl_int_sgn(i) - -=item isl_int_cmp(i,j) - -=item isl_int_cmp_si(i,si) - -=item isl_int_eq(i,j) - -=item isl_int_ne(i,j) - -=item isl_int_lt(i,j) - -=item isl_int_le(i,j) - -=item isl_int_gt(i,j) - -=item isl_int_ge(i,j) - -=item isl_int_abs_eq(i,j) - -=item isl_int_abs_ne(i,j) - -=item isl_int_abs_lt(i,j) - -=item isl_int_abs_gt(i,j) - -=item isl_int_abs_ge(i,j) - -=item isl_int_is_zero(i) - -=item isl_int_is_one(i) - -=item isl_int_is_negone(i) - -=item isl_int_is_pos(i) - -=item isl_int_is_neg(i) - -=item isl_int_is_nonpos(i) - -=item isl_int_is_nonneg(i) - -=item isl_int_is_divisible_by(i,j) - -=back - =head2 Sets and Relations C uses six types of objects for representing sets and relations, @@ -1533,16 +1409,11 @@ using the following functions. __isl_take isl_local_space *ls); __isl_give isl_constraint *isl_inequality_alloc( __isl_take isl_local_space *ls); - __isl_give isl_constraint *isl_constraint_set_constant( - __isl_take isl_constraint *constraint, isl_int v); __isl_give isl_constraint *isl_constraint_set_constant_si( __isl_take isl_constraint *constraint, int v); __isl_give isl_constraint *isl_constraint_set_constant_val( __isl_take isl_constraint *constraint, __isl_take isl_val *v); - __isl_give isl_constraint *isl_constraint_set_coefficient( - __isl_take isl_constraint *constraint, - enum isl_dim_type type, int pos, isl_int v); __isl_give isl_constraint *isl_constraint_set_coefficient_si( __isl_take isl_constraint *constraint, enum isl_dim_type type, int pos, int v); @@ -1819,13 +1690,8 @@ the following functions. int isl_constraint_is_upper_bound( __isl_keep isl_constraint *constraint, enum isl_dim_type type, unsigned pos); - void isl_constraint_get_constant( - __isl_keep isl_constraint *constraint, isl_int *v); __isl_give isl_val *isl_constraint_get_constant_val( __isl_keep isl_constraint *constraint); - void isl_constraint_get_coefficient( - __isl_keep isl_constraint *constraint, - enum isl_dim_type type, int pos, isl_int *v); __isl_give isl_val *isl_constraint_get_coefficient_val( __isl_keep isl_constraint *constraint, enum isl_dim_type type, int pos); @@ -2074,20 +1940,6 @@ is already known to be empty. =item * Position - int isl_basic_map_plain_is_fixed( - __isl_keep isl_basic_map *bmap, - enum isl_dim_type type, unsigned pos, - isl_int *val); - int isl_set_plain_is_fixed(__isl_keep isl_set *set, - enum isl_dim_type type, unsigned pos, - isl_int *val); - int isl_map_plain_is_fixed(__isl_keep isl_map *map, - enum isl_dim_type type, unsigned pos, - isl_int *val); - -Check if the relation obviously lies on a hyperplane where the given dimension -has a fixed value and if so, return that value in C<*val>. - __isl_give isl_val * isl_basic_map_plain_get_val_if_fixed( __isl_keep isl_basic_map *bmap, @@ -2334,10 +2186,6 @@ without removing the dimensions. =item * Slicing - __isl_give isl_basic_set *isl_basic_set_fix( - __isl_take isl_basic_set *bset, - enum isl_dim_type type, unsigned pos, - isl_int value); __isl_give isl_basic_set *isl_basic_set_fix_si( __isl_take isl_basic_set *bset, enum isl_dim_type type, unsigned pos, int value); @@ -2345,9 +2193,6 @@ without removing the dimensions. __isl_take isl_basic_set *bset, enum isl_dim_type type, unsigned pos, __isl_take isl_val *v); - __isl_give isl_set *isl_set_fix(__isl_take isl_set *set, - enum isl_dim_type type, unsigned pos, - isl_int value); __isl_give isl_set *isl_set_fix_si(__isl_take isl_set *set, enum isl_dim_type type, unsigned pos, int value); __isl_give isl_set *isl_set_fix_val( @@ -2361,9 +2206,6 @@ without removing the dimensions. __isl_take isl_basic_map *bmap, enum isl_dim_type type, unsigned pos, __isl_take isl_val *v); - __isl_give isl_map *isl_map_fix(__isl_take isl_map *map, - enum isl_dim_type type, unsigned pos, - isl_int value); __isl_give isl_map *isl_map_fix_si(__isl_take isl_map *map, enum isl_dim_type type, unsigned pos, int value); __isl_give isl_map *isl_map_fix_val( @@ -2380,10 +2222,6 @@ dimension has the fixed given value. __isl_give isl_basic_map *isl_basic_map_upper_bound_si( __isl_take isl_basic_map *bmap, enum isl_dim_type type, unsigned pos, int value); - __isl_give isl_set *isl_set_lower_bound( - __isl_take isl_set *set, - enum isl_dim_type type, unsigned pos, - isl_int value); __isl_give isl_set *isl_set_lower_bound_si( __isl_take isl_set *set, enum isl_dim_type type, unsigned pos, int value); @@ -2394,10 +2232,6 @@ dimension has the fixed given value. __isl_give isl_map *isl_map_lower_bound_si( __isl_take isl_map *map, enum isl_dim_type type, unsigned pos, int value); - __isl_give isl_set *isl_set_upper_bound( - __isl_take isl_set *set, - enum isl_dim_type type, unsigned pos, - isl_int value); __isl_give isl_set *isl_set_upper_bound_si( __isl_take isl_set *set, enum isl_dim_type type, unsigned pos, int value); @@ -2655,29 +2489,19 @@ a singleton subset of the input. Otherwise, return an empty set. =item * Optimization #include - enum isl_lp_result isl_basic_set_max( - __isl_keep isl_basic_set *bset, - __isl_keep isl_aff *obj, isl_int *opt) __isl_give isl_val *isl_basic_set_max_val( __isl_keep isl_basic_set *bset, __isl_keep isl_aff *obj); - enum isl_lp_result isl_set_min(__isl_keep isl_set *set, - __isl_keep isl_aff *obj, isl_int *opt); __isl_give isl_val *isl_set_min_val( __isl_keep isl_set *set, __isl_keep isl_aff *obj); - enum isl_lp_result isl_set_max(__isl_keep isl_set *set, - __isl_keep isl_aff *obj, isl_int *opt); __isl_give isl_val *isl_set_max_val( __isl_keep isl_set *set, __isl_keep isl_aff *obj); Compute the minimum or maximum of the integer affine expression C over the points in C, returning the result in C. -The return value may be one of C, -C, C or C, in case of -an C. If the result is an C then -the result is C in case of an error, the optimal value in case +The result is C in case of an error, the optimal value in case there is one, negative infinity or infinity if the problem is unbounded and NaN if the problem is empty. @@ -2723,13 +2547,9 @@ dualization algorithms or skip the elimination step. =item * Power - __isl_give isl_map *isl_map_fixed_power( - __isl_take isl_map *map, isl_int exp); __isl_give isl_map *isl_map_fixed_power_val( __isl_take isl_map *map, __isl_take isl_val *exp); - __isl_give isl_union_map *isl_union_map_fixed_power( - __isl_take isl_union_map *umap, isl_int exp); __isl_give isl_union_map * isl_union_map_fixed_power_val( __isl_take isl_union_map *umap, @@ -3561,27 +3381,19 @@ The elements can be changed and inspected using the following functions. isl_ctx *isl_vec_get_ctx(__isl_keep isl_vec *vec); int isl_vec_size(__isl_keep isl_vec *vec); - int isl_vec_get_element(__isl_keep isl_vec *vec, - int pos, isl_int *v); __isl_give isl_val *isl_vec_get_element_val( __isl_keep isl_vec *vec, int pos); - __isl_give isl_vec *isl_vec_set_element( - __isl_take isl_vec *vec, int pos, isl_int v); __isl_give isl_vec *isl_vec_set_element_si( __isl_take isl_vec *vec, int pos, int v); __isl_give isl_vec *isl_vec_set_element_val( __isl_take isl_vec *vec, int pos, __isl_take isl_val *v); - __isl_give isl_vec *isl_vec_set(__isl_take isl_vec *vec, - isl_int v); __isl_give isl_vec *isl_vec_set_si(__isl_take isl_vec *vec, int v); __isl_give isl_vec *isl_vec_set_val( __isl_take isl_vec *vec, __isl_take isl_val *v); int isl_vec_cmp_element(__isl_keep isl_vec *vec1, __isl_keep isl_vec *vec2, int pos); - __isl_give isl_vec *isl_vec_fdiv_r(__isl_take isl_vec *vec, - isl_int m); C will return a negative value if anything went wrong. In that case, the value of C<*v> is undefined. @@ -3607,12 +3419,8 @@ The elements can be changed and inspected using the following functions. isl_ctx *isl_mat_get_ctx(__isl_keep isl_mat *mat); int isl_mat_rows(__isl_keep isl_mat *mat); int isl_mat_cols(__isl_keep isl_mat *mat); - int isl_mat_get_element(__isl_keep isl_mat *mat, - int row, int col, isl_int *v); __isl_give isl_val *isl_mat_get_element_val( __isl_keep isl_mat *mat, int row, int col); - __isl_give isl_mat *isl_mat_set_element(__isl_take isl_mat *mat, - int row, int col, isl_int v); __isl_give isl_mat *isl_mat_set_element_si(__isl_take isl_mat *mat, int row, int col, int v); __isl_give isl_mat *isl_mat_set_element_val( @@ -3731,17 +3539,11 @@ The expression can be inspected using __isl_give isl_id *isl_pw_aff_get_tuple_id( __isl_keep isl_pw_aff *pa, enum isl_dim_type type); - 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_get_div( @@ -3782,15 +3584,10 @@ It can be modified using __isl_take isl_pw_aff *pma, enum isl_dim_type type, unsigned pos, __isl_take isl_id *id); - __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, __isl_take isl_val *v); - __isl_give isl_aff *isl_aff_set_coefficient( - __isl_take isl_aff *aff, - enum isl_dim_type type, int pos, isl_int v); __isl_give isl_aff *isl_aff_set_coefficient_si( __isl_take isl_aff *aff, enum isl_dim_type type, int pos, int v); @@ -3798,22 +3595,13 @@ It can be modified using __isl_take isl_aff *aff, enum isl_dim_type type, int pos, __isl_take isl_val *v); - __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); - __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); @@ -3841,8 +3629,7 @@ It can be modified using __isl_take isl_pw_aff *pwaff, enum isl_dim_type type, unsigned first, unsigned n); -Note that C, C, -C and C +Note that C and C set the I of the constant or coefficient, while C and C set the constant or coefficient as a whole. @@ -3891,31 +3678,19 @@ Operations include __isl_give isl_aff *isl_aff_floor(__isl_take isl_aff *aff); __isl_give isl_pw_aff *isl_pw_aff_floor( __isl_take isl_pw_aff *pwaff); - __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_pw_aff *isl_pw_aff_mod( - __isl_take isl_pw_aff *pwaff, isl_int mod); __isl_give isl_pw_aff *isl_pw_aff_mod_val( __isl_take isl_pw_aff *pa, __isl_take isl_val *mod); - __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_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_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_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); @@ -4373,9 +4148,6 @@ Operations include C subtracts the second argument from the first. - __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_scale_val( __isl_take isl_multi_aff *ma, __isl_take isl_val *v); @@ -4564,14 +4336,9 @@ The zero point (the origin) can be created using The coordinates of a point can be inspected, set and changed using - int isl_point_get_coordinate(__isl_keep isl_point *pnt, - enum isl_dim_type type, int pos, isl_int *v); __isl_give isl_val *isl_point_get_coordinate_val( __isl_keep isl_point *pnt, enum isl_dim_type type, int pos); - __isl_give isl_point *isl_point_set_coordinate( - __isl_take isl_point *pnt, - enum isl_dim_type type, int pos, isl_int v); __isl_give isl_point *isl_point_set_coordinate_val( __isl_take isl_point *pnt, enum isl_dim_type type, int pos, @@ -4726,9 +4493,6 @@ on the resulting quasipolynomials __isl_take isl_space *domain); __isl_give isl_qpolynomial *isl_qpolynomial_nan_on_domain( __isl_take isl_space *domain); - __isl_give isl_qpolynomial *isl_qpolynomial_rat_cst_on_domain( - __isl_take isl_space *domain, - const isl_int n, const isl_int d); __isl_give isl_qpolynomial *isl_qpolynomial_val_on_domain( __isl_take isl_space *domain, __isl_take isl_val *val); @@ -4844,10 +4608,6 @@ these functions unsigned isl_term_dim(__isl_keep isl_term *term, enum isl_dim_type type); - void isl_term_get_num(__isl_keep isl_term *term, - isl_int *n); - void isl_term_get_den(__isl_keep isl_term *term, - isl_int *d); __isl_give isl_val *isl_term_get_coefficient_val( __isl_keep isl_term *term); int isl_term_get_exp(__isl_keep isl_term *term, @@ -4859,22 +4619,9 @@ these functions Each term is a product of parameters, set variables and integer divisions. The function C returns the exponent of a given dimensions in the given term. -The Cs in the arguments of C -and C need to have been initialized -using C before calling these functions. =head3 Properties of (Piecewise) Quasipolynomials -To check whether a quasipolynomial is actually a constant, -use the following function. - - int isl_qpolynomial_is_cst(__isl_keep isl_qpolynomial *qp, - isl_int *n, isl_int *d); - -If C is a constant and if C and C are not C -then the numerator and denominator of the constant -are returned in C<*n> and C<*d>, respectively. - To check whether two union piecewise quasipolynomials are obviously equal, use @@ -4884,8 +4631,6 @@ obviously equal, use =head3 Operations on (Piecewise) Quasipolynomials - __isl_give isl_qpolynomial *isl_qpolynomial_scale( - __isl_take isl_qpolynomial *qp, isl_int v); __isl_give isl_qpolynomial *isl_qpolynomial_scale_val( __isl_take isl_qpolynomial *qp, __isl_take isl_val *v); @@ -5135,8 +4880,6 @@ obviously equal, use =head3 Operations on Piecewise Quasipolynomial Reductions - __isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_scale( - __isl_take isl_qpolynomial_fold *fold, isl_int v); __isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_scale_val( __isl_take isl_qpolynomial_fold *fold, __isl_take isl_val *v); @@ -6038,16 +5781,10 @@ representing the function being called. Return the identifier represented by the AST expression. #include - int isl_ast_expr_get_int(__isl_keep isl_ast_expr *expr, - isl_int *v); __isl_give isl_val *isl_ast_expr_get_val( __isl_keep isl_ast_expr *expr); Return the integer represented by the AST expression. -Note that the integer is returned by C -through the C argument. -The return value of this function itself indicates whether the -operation was performed successfully. =head3 Manipulating and printing the AST diff --git a/include/isl/aff.h b/include/isl/aff.h index eb85f4ab..6341d18f 100644 --- a/include/isl/aff.h +++ b/include/isl/aff.h @@ -35,34 +35,21 @@ __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, __isl_take isl_val *v); -__isl_give isl_aff *isl_aff_set_coefficient(__isl_take isl_aff *aff, - enum isl_dim_type type, int pos, isl_int v); __isl_give isl_aff *isl_aff_set_coefficient_si(__isl_take isl_aff *aff, enum isl_dim_type type, int pos, int v); __isl_give isl_aff *isl_aff_set_coefficient_val(__isl_take isl_aff *aff, enum isl_dim_type type, int pos, __isl_take isl_val *v); -__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); -__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, @@ -83,7 +70,6 @@ __isl_give isl_aff *isl_aff_get_div(__isl_keep isl_aff *aff, int pos); __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); @@ -96,10 +82,8 @@ __isl_give isl_aff *isl_aff_add(__isl_take isl_aff *aff1, __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); @@ -205,8 +189,6 @@ __isl_give isl_pw_aff *isl_pw_aff_sub(__isl_take isl_pw_aff *pwaff1, __isl_give isl_pw_aff *isl_pw_aff_neg(__isl_take isl_pw_aff *pwaff); __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_mod_val(__isl_take isl_pw_aff *pa, __isl_take isl_val *mod); __isl_give isl_pw_aff *isl_pw_aff_tdiv_q(__isl_take isl_pw_aff *pa1, @@ -222,12 +204,8 @@ __isl_give isl_pw_aff *isl_pw_aff_intersect_domain(__isl_take isl_pw_aff *pa, __isl_give isl_pw_aff *isl_pw_aff_cond(__isl_take isl_pw_aff *cond, __isl_take isl_pw_aff *pwaff_true, __isl_take isl_pw_aff *pwaff_false); -__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); @@ -308,9 +286,6 @@ __isl_give isl_multi_aff *isl_multi_aff_add(__isl_take isl_multi_aff *maff1, __isl_give isl_multi_aff *isl_multi_aff_sub(__isl_take isl_multi_aff *ma1, __isl_take isl_multi_aff *ma2); -__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_product( __isl_take isl_multi_aff *ma1, __isl_take isl_multi_aff *ma2); diff --git a/include/isl/ast.h b/include/isl/ast.h index 615c882d..5ac28ed7 100644 --- a/include/isl/ast.h +++ b/include/isl/ast.h @@ -88,7 +88,6 @@ void *isl_ast_expr_free(__isl_take isl_ast_expr *expr); isl_ctx *isl_ast_expr_get_ctx(__isl_keep isl_ast_expr *expr); enum isl_ast_expr_type isl_ast_expr_get_type(__isl_keep isl_ast_expr *expr); -int isl_ast_expr_get_int(__isl_keep isl_ast_expr *expr, isl_int *v); __isl_give isl_val *isl_ast_expr_get_val(__isl_keep isl_ast_expr *expr); __isl_give isl_id *isl_ast_expr_get_id(__isl_keep isl_ast_expr *expr); diff --git a/include/isl/constraint.h b/include/isl/constraint.h index 948437ae..22b56de0 100644 --- a/include/isl/constraint.h +++ b/include/isl/constraint.h @@ -82,23 +82,14 @@ int isl_constraint_involves_dims(__isl_keep isl_constraint *constraint, const char *isl_constraint_get_dim_name(__isl_keep isl_constraint *constraint, enum isl_dim_type type, unsigned pos); -void isl_constraint_get_constant(__isl_keep isl_constraint *constraint, - isl_int *v); __isl_give isl_val *isl_constraint_get_constant_val( __isl_keep isl_constraint *constraint); -void isl_constraint_get_coefficient(__isl_keep isl_constraint *constraint, - enum isl_dim_type type, int pos, isl_int *v); __isl_give isl_val *isl_constraint_get_coefficient_val( __isl_keep isl_constraint *constraint, enum isl_dim_type type, int pos); -__isl_give isl_constraint *isl_constraint_set_constant( - __isl_take isl_constraint *constraint, isl_int v); __isl_give isl_constraint *isl_constraint_set_constant_si( __isl_take isl_constraint *constraint, int v); __isl_give isl_constraint *isl_constraint_set_constant_val( __isl_take isl_constraint *constraint, __isl_take isl_val *v); -__isl_give isl_constraint *isl_constraint_set_coefficient( - __isl_take isl_constraint *constraint, - enum isl_dim_type type, int pos, isl_int v); __isl_give isl_constraint *isl_constraint_set_coefficient_si( __isl_take isl_constraint *constraint, enum isl_dim_type type, int pos, int v); diff --git a/include/isl/ctx.h b/include/isl/ctx.h index c63fefaa..f7a0e540 100644 --- a/include/isl/ctx.h +++ b/include/isl/ctx.h @@ -13,7 +13,6 @@ #include #include -#include #include #include #include diff --git a/include/isl/deprecated/aff_int.h b/include/isl/deprecated/aff_int.h new file mode 100644 index 00000000..10cf82f4 --- /dev/null +++ b/include/isl/deprecated/aff_int.h @@ -0,0 +1,37 @@ +#ifndef ISL_DEPRECATED_AFF_INT_H +#define ISL_DEPRECATED_AFF_INT_H + +#include +#include + +int isl_aff_get_constant(__isl_keep isl_aff *aff, isl_int *v); +int isl_aff_get_coefficient(__isl_keep isl_aff *aff, + enum isl_dim_type type, int pos, isl_int *v); +int isl_aff_get_denominator(__isl_keep isl_aff *aff, isl_int *v); +__isl_give isl_aff *isl_aff_set_constant(__isl_take isl_aff *aff, isl_int v); +__isl_give isl_aff *isl_aff_set_coefficient(__isl_take isl_aff *aff, + enum isl_dim_type type, int pos, isl_int v); +__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_num(__isl_take isl_aff *aff, + isl_int v); +__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_mod(__isl_take isl_aff *aff, isl_int mod); + +__isl_give isl_aff *isl_aff_scale(__isl_take isl_aff *aff, isl_int f); +__isl_give isl_aff *isl_aff_scale_down(__isl_take isl_aff *aff, isl_int f); + +__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_scale(__isl_take isl_pw_aff *pwaff, + isl_int f); +__isl_give isl_pw_aff *isl_pw_aff_scale_down(__isl_take isl_pw_aff *pwaff, + isl_int f); + +__isl_give isl_multi_aff *isl_multi_aff_scale(__isl_take isl_multi_aff *maff, + isl_int f); + +#endif diff --git a/include/isl/deprecated/ast_int.h b/include/isl/deprecated/ast_int.h new file mode 100644 index 00000000..7b0695f5 --- /dev/null +++ b/include/isl/deprecated/ast_int.h @@ -0,0 +1,9 @@ +#ifndef ISL_DEPRECATED_AST_INT_H +#define ISL_DEPRECATED_AST_INT_H + +#include +#include + +int isl_ast_expr_get_int(__isl_keep isl_ast_expr *expr, isl_int *v); + +#endif diff --git a/include/isl/deprecated/constraint_int.h b/include/isl/deprecated/constraint_int.h new file mode 100644 index 00000000..b8545574 --- /dev/null +++ b/include/isl/deprecated/constraint_int.h @@ -0,0 +1,17 @@ +#ifndef ISL_DEPRECATED_CONSTRAINT_INT_H +#define ISL_DEPRECATED_CONSTRAINT_INT_H + +#include +#include + +void isl_constraint_get_constant(__isl_keep isl_constraint *constraint, + isl_int *v); +void isl_constraint_get_coefficient(__isl_keep isl_constraint *constraint, + enum isl_dim_type type, int pos, isl_int *v); +__isl_give isl_constraint *isl_constraint_set_constant( + __isl_take isl_constraint *constraint, isl_int v); +__isl_give isl_constraint *isl_constraint_set_coefficient( + __isl_take isl_constraint *constraint, + enum isl_dim_type type, int pos, isl_int v); + +#endif diff --git a/include/isl/deprecated/ilp_int.h b/include/isl/deprecated/ilp_int.h new file mode 100644 index 00000000..ea6a5639 --- /dev/null +++ b/include/isl/deprecated/ilp_int.h @@ -0,0 +1,15 @@ +#ifndef ISL_DEPRECATED_ILP_INT_H +#define ISL_DEPRECATED_ILP_INT_H + +#include +#include +#include + +enum isl_lp_result isl_basic_set_max(__isl_keep isl_basic_set *bset, + __isl_keep isl_aff *obj, isl_int *opt); +enum isl_lp_result isl_set_min(__isl_keep isl_set *set, + __isl_keep isl_aff *obj, isl_int *opt); +enum isl_lp_result isl_set_max(__isl_keep isl_set *set, + __isl_keep isl_aff *obj, isl_int *opt); + +#endif diff --git a/include/isl/int.h b/include/isl/deprecated/int.h similarity index 98% rename from include/isl/int.h rename to include/isl/deprecated/int.h index 9391df95..98782346 100644 --- a/include/isl/int.h +++ b/include/isl/deprecated/int.h @@ -7,8 +7,8 @@ * Computerwetenschappen, Celestijnenlaan 200A, B-3001 Leuven, Belgium */ -#ifndef ISL_INT_H -#define ISL_INT_H +#ifndef ISL_DEPRECATED_INT_H +#define ISL_DEPRECATED_INT_H #include #include diff --git a/include/isl/deprecated/map_int.h b/include/isl/deprecated/map_int.h new file mode 100644 index 00000000..67f425a1 --- /dev/null +++ b/include/isl/deprecated/map_int.h @@ -0,0 +1,19 @@ +#ifndef ISL_DEPRECATED_MAP_INT_H +#define ISL_DEPRECATED_MAP_INT_H + +#include +#include + +int isl_basic_map_plain_is_fixed(__isl_keep isl_basic_map *bmap, + enum isl_dim_type type, unsigned pos, isl_int *val); + +__isl_give isl_map *isl_map_fix(__isl_take isl_map *map, + enum isl_dim_type type, unsigned pos, isl_int value); +int isl_map_plain_is_fixed(__isl_keep isl_map *map, + enum isl_dim_type type, unsigned pos, isl_int *val); +int isl_map_fast_is_fixed(__isl_keep isl_map *map, + enum isl_dim_type type, unsigned pos, isl_int *val); + +__isl_give isl_map *isl_map_fixed_power(__isl_take isl_map *map, isl_int exp); + +#endif diff --git a/include/isl/deprecated/mat_int.h b/include/isl/deprecated/mat_int.h new file mode 100644 index 00000000..27bb79e5 --- /dev/null +++ b/include/isl/deprecated/mat_int.h @@ -0,0 +1,11 @@ +#ifndef ISL_DEPRECATED_MAT_INT_H +#define ISL_DEPRECATED_MAT_INT_H + +#include +#include + +int isl_mat_get_element(__isl_keep isl_mat *mat, int row, int col, isl_int *v); +__isl_give isl_mat *isl_mat_set_element(__isl_take isl_mat *mat, + int row, int col, isl_int v); + +#endif diff --git a/include/isl/deprecated/point_int.h b/include/isl/deprecated/point_int.h new file mode 100644 index 00000000..d52ae6da --- /dev/null +++ b/include/isl/deprecated/point_int.h @@ -0,0 +1,12 @@ +#ifndef ISL_DEPRECATED_POINT_INT_H +#define ISL_DEPRECATED_POINT_INT_H + +#include +#include + +int isl_point_get_coordinate(__isl_keep isl_point *pnt, + enum isl_dim_type type, int pos, isl_int *v); +__isl_give isl_point *isl_point_set_coordinate(__isl_take isl_point *pnt, + enum isl_dim_type type, int pos, isl_int v); + +#endif diff --git a/include/isl/deprecated/polynomial_int.h b/include/isl/deprecated/polynomial_int.h new file mode 100644 index 00000000..68800946 --- /dev/null +++ b/include/isl/deprecated/polynomial_int.h @@ -0,0 +1,24 @@ +#ifndef ISL_DEPRECATED_POLYNOMIAL_INT_H +#define ISL_DEPRECATED_POLYNOMIAL_INT_H + +#include +#include + +__isl_give isl_qpolynomial *isl_qpolynomial_rat_cst_on_domain( + __isl_take isl_space *space, const isl_int n, const isl_int d); +int isl_qpolynomial_is_cst(__isl_keep isl_qpolynomial *qp, + isl_int *n, isl_int *d); +__isl_give isl_qpolynomial *isl_qpolynomial_scale( + __isl_take isl_qpolynomial *qp, isl_int v); + +void isl_term_get_num(__isl_keep isl_term *term, isl_int *n); +void isl_term_get_den(__isl_keep isl_term *term, isl_int *d); + +__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_scale( + __isl_take isl_qpolynomial_fold *fold, isl_int v); + +__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_fix_dim( + __isl_take isl_pw_qpolynomial_fold *pwf, + enum isl_dim_type type, unsigned n, isl_int v); + +#endif diff --git a/include/isl/deprecated/set_int.h b/include/isl/deprecated/set_int.h new file mode 100644 index 00000000..2ac828d6 --- /dev/null +++ b/include/isl/deprecated/set_int.h @@ -0,0 +1,19 @@ +#ifndef ISL_DEPRECATED_SET_INT_H +#define ISL_DEPRECATED_SET_INT_H + +#include +#include + +__isl_give isl_basic_set *isl_basic_set_fix(__isl_take isl_basic_set *bset, + enum isl_dim_type type, unsigned pos, isl_int value); +__isl_give isl_set *isl_set_lower_bound(__isl_take isl_set *set, + enum isl_dim_type type, unsigned pos, isl_int value); +__isl_give isl_set *isl_set_upper_bound(__isl_take isl_set *set, + enum isl_dim_type type, unsigned pos, isl_int value); +__isl_give isl_set *isl_set_fix(__isl_take isl_set *set, + enum isl_dim_type type, unsigned pos, isl_int value); + +int isl_set_plain_is_fixed(__isl_keep isl_set *set, + enum isl_dim_type type, unsigned pos, isl_int *val); + +#endif diff --git a/include/isl/deprecated/union_map_int.h b/include/isl/deprecated/union_map_int.h new file mode 100644 index 00000000..a38148d6 --- /dev/null +++ b/include/isl/deprecated/union_map_int.h @@ -0,0 +1,10 @@ +#ifndef ISL_DEPRECATED_UNION_MAP_INT_H +#define ISL_DEPRECATED_UNION_MAP_INT_H + +#include +#include + +__isl_give isl_union_map *isl_union_map_fixed_power( + __isl_take isl_union_map *umap, isl_int exp); + +#endif diff --git a/include/isl/val_int.h b/include/isl/deprecated/val_int.h similarity index 62% rename from include/isl/val_int.h rename to include/isl/deprecated/val_int.h index 521d5a6f..eaceeb7b 100644 --- a/include/isl/val_int.h +++ b/include/isl/deprecated/val_int.h @@ -1,7 +1,7 @@ -#ifndef ISL_VAL_INT_H -#define ISL_VAL_INT_H +#ifndef ISL_DEPRECATED_VAL_INT_H +#define ISL_DEPRECATED_VAL_INT_H -#include +#include #include __isl_give isl_val *isl_val_int_from_isl_int(isl_ctx *ctx, isl_int n); diff --git a/include/isl/deprecated/vec_int.h b/include/isl/deprecated/vec_int.h new file mode 100644 index 00000000..4cd116b0 --- /dev/null +++ b/include/isl/deprecated/vec_int.h @@ -0,0 +1,14 @@ +#ifndef ISL_DEPRECATED_VEC_INT_H +#define ISL_DEPRECATED_VEC_INT_H + +#include +#include + +int isl_vec_get_element(__isl_keep isl_vec *vec, int pos, isl_int *v); +__isl_give isl_vec *isl_vec_set_element(__isl_take isl_vec *vec, + int pos, isl_int v); + +__isl_give isl_vec *isl_vec_set(__isl_take isl_vec *vec, isl_int v); +__isl_give isl_vec *isl_vec_fdiv_r(__isl_take isl_vec *vec, isl_int m); + +#endif diff --git a/include/isl/ilp.h b/include/isl/ilp.h index 0e8c5b4a..c177014f 100644 --- a/include/isl/ilp.h +++ b/include/isl/ilp.h @@ -11,7 +11,7 @@ #define ISL_ILP_H #include -#include +#include #include #include @@ -19,17 +19,8 @@ extern "C" { #endif -enum isl_lp_result isl_basic_set_solve_ilp(struct isl_basic_set *bset, int max, - isl_int *f, isl_int *opt, - struct isl_vec **sol_p); -enum isl_lp_result isl_basic_set_max(__isl_keep isl_basic_set *bset, - __isl_keep isl_aff *obj, isl_int *opt); __isl_give isl_val *isl_basic_set_max_val(__isl_keep isl_basic_set *bset, __isl_keep isl_aff *obj); -enum isl_lp_result isl_set_min(__isl_keep isl_set *set, - __isl_keep isl_aff *obj, isl_int *opt); -enum isl_lp_result isl_set_max(__isl_keep isl_set *set, - __isl_keep isl_aff *obj, isl_int *opt); __isl_give isl_val *isl_set_min_val(__isl_keep isl_set *set, __isl_keep isl_aff *obj); __isl_give isl_val *isl_set_max_val(__isl_keep isl_set *set, diff --git a/include/isl/map.h b/include/isl/map.h index a6fd76ab..0451ccb6 100644 --- a/include/isl/map.h +++ b/include/isl/map.h @@ -12,7 +12,6 @@ #include -#include #include #include #include @@ -225,12 +224,9 @@ __isl_give isl_basic_map *isl_basic_map_upper_bound_si( struct isl_basic_map *isl_basic_map_sum( struct isl_basic_map *bmap1, struct isl_basic_map *bmap2); struct isl_basic_map *isl_basic_map_neg(struct isl_basic_map *bmap); -struct isl_basic_map *isl_basic_map_floordiv(struct isl_basic_map *bmap, - isl_int d); struct isl_map *isl_map_sum(struct isl_map *map1, struct isl_map *map2); struct isl_map *isl_map_neg(struct isl_map *map); -struct isl_map *isl_map_floordiv(struct isl_map *map, isl_int d); __isl_give isl_map *isl_map_floordiv_val(__isl_take isl_map *map, __isl_take isl_val *d); @@ -279,8 +275,6 @@ struct isl_basic_map *isl_map_copy_basic_map(struct isl_map *map); __isl_give isl_map *isl_map_drop_basic_map(__isl_take isl_map *map, __isl_keep isl_basic_map *bmap); -int isl_basic_map_plain_is_fixed(__isl_keep isl_basic_map *bmap, - enum isl_dim_type type, unsigned pos, isl_int *val); __isl_give isl_val *isl_basic_map_plain_get_val_if_fixed( __isl_keep isl_basic_map *bmap, enum isl_dim_type type, unsigned pos); @@ -390,8 +384,6 @@ __isl_export __isl_give isl_map *isl_map_complement(__isl_take isl_map *map); struct isl_map *isl_map_fix_input_si(struct isl_map *map, unsigned input, int value); -__isl_give isl_map *isl_map_fix(__isl_take isl_map *map, - enum isl_dim_type type, unsigned pos, isl_int value); __isl_give isl_map *isl_map_fix_si(__isl_take isl_map *map, enum isl_dim_type type, unsigned pos, int value); __isl_give isl_map *isl_map_fix_val(__isl_take isl_map *map, @@ -578,12 +570,6 @@ int isl_map_involves_dims(__isl_keep isl_map *map, void isl_map_print_internal(__isl_keep isl_map *map, FILE *out, int indent); -int isl_map_plain_input_is_fixed(__isl_keep isl_map *map, - unsigned in, isl_int *val); -int isl_map_plain_is_fixed(__isl_keep isl_map *map, - enum isl_dim_type type, unsigned pos, isl_int *val); -int isl_map_fast_is_fixed(__isl_keep isl_map *map, - enum isl_dim_type type, unsigned pos, isl_int *val); __isl_give isl_val *isl_map_plain_get_val_if_fixed(__isl_keep isl_map *map, enum isl_dim_type type, unsigned pos); @@ -617,7 +603,6 @@ int isl_map_foreach_basic_map(__isl_keep isl_map *map, __isl_give isl_map *isl_set_lifting(__isl_take isl_set *set); -__isl_give isl_map *isl_map_fixed_power(__isl_take isl_map *map, isl_int exp); __isl_give isl_map *isl_map_fixed_power_val(__isl_take isl_map *map, __isl_take isl_val *exp); __isl_give isl_map *isl_map_power(__isl_take isl_map *map, int *exact); diff --git a/include/isl/mat.h b/include/isl/mat.h index de88c489..d1dc0c1a 100644 --- a/include/isl/mat.h +++ b/include/isl/mat.h @@ -12,7 +12,6 @@ #include -#include #include #include #include @@ -38,11 +37,8 @@ void *isl_mat_free(__isl_take isl_mat *mat); int isl_mat_rows(__isl_keep isl_mat *mat); int isl_mat_cols(__isl_keep isl_mat *mat); -int isl_mat_get_element(__isl_keep isl_mat *mat, int row, int col, isl_int *v); __isl_give isl_val *isl_mat_get_element_val(__isl_keep isl_mat *mat, int row, int col); -__isl_give isl_mat *isl_mat_set_element(__isl_take isl_mat *mat, - int row, int col, isl_int v); __isl_give isl_mat *isl_mat_set_element_si(__isl_take isl_mat *mat, int row, int col, int v); __isl_give isl_mat *isl_mat_set_element_val(__isl_take isl_mat *mat, @@ -70,9 +66,6 @@ struct isl_mat *isl_mat_transpose(struct isl_mat *mat); __isl_give isl_mat *isl_mat_right_inverse(__isl_take isl_mat *mat); __isl_give isl_mat *isl_mat_right_kernel(__isl_take isl_mat *mat); -__isl_give isl_mat *isl_mat_scale_down_row(__isl_take isl_mat *mat, int row, - isl_int m); - __isl_give isl_mat *isl_mat_normalize(__isl_take isl_mat *mat); __isl_give isl_mat *isl_mat_normalize_row(__isl_take isl_mat *mat, int row); @@ -95,9 +88,6 @@ __isl_give isl_mat *isl_mat_insert_zero_rows(__isl_take isl_mat *mat, __isl_give isl_mat *isl_mat_add_zero_rows(__isl_take isl_mat *mat, unsigned n); void isl_mat_col_add(__isl_keep isl_mat *mat, int dst_col, int src_col); -void isl_mat_col_mul(struct isl_mat *mat, int dst_col, isl_int f, int src_col); -void isl_mat_col_submul(struct isl_mat *mat, - int dst_col, isl_int f, int src_col); struct isl_mat *isl_mat_unimodular_complete(struct isl_mat *M, int row); diff --git a/include/isl/point.h b/include/isl/point.h index 7816ed30..3247ebb2 100644 --- a/include/isl/point.h +++ b/include/isl/point.h @@ -19,12 +19,8 @@ __isl_give isl_point *isl_point_zero(__isl_take isl_space *dim); __isl_give isl_point *isl_point_copy(__isl_keep isl_point *pnt); void isl_point_free(__isl_take isl_point *pnt); -int isl_point_get_coordinate(__isl_keep isl_point *pnt, - enum isl_dim_type type, int pos, isl_int *v); __isl_give isl_val *isl_point_get_coordinate_val(__isl_keep isl_point *pnt, enum isl_dim_type type, int pos); -__isl_give isl_point *isl_point_set_coordinate(__isl_take isl_point *pnt, - enum isl_dim_type type, int pos, isl_int v); __isl_give isl_point *isl_point_set_coordinate_val(__isl_take isl_point *pnt, enum isl_dim_type type, int pos, __isl_take isl_val *v); diff --git a/include/isl/polynomial.h b/include/isl/polynomial.h index 7aef73ac..80799b46 100644 --- a/include/isl/polynomial.h +++ b/include/isl/polynomial.h @@ -37,8 +37,6 @@ __isl_give isl_qpolynomial *isl_qpolynomial_one_on_domain(__isl_take isl_space * __isl_give isl_qpolynomial *isl_qpolynomial_infty_on_domain(__isl_take isl_space *dim); __isl_give isl_qpolynomial *isl_qpolynomial_neginfty_on_domain(__isl_take isl_space *dim); __isl_give isl_qpolynomial *isl_qpolynomial_nan_on_domain(__isl_take isl_space *dim); -__isl_give isl_qpolynomial *isl_qpolynomial_rat_cst_on_domain(__isl_take isl_space *dim, - const isl_int n, const isl_int d); __isl_give isl_qpolynomial *isl_qpolynomial_val_on_domain( __isl_take isl_space *space, __isl_take isl_val *val); __isl_give isl_qpolynomial *isl_qpolynomial_var_on_domain(__isl_take isl_space *dim, @@ -53,9 +51,6 @@ int isl_qpolynomial_is_nan(__isl_keep isl_qpolynomial *qp); int isl_qpolynomial_is_infty(__isl_keep isl_qpolynomial *qp); int isl_qpolynomial_is_neginfty(__isl_keep isl_qpolynomial *qp); int isl_qpolynomial_sgn(__isl_keep isl_qpolynomial *qp); -int isl_qpolynomial_is_cst(__isl_keep isl_qpolynomial *qp, - isl_int *n, isl_int *d); -void isl_qpolynomial_get_den(__isl_keep isl_qpolynomial *qp, isl_int *d); __isl_give isl_qpolynomial *isl_qpolynomial_neg(__isl_take isl_qpolynomial *qp); __isl_give isl_qpolynomial *isl_qpolynomial_add(__isl_take isl_qpolynomial *qp1, @@ -66,12 +61,6 @@ __isl_give isl_qpolynomial *isl_qpolynomial_mul(__isl_take isl_qpolynomial *qp1, __isl_take isl_qpolynomial *qp2); __isl_give isl_qpolynomial *isl_qpolynomial_pow(__isl_take isl_qpolynomial *qp, unsigned power); -__isl_give isl_qpolynomial *isl_qpolynomial_add_isl_int( - __isl_take isl_qpolynomial *qp, isl_int v); -__isl_give isl_qpolynomial *isl_qpolynomial_mul_isl_int( - __isl_take isl_qpolynomial *qp, isl_int v); -__isl_give isl_qpolynomial *isl_qpolynomial_scale( - __isl_take isl_qpolynomial *qp, isl_int v); __isl_give isl_qpolynomial *isl_qpolynomial_scale_val( __isl_take isl_qpolynomial *qp, __isl_take isl_val *v); @@ -112,8 +101,6 @@ __isl_give isl_term *isl_term_copy(__isl_keep isl_term *term); void isl_term_free(__isl_take isl_term *term); unsigned isl_term_dim(__isl_keep isl_term *term, enum isl_dim_type type); -void isl_term_get_num(__isl_keep isl_term *term, isl_int *n); -void isl_term_get_den(__isl_keep isl_term *term, isl_int *d); __isl_give isl_val *isl_term_get_coefficient_val(__isl_keep isl_term *term); int isl_term_get_exp(__isl_keep isl_term *term, enum isl_dim_type type, unsigned pos); @@ -205,8 +192,6 @@ __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_neg( __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_mul( __isl_take isl_pw_qpolynomial *pwqp1, __isl_take isl_pw_qpolynomial *pwqp2); -__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_mul_isl_int( - __isl_take isl_pw_qpolynomial *pwqp, isl_int v); __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_scale_val( __isl_take isl_pw_qpolynomial *pwqp, __isl_take isl_val *v); __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_pow( @@ -223,9 +208,6 @@ __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_move_dims( enum isl_dim_type dst_type, unsigned dst_pos, enum isl_dim_type src_type, unsigned src_pos, unsigned n); -__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_fix_dim( - __isl_take isl_pw_qpolynomial *pwqp, - enum isl_dim_type type, unsigned n, isl_int v); __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_fix_val( __isl_take isl_pw_qpolynomial *pwqp, enum isl_dim_type type, unsigned n, __isl_take isl_val *v); @@ -295,10 +277,6 @@ __isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_fold( __isl_take isl_qpolynomial_fold *fold1, __isl_take isl_qpolynomial_fold *fold2); -__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_mul_isl_int( - __isl_take isl_qpolynomial_fold *fold, isl_int v); -__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_scale( - __isl_take isl_qpolynomial_fold *fold, isl_int v); __isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_scale_val( __isl_take isl_qpolynomial_fold *fold, __isl_take isl_val *v); @@ -385,8 +363,6 @@ __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_fold( __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_add_disjoint( __isl_take isl_pw_qpolynomial_fold *pwf1, __isl_take isl_pw_qpolynomial_fold *pwf2); -__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_mul_isl_int( - __isl_take isl_pw_qpolynomial_fold *pwf, isl_int v); __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_scale_val( __isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_val *v); @@ -400,10 +376,6 @@ __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_move_dims( enum isl_dim_type dst_type, unsigned dst_pos, enum isl_dim_type src_type, unsigned src_pos, unsigned n); -__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_fix_dim( - __isl_take isl_pw_qpolynomial_fold *pwf, - enum isl_dim_type type, unsigned n, isl_int v); - __isl_give isl_qpolynomial *isl_pw_qpolynomial_fold_eval( __isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_point *pnt); @@ -478,8 +450,6 @@ __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_sub( __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_mul( __isl_take isl_union_pw_qpolynomial *upwqp1, __isl_take isl_union_pw_qpolynomial *upwqp2); -__isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_mul_isl_int( - __isl_take isl_union_pw_qpolynomial *upwqp, isl_int v); __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_scale_val( __isl_take isl_union_pw_qpolynomial *upwqp, __isl_take isl_val *v); @@ -544,8 +514,6 @@ __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_fold( __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_add_union_pw_qpolynomial( __isl_take isl_union_pw_qpolynomial_fold *upwf, __isl_take isl_union_pw_qpolynomial *upwqp); -__isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_mul_isl_int( - __isl_take isl_union_pw_qpolynomial_fold *upwf, isl_int v); __isl_give isl_union_pw_qpolynomial_fold * isl_union_pw_qpolynomial_fold_scale_val( __isl_take isl_union_pw_qpolynomial_fold *upwf, __isl_take isl_val *v); diff --git a/include/isl/printer.h b/include/isl/printer.h index be748dd6..25c0441f 100644 --- a/include/isl/printer.h +++ b/include/isl/printer.h @@ -3,7 +3,6 @@ #include #include -#include #if defined(__cplusplus) extern "C" { @@ -49,8 +48,6 @@ __isl_give isl_printer *isl_printer_end_line(__isl_take isl_printer *p); __isl_give isl_printer *isl_printer_print_double(__isl_take isl_printer *p, double d); __isl_give isl_printer *isl_printer_print_int(__isl_take isl_printer *p, int i); -__isl_give isl_printer *isl_printer_print_isl_int(__isl_take isl_printer *p, - isl_int i); __isl_give isl_printer *isl_printer_print_str(__isl_take isl_printer *p, const char *s); diff --git a/include/isl/set.h b/include/isl/set.h index 06647d3b..8f3eced5 100644 --- a/include/isl/set.h +++ b/include/isl/set.h @@ -104,8 +104,6 @@ __isl_give isl_basic_set *isl_basic_set_nat_universe(__isl_take isl_space *dim); struct isl_basic_set *isl_basic_set_universe_like(struct isl_basic_set *bset); __isl_give isl_basic_set *isl_basic_set_universe_like_set( __isl_keep isl_set *model); -struct isl_basic_set *isl_basic_set_interval(struct isl_ctx *ctx, - isl_int min, isl_int max); __isl_give isl_basic_set *isl_basic_set_positive_orthant( __isl_take isl_space *space); void isl_basic_set_print_internal(__isl_keep isl_basic_set *bset, @@ -159,8 +157,6 @@ void isl_basic_set_print(__isl_keep isl_basic_set *bset, FILE *out, int indent, const char *prefix, const char *suffix, unsigned output_format); void isl_set_print(__isl_keep struct isl_set *set, FILE *out, int indent, unsigned output_format); -__isl_give isl_basic_set *isl_basic_set_fix(__isl_take isl_basic_set *bset, - enum isl_dim_type type, unsigned pos, isl_int value); __isl_give isl_basic_set *isl_basic_set_fix_si(__isl_take isl_basic_set *bset, enum isl_dim_type type, unsigned pos, int value); __isl_give isl_basic_set *isl_basic_set_fix_val(__isl_take isl_basic_set *bset, @@ -169,14 +165,10 @@ __isl_give isl_set *isl_set_fix_si(__isl_take isl_set *set, enum isl_dim_type type, unsigned pos, int value); __isl_give isl_set *isl_set_lower_bound_si(__isl_take isl_set *set, enum isl_dim_type type, unsigned pos, int value); -__isl_give isl_set *isl_set_lower_bound(__isl_take isl_set *set, - enum isl_dim_type type, unsigned pos, isl_int value); __isl_give isl_set *isl_set_lower_bound_val(__isl_take isl_set *set, enum isl_dim_type type, unsigned pos, __isl_take isl_val *value); __isl_give isl_set *isl_set_upper_bound_si(__isl_take isl_set *set, enum isl_dim_type type, unsigned pos, int value); -__isl_give isl_set *isl_set_upper_bound(__isl_take isl_set *set, - enum isl_dim_type type, unsigned pos, isl_int value); __isl_give isl_set *isl_set_upper_bound_val(__isl_take isl_set *set, enum isl_dim_type type, unsigned pos, __isl_take isl_val *value); @@ -320,14 +312,10 @@ __isl_give isl_set *isl_set_preimage_multi_aff(__isl_take isl_set *set, __isl_take isl_multi_aff *ma); __isl_give isl_set *isl_set_preimage_pw_multi_aff(__isl_take isl_set *set, __isl_take isl_pw_multi_aff *pma); -__isl_give isl_set *isl_set_fix(__isl_take isl_set *set, - enum isl_dim_type type, unsigned pos, isl_int value); __isl_give isl_set *isl_set_fix_val(__isl_take isl_set *set, enum isl_dim_type type, unsigned pos, __isl_take isl_val *v); struct isl_set *isl_set_fix_dim_si(struct isl_set *set, unsigned dim, int value); -struct isl_set *isl_set_lower_bound_dim(struct isl_set *set, - unsigned dim, isl_int value); __isl_give isl_basic_set *isl_basic_set_insert_dims( __isl_take isl_basic_set *bset, enum isl_dim_type type, unsigned pos, unsigned n); @@ -424,19 +412,8 @@ struct isl_basic_set *isl_set_copy_basic_set(struct isl_set *set); struct isl_set *isl_set_drop_basic_set(struct isl_set *set, struct isl_basic_set *bset); -int isl_basic_set_plain_dim_is_fixed(__isl_keep isl_basic_set *bset, - unsigned dim, isl_int *val); - -int isl_set_plain_is_fixed(__isl_keep isl_set *set, - enum isl_dim_type type, unsigned pos, isl_int *val); -int isl_set_plain_dim_is_fixed(__isl_keep isl_set *set, - unsigned dim, isl_int *val); -int isl_set_fast_dim_is_fixed(__isl_keep isl_set *set, - unsigned dim, isl_int *val); __isl_give isl_val *isl_set_plain_get_val_if_fixed(__isl_keep isl_set *set, enum isl_dim_type type, unsigned pos); -int isl_set_plain_dim_has_fixed_lower_bound(__isl_keep isl_set *set, - unsigned dim, isl_int *val); int isl_set_dim_is_bounded(__isl_keep isl_set *set, enum isl_dim_type type, unsigned pos); int isl_set_dim_has_lower_bound(__isl_keep isl_set *set, @@ -458,10 +435,6 @@ __isl_give isl_set *isl_set_gist(__isl_take isl_set *set, __isl_take isl_set *context); __isl_give isl_set *isl_set_gist_params(__isl_take isl_set *set, __isl_take isl_set *context); -int isl_basic_set_dim_residue_class(struct isl_basic_set *bset, - int pos, isl_int *modulo, isl_int *residue); -int isl_set_dim_residue_class(struct isl_set *set, - int pos, isl_int *modulo, isl_int *residue); int isl_set_dim_residue_class_val(__isl_keep isl_set *set, int pos, __isl_give isl_val **modulo, __isl_give isl_val **residue); @@ -487,11 +460,7 @@ int isl_set_foreach_basic_set(__isl_keep isl_set *set, int isl_set_foreach_point(__isl_keep isl_set *set, int (*fn)(__isl_take isl_point *pnt, void *user), void *user); -int isl_set_count(__isl_keep isl_set *set, isl_int *count); __isl_give isl_val *isl_set_count_val(__isl_keep isl_set *set); -int isl_basic_set_count_upto(__isl_keep isl_basic_set *bset, - isl_int max, isl_int *count); -int isl_set_count_upto(__isl_keep isl_set *set, isl_int max, isl_int *count); __isl_give isl_basic_set *isl_basic_set_from_point(__isl_take isl_point *pnt); __isl_give isl_set *isl_set_from_point(__isl_take isl_point *pnt); diff --git a/include/isl/union_map.h b/include/isl/union_map.h index 5084483b..b98e9f15 100644 --- a/include/isl/union_map.h +++ b/include/isl/union_map.h @@ -159,8 +159,6 @@ __isl_give isl_map *isl_map_from_union_map(__isl_take isl_union_map *umap); __isl_give isl_basic_map *isl_union_map_sample(__isl_take isl_union_map *umap); -__isl_give isl_union_map *isl_union_map_fixed_power( - __isl_take isl_union_map *umap, isl_int exp); __isl_give isl_union_map *isl_union_map_fixed_power_val( __isl_take isl_union_map *umap, __isl_take isl_val *exp); __isl_give isl_union_map *isl_union_map_power(__isl_take isl_union_map *umap, diff --git a/include/isl/vec.h b/include/isl/vec.h index 63ed6cf9..71f1c8c0 100644 --- a/include/isl/vec.h +++ b/include/isl/vec.h @@ -30,10 +30,7 @@ void *isl_vec_free(__isl_take isl_vec *vec); isl_ctx *isl_vec_get_ctx(__isl_keep isl_vec *vec); int isl_vec_size(__isl_keep isl_vec *vec); -int isl_vec_get_element(__isl_keep isl_vec *vec, int pos, isl_int *v); __isl_give isl_val *isl_vec_get_element_val(__isl_keep isl_vec *vec, int pos); -__isl_give isl_vec *isl_vec_set_element(__isl_take isl_vec *vec, - int pos, isl_int v); __isl_give isl_vec *isl_vec_set_element_si(__isl_take isl_vec *vec, int pos, int v); __isl_give isl_vec *isl_vec_set_element_val(__isl_take isl_vec *vec, @@ -47,17 +44,13 @@ void isl_vec_dump(__isl_keep isl_vec *vec); __isl_give isl_printer *isl_printer_print_vec(__isl_take isl_printer *printer, __isl_keep isl_vec *vec); -void isl_vec_lcm(struct isl_vec *vec, isl_int *lcm); struct isl_vec *isl_vec_ceil(struct isl_vec *vec); struct isl_vec *isl_vec_normalize(struct isl_vec *vec); -__isl_give isl_vec *isl_vec_set(__isl_take isl_vec *vec, isl_int v); __isl_give isl_vec *isl_vec_set_si(__isl_take isl_vec *vec, int v); __isl_give isl_vec *isl_vec_set_val(__isl_take isl_vec *vec, __isl_take isl_val *v); __isl_give isl_vec *isl_vec_clr(__isl_take isl_vec *vec); __isl_give isl_vec *isl_vec_neg(__isl_take isl_vec *vec); -__isl_give isl_vec *isl_vec_scale(__isl_take isl_vec *vec, isl_int m); -__isl_give isl_vec *isl_vec_fdiv_r(__isl_take isl_vec *vec, isl_int m); __isl_give isl_vec *isl_vec_add(__isl_take isl_vec *vec1, __isl_take isl_vec *vec2); __isl_give isl_vec *isl_vec_extend(__isl_take isl_vec *vec, unsigned size); diff --git a/isl_aff.c b/isl_aff.c index 640b744e..3041977e 100644 --- a/isl_aff.c +++ b/isl_aff.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #undef BASE diff --git a/isl_aff_private.h b/isl_aff_private.h index e89b36ca..9832deb3 100644 --- a/isl_aff_private.h +++ b/isl_aff_private.h @@ -67,6 +67,12 @@ __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); +int isl_aff_get_constant(__isl_keep isl_aff *aff, isl_int *v); +__isl_give isl_aff *isl_aff_set_constant(__isl_take isl_aff *aff, isl_int v); +__isl_give isl_aff *isl_aff_set_coefficient(__isl_take isl_aff *aff, + enum isl_dim_type type, int pos, 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_normalize(__isl_take isl_aff *aff); __isl_give isl_aff *isl_aff_expand_divs( __isl_take isl_aff *aff, @@ -88,6 +94,11 @@ __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); +__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_down(__isl_take isl_pw_aff *pwaff, + isl_int f); + int isl_aff_check_match_domain_space(__isl_keep isl_aff *aff, __isl_keep isl_space *space); diff --git a/isl_ast.c b/isl_ast.c index 5885e413..ce77ddb1 100644 --- a/isl_ast.c +++ b/isl_ast.c @@ -1,5 +1,4 @@ #include -#include #undef BASE #define BASE ast_expr @@ -231,16 +230,6 @@ enum isl_ast_expr_type isl_ast_expr_get_type(__isl_keep isl_ast_expr *expr) return expr ? expr->type : isl_ast_expr_error; } -int isl_ast_expr_get_int(__isl_keep isl_ast_expr *expr, isl_int *v) -{ - if (!expr) - return -1; - if (expr->type != isl_ast_expr_int) - isl_die(isl_ast_expr_get_ctx(expr), isl_error_invalid, - "expression not an int", return -1); - return isl_val_get_num_isl_int(expr->u.v, v); -} - /* Return the integer value represented by "expr". */ __isl_give isl_val *isl_ast_expr_get_val(__isl_keep isl_ast_expr *expr) diff --git a/isl_ast_int.c b/isl_ast_int.c new file mode 100644 index 00000000..178c38cf --- /dev/null +++ b/isl_ast_int.c @@ -0,0 +1,13 @@ +#include +#include +#include + +int isl_ast_expr_get_int(__isl_keep isl_ast_expr *expr, isl_int *v) +{ + if (!expr) + return -1; + if (expr->type != isl_ast_expr_int) + isl_die(isl_ast_expr_get_ctx(expr), isl_error_invalid, + "expression not an int", return -1); + return isl_val_get_num_isl_int(expr->u.v, v); +} diff --git a/isl_blk.h b/isl_blk.h index dcd8cf62..7756e010 100644 --- a/isl_blk.h +++ b/isl_blk.h @@ -10,7 +10,7 @@ #ifndef ISL_BLK_H #define ISL_BLK_H -#include +#include #if defined(__cplusplus) extern "C" { diff --git a/isl_constraint.c b/isl_constraint.c index 4a4d4cd8..61373235 100644 --- a/isl_constraint.c +++ b/isl_constraint.c @@ -18,6 +18,7 @@ #include #include #include +#include #undef BASE #define BASE constraint diff --git a/isl_constraint_private.h b/isl_constraint_private.h index e02f0762..5cef0170 100644 --- a/isl_constraint_private.h +++ b/isl_constraint_private.h @@ -21,4 +21,12 @@ struct isl_constraint { struct isl_constraint *isl_basic_set_constraint(struct isl_basic_set *bset, isl_int **line); +void isl_constraint_get_coefficient(__isl_keep isl_constraint *constraint, + enum isl_dim_type type, int pos, isl_int *v); +__isl_give isl_constraint *isl_constraint_set_constant( + __isl_take isl_constraint *constraint, isl_int v); +__isl_give isl_constraint *isl_constraint_set_coefficient( + __isl_take isl_constraint *constraint, + enum isl_dim_type type, int pos, isl_int v); + #endif diff --git a/isl_fold.c b/isl_fold.c index cba6ad10..37922367 100644 --- a/isl_fold.c +++ b/isl_fold.c @@ -20,6 +20,7 @@ #include #include #include +#include enum isl_fold isl_fold_type_negate(enum isl_fold type) { diff --git a/isl_ilp.c b/isl_ilp.c index 35e8eb52..331869a5 100644 --- a/isl_ilp.c +++ b/isl_ilp.c @@ -19,6 +19,8 @@ #include #include #include +#include +#include /* Given a basic set "bset", construct a basic set U such that for * each element x in U, the whole unit box positioned at x is inside diff --git a/isl_ilp_private.h b/isl_ilp_private.h new file mode 100644 index 00000000..932b2c3d --- /dev/null +++ b/isl_ilp_private.h @@ -0,0 +1,11 @@ +#ifndef ISL_ILP_PRIVATE_H +#define ISL_ILP_PRIVATE_H + +#include +#include +#include + +enum isl_lp_result isl_basic_set_solve_ilp(__isl_keep isl_basic_set *bset, + int max, isl_int *f, isl_int *opt, __isl_give isl_vec **sol_p); + +#endif diff --git a/isl_int.h b/isl_int.h index c661f292..520b4869 100644 --- a/isl_int.h +++ b/isl_int.h @@ -9,8 +9,10 @@ #ifndef ISL_INT_H #define ISL_INT_H +#define ISL_DEPRECATED_INT_H #include +#include #include #include #include @@ -121,4 +123,7 @@ void isl_gmp_gcdext(mpz_t G, mpz_t S, mpz_t T, mpz_t A, mpz_t B); uint32_t isl_gmp_hash(mpz_t v, uint32_t hash); #define isl_int_hash(v,h) isl_gmp_hash(v,h) +__isl_give isl_printer *isl_printer_print_isl_int(__isl_take isl_printer *p, + isl_int i); + #endif diff --git a/isl_lp_piplib.h b/isl_lp_piplib.h index f1d924ea..0321f4f9 100644 --- a/isl_lp_piplib.h +++ b/isl_lp_piplib.h @@ -10,8 +10,7 @@ #ifndef ISL_LP_PIPLIB_H #define ISL_LP_PIPLIB_H -#include -#include +#include #if defined(__cplusplus) extern "C" { diff --git a/isl_lp_private.h b/isl_lp_private.h index 5ad3ed2d..ddc44c1e 100644 --- a/isl_lp_private.h +++ b/isl_lp_private.h @@ -1,7 +1,9 @@ #ifndef ISL_LP_PRIVATE_H #define ISL_LP_PRIVATE_H +#include #include +#include enum isl_lp_result isl_basic_map_solve_lp(__isl_keep isl_basic_map *bmap, int max, isl_int *f, isl_int denom, isl_int *opt, isl_int *opt_denom, diff --git a/isl_map.c b/isl_map.c index 74ec7adb..96f9104d 100644 --- a/isl_map.c +++ b/isl_map.c @@ -35,6 +35,8 @@ #include #include #include +#include +#include static unsigned n(__isl_keep isl_space *dim, enum isl_dim_type type) { diff --git a/isl_map_private.h b/isl_map_private.h index 3fb2d216..c57a9693 100644 --- a/isl_map_private.h +++ b/isl_map_private.h @@ -366,4 +366,25 @@ int isl_basic_map_plain_is_single_valued(__isl_keep isl_basic_map *bmap); int isl_map_is_set(__isl_keep isl_map *map); +int isl_basic_set_plain_dim_is_fixed(__isl_keep isl_basic_set *bset, + unsigned dim, isl_int *val); + +int isl_basic_set_dim_residue_class(struct isl_basic_set *bset, + int pos, isl_int *modulo, isl_int *residue); +int isl_set_dim_residue_class(struct isl_set *set, + int pos, isl_int *modulo, isl_int *residue); + +__isl_give isl_basic_set *isl_basic_set_fix(__isl_take isl_basic_set *bset, + enum isl_dim_type type, unsigned pos, isl_int value); +__isl_give isl_set *isl_set_fix(__isl_take isl_set *set, + enum isl_dim_type type, unsigned pos, isl_int value); +int isl_map_plain_is_fixed(__isl_keep isl_map *map, + enum isl_dim_type type, unsigned pos, isl_int *val); + +__isl_give isl_map *isl_map_fixed_power(__isl_take isl_map *map, isl_int exp); + +int isl_basic_set_count_upto(__isl_keep isl_basic_set *bset, + isl_int max, isl_int *count); +int isl_set_count_upto(__isl_keep isl_set *set, isl_int max, isl_int *count); + #endif diff --git a/isl_mat.c b/isl_mat.c index aa78c680..a81c40d4 100644 --- a/isl_mat.c +++ b/isl_mat.c @@ -15,6 +15,7 @@ #include #include #include +#include isl_ctx *isl_mat_get_ctx(__isl_keep isl_mat *mat) { diff --git a/isl_mat_private.h b/isl_mat_private.h index 346ec888..0da733e1 100644 --- a/isl_mat_private.h +++ b/isl_mat_private.h @@ -29,3 +29,14 @@ void isl_mat_sub_copy(struct isl_ctx *ctx, isl_int **dst, isl_int **src, void isl_mat_sub_neg(struct isl_ctx *ctx, isl_int **dst, isl_int **src, unsigned n_row, unsigned dst_col, unsigned src_col, unsigned n_col); __isl_give isl_mat *isl_mat_diag(isl_ctx *ctx, unsigned n_row, isl_int d); + +__isl_give isl_mat *isl_mat_scale_down_row(__isl_take isl_mat *mat, int row, + isl_int m); + +void isl_mat_col_mul(struct isl_mat *mat, int dst_col, isl_int f, int src_col); +void isl_mat_col_submul(struct isl_mat *mat, + int dst_col, isl_int f, int src_col); + +int isl_mat_get_element(__isl_keep isl_mat *mat, int row, int col, isl_int *v); +__isl_give isl_mat *isl_mat_set_element(__isl_take isl_mat *mat, + int row, int col, isl_int v); diff --git a/isl_point.c b/isl_point.c index 495bcfcb..a0a3f890 100644 --- a/isl_point.c +++ b/isl_point.c @@ -7,6 +7,7 @@ #include #include #include +#include isl_ctx *isl_point_get_ctx(__isl_keep isl_point *pnt) { diff --git a/isl_polynomial.c b/isl_polynomial.c index 1729c7e8..8a79e683 100644 --- a/isl_polynomial.c +++ b/isl_polynomial.c @@ -27,6 +27,7 @@ #include #include #include +#include static unsigned pos(__isl_keep isl_space *dim, enum isl_dim_type type) { diff --git a/isl_polynomial_private.h b/isl_polynomial_private.h index 73707310..08b28e84 100644 --- a/isl_polynomial_private.h +++ b/isl_polynomial_private.h @@ -1,4 +1,5 @@ #include +#include #include #include #include @@ -95,6 +96,8 @@ struct isl_pw_qpolynomial_fold { struct isl_pw_qpolynomial_fold_piece p[1]; }; +void isl_term_get_num(__isl_keep isl_term *term, isl_int *n); + __isl_give struct isl_upoly *isl_upoly_zero(struct isl_ctx *ctx); __isl_give struct isl_upoly *isl_upoly_copy(__isl_keep struct isl_upoly *up); __isl_give struct isl_upoly *isl_upoly_cow(__isl_take struct isl_upoly *up); @@ -122,10 +125,14 @@ __isl_give isl_qpolynomial *isl_qpolynomial_dup(__isl_keep isl_qpolynomial *qp); __isl_give isl_qpolynomial *isl_qpolynomial_cst_on_domain(__isl_take isl_space *dim, isl_int v); +__isl_give isl_qpolynomial *isl_qpolynomial_rat_cst_on_domain( + __isl_take isl_space *space, const isl_int n, const isl_int d); __isl_give isl_qpolynomial *isl_qpolynomial_var_pow_on_domain(__isl_take isl_space *dim, int pos, int power); int isl_qpolynomial_is_one(__isl_keep isl_qpolynomial *qp); int isl_qpolynomial_is_affine(__isl_keep isl_qpolynomial *qp); +int isl_qpolynomial_is_cst(__isl_keep isl_qpolynomial *qp, + isl_int *n, isl_int *d); __isl_give isl_qpolynomial *isl_qpolynomial_add_on_domain( __isl_keep isl_set *dom, @@ -231,3 +238,21 @@ __isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_reset_space_and_domain( __isl_take isl_space *domain); __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_reset_domain_space( __isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_space *dim); + +void isl_qpolynomial_get_den(__isl_keep isl_qpolynomial *qp, isl_int *d); +__isl_give isl_qpolynomial *isl_qpolynomial_add_isl_int( + __isl_take isl_qpolynomial *qp, isl_int v); +__isl_give isl_qpolynomial *isl_qpolynomial_mul_isl_int( + __isl_take isl_qpolynomial *qp, isl_int v); +__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_mul_isl_int( + __isl_take isl_pw_qpolynomial *pwqp, isl_int v); + +__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_mul_isl_int( + __isl_take isl_qpolynomial_fold *fold, isl_int v); +__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_mul_isl_int( + __isl_take isl_pw_qpolynomial_fold *pwf, isl_int v); +__isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_mul_isl_int( + __isl_take isl_union_pw_qpolynomial *upwqp, isl_int v); +__isl_give isl_union_pw_qpolynomial_fold * +isl_union_pw_qpolynomial_fold_mul_isl_int( + __isl_take isl_union_pw_qpolynomial_fold *upwf, isl_int v); diff --git a/isl_printer.c b/isl_printer.c index e0821f2a..4458e972 100644 --- a/isl_printer.c +++ b/isl_printer.c @@ -1,4 +1,5 @@ #include +#include #include static __isl_give isl_printer *file_start_line(__isl_take isl_printer *p) diff --git a/isl_range.c b/isl_range.c index 865cb797..c31c4601 100644 --- a/isl_range.c +++ b/isl_range.c @@ -1,5 +1,5 @@ #include -#include +#include #include #include #include diff --git a/isl_schedule.c b/isl_schedule.c index fccff793..5477f483 100644 --- a/isl_schedule.c +++ b/isl_schedule.c @@ -13,7 +13,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/isl_seq.h b/isl_seq.h index 0963352d..66c97ad7 100644 --- a/isl_seq.h +++ b/isl_seq.h @@ -11,7 +11,7 @@ #define ISL_SEQ_H #include -#include +#include #include #if defined(__cplusplus) diff --git a/isl_stream_private.h b/isl_stream_private.h index 958035cf..d5d44221 100644 --- a/isl_stream_private.h +++ b/isl_stream_private.h @@ -1,3 +1,4 @@ +#include #include struct isl_token { diff --git a/isl_test.c b/isl_test.c index a5085349..ab65f3a2 100644 --- a/isl_test.c +++ b/isl_test.c @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/isl_union_map.c b/isl_union_map.c index 32a86fdd..2c4bdf30 100644 --- a/isl_union_map.c +++ b/isl_union_map.c @@ -18,6 +18,7 @@ #include #include #include +#include /* Is this union set a parameter domain? */ diff --git a/isl_val_private.h b/isl_val_private.h index 7ecb1a3c..769fe1fd 100644 --- a/isl_val_private.h +++ b/isl_val_private.h @@ -1,7 +1,7 @@ #ifndef ISL_VAL_PRIVATE_H #define ISL_VAL_PRIVATE_H -#include +#include #include #include #include diff --git a/isl_vec.c b/isl_vec.c index c6cdc5bb..3a772e81 100644 --- a/isl_vec.c +++ b/isl_vec.c @@ -11,6 +11,7 @@ #include #include #include +#include isl_ctx *isl_vec_get_ctx(__isl_keep isl_vec *vec) { diff --git a/isl_vec_private.h b/isl_vec_private.h index f2fdb3bd..c3fcd922 100644 --- a/isl_vec_private.h +++ b/isl_vec_private.h @@ -17,4 +17,8 @@ struct isl_vec { __isl_give isl_vec *isl_vec_cow(__isl_take isl_vec *vec); +void isl_vec_lcm(struct isl_vec *vec, isl_int *lcm); +int isl_vec_get_element(__isl_keep isl_vec *vec, int pos, isl_int *v); +__isl_give isl_vec *isl_vec_set(__isl_take isl_vec *vec, isl_int v); + #endif diff --git a/pip.c b/pip.c index 2b2ce986..707da1c4 100644 --- a/pip.c +++ b/pip.c @@ -17,7 +17,7 @@ #include "isl_sample.h" #include "isl_scan.h" #include -#include +#include #include #include #include diff --git a/polyhedron_minimize.c b/polyhedron_minimize.c index 62e51c6e..526b3736 100644 --- a/polyhedron_minimize.c +++ b/polyhedron_minimize.c @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include #include -- 2.11.4.GIT