X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=include%2Fisl%2Fpolynomial.h;h=555a2b46f704f45d695e19172bfe41da7b1c2b33;hb=ca90b151a05f17ccc1c3215ff24dc5d7b9198ff4;hp=228eb9439467d25876aea08293a50a8458f1c340;hpb=ae64dabc8d1a2dac1b5e0e7aa6e8e7052a611a75;p=platform%2Fupstream%2Fisl.git diff --git a/include/isl/polynomial.h b/include/isl/polynomial.h index 228eb94..555a2b4 100644 --- a/include/isl/polynomial.h +++ b/include/isl/polynomial.h @@ -7,9 +7,10 @@ #include #include #include -#include +#include #include #include +#include #if defined(__cplusplus) extern "C" { @@ -24,6 +25,9 @@ unsigned isl_qpolynomial_dim(__isl_keep isl_qpolynomial *qp, int isl_qpolynomial_involves_dims(__isl_keep isl_qpolynomial *qp, enum isl_dim_type type, unsigned first, unsigned n); +__isl_give isl_val *isl_qpolynomial_get_constant_val( + __isl_keep isl_qpolynomial *qp); + __isl_give isl_qpolynomial *isl_qpolynomial_set_dim_name( __isl_take isl_qpolynomial *qp, enum isl_dim_type type, unsigned pos, const char *s); @@ -35,6 +39,8 @@ __isl_give isl_qpolynomial *isl_qpolynomial_neginfty_on_domain(__isl_take isl_sp __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, enum isl_dim_type type, unsigned pos); __isl_give isl_qpolynomial *isl_qpolynomial_copy(__isl_keep isl_qpolynomial *qp); @@ -66,6 +72,8 @@ __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); __isl_give isl_qpolynomial *isl_qpolynomial_insert_dims( __isl_take isl_qpolynomial *qp, enum isl_dim_type type, @@ -106,6 +114,7 @@ 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); __isl_give isl_aff *isl_term_get_div(__isl_keep isl_term *term, unsigned pos); @@ -116,6 +125,8 @@ int isl_qpolynomial_foreach_term(__isl_keep isl_qpolynomial *qp, __isl_give isl_qpolynomial *isl_qpolynomial_eval( __isl_take isl_qpolynomial *qp, __isl_take isl_point *pnt); +__isl_give isl_qpolynomial *isl_qpolynomial_gist_params( + __isl_take isl_qpolynomial *qp, __isl_take isl_set *context); __isl_give isl_qpolynomial *isl_qpolynomial_gist( __isl_take isl_qpolynomial *qp, __isl_take isl_set *context); @@ -168,6 +179,8 @@ __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_set_dim_name( __isl_give isl_set *isl_pw_qpolynomial_domain(__isl_take isl_pw_qpolynomial *pwqp); __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_intersect_domain( __isl_take isl_pw_qpolynomial *pwpq, __isl_take isl_set *set); +__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_intersect_params( + __isl_take isl_pw_qpolynomial *pwpq, __isl_take isl_set *set); __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_project_domain_on_params( __isl_take isl_pw_qpolynomial *pwqp); @@ -230,6 +243,7 @@ int isl_pw_qpolynomial_foreach_lifted_piece(__isl_keep isl_pw_qpolynomial *pwqp, __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_from_pw_aff( __isl_take isl_pw_aff *pwaff); +__isl_constructor __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_read_from_str(isl_ctx *ctx, const char *str); __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_read_from_file(isl_ctx *ctx, @@ -244,6 +258,8 @@ __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_coalesce( __isl_take isl_pw_qpolynomial *pwqp); __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_gist( __isl_take isl_pw_qpolynomial *pwqp, __isl_take isl_set *context); +__isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_gist_params( + __isl_take isl_pw_qpolynomial *pwqp, __isl_take isl_set *context); __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_split_periods( __isl_take isl_pw_qpolynomial *pwqp, int max_periods); @@ -278,6 +294,8 @@ __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); __isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_move_dims( __isl_take isl_qpolynomial_fold *fold, @@ -292,6 +310,11 @@ __isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_substitute( __isl_give isl_qpolynomial *isl_qpolynomial_fold_eval( __isl_take isl_qpolynomial_fold *fold, __isl_take isl_point *pnt); +__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_gist_params( + __isl_take isl_qpolynomial_fold *fold, __isl_take isl_set *context); +__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_gist( + __isl_take isl_qpolynomial_fold *fold, __isl_take isl_set *context); + int isl_qpolynomial_fold_foreach_qpolynomial( __isl_keep isl_qpolynomial_fold *fold, int (*fn)(__isl_take isl_qpolynomial *qp, void *user), void *user); @@ -345,6 +368,8 @@ __isl_give isl_set *isl_pw_qpolynomial_fold_domain( __isl_take isl_pw_qpolynomial_fold *pwf); __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_intersect_domain( __isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_set *set); +__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_intersect_params( + __isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_set *set); __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_add( __isl_take isl_pw_qpolynomial_fold *pwf1, @@ -394,6 +419,8 @@ __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_coalesce( __isl_take isl_pw_qpolynomial_fold *pwf); __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_gist( __isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_set *context); +__isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_gist_params( + __isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_set *context); __isl_give isl_qpolynomial *isl_pw_qpolynomial_fold_max( __isl_take isl_pw_qpolynomial_fold *pwf); @@ -429,8 +456,9 @@ __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_add_pw_qpolynomial __isl_take isl_pw_qpolynomial *pwqp); __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_copy( __isl_keep isl_union_pw_qpolynomial *upwqp); -void isl_union_pw_qpolynomial_free(__isl_take isl_union_pw_qpolynomial *upwqp); +void *isl_union_pw_qpolynomial_free(__isl_take isl_union_pw_qpolynomial *upwqp); +__isl_constructor __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_read_from_str( isl_ctx *ctx, const char *str); @@ -451,6 +479,9 @@ __isl_give isl_union_set *isl_union_pw_qpolynomial_domain( __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_intersect_domain( __isl_take isl_union_pw_qpolynomial *upwpq, __isl_take isl_union_set *uset); +__isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_intersect_params( + __isl_take isl_union_pw_qpolynomial *upwpq, + __isl_take isl_set *set); __isl_give isl_space *isl_union_pw_qpolynomial_get_space( __isl_keep isl_union_pw_qpolynomial *upwqp); @@ -463,6 +494,9 @@ __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_coalesce( __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_gist( __isl_take isl_union_pw_qpolynomial *upwqp, __isl_take isl_union_set *context); +__isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_gist_params( + __isl_take isl_union_pw_qpolynomial *upwqp, + __isl_take isl_set *context); __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_align_params( __isl_take isl_union_pw_qpolynomial *upwqp, @@ -490,7 +524,7 @@ __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_zero( __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_fold_pw_qpolynomial_fold( __isl_take isl_union_pw_qpolynomial_fold *upwqp, __isl_take isl_pw_qpolynomial_fold *pwqp); -void isl_union_pw_qpolynomial_fold_free( +void *isl_union_pw_qpolynomial_fold_free( __isl_take isl_union_pw_qpolynomial_fold *upwf); __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_copy( __isl_keep isl_union_pw_qpolynomial_fold *upwf); @@ -509,6 +543,10 @@ __isl_give isl_union_set *isl_union_pw_qpolynomial_fold_domain( __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_intersect_domain( __isl_take isl_union_pw_qpolynomial_fold *upwf, __isl_take isl_union_set *uset); +__isl_give isl_union_pw_qpolynomial_fold * +isl_union_pw_qpolynomial_fold_intersect_params( + __isl_take isl_union_pw_qpolynomial_fold *upwf, + __isl_take isl_set *set); enum isl_fold isl_union_pw_qpolynomial_fold_get_type( __isl_keep isl_union_pw_qpolynomial_fold *upwf); @@ -524,6 +562,10 @@ __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_coalesce __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_gist( __isl_take isl_union_pw_qpolynomial_fold *upwf, __isl_take isl_union_set *context); +__isl_give isl_union_pw_qpolynomial_fold * +isl_union_pw_qpolynomial_fold_gist_params( + __isl_take isl_union_pw_qpolynomial_fold *upwf, + __isl_take isl_set *context); __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_align_params( __isl_take isl_union_pw_qpolynomial_fold *upwf,