Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:48:19

0001 #ifndef ISL_POLYNOMIAL_H
0002 #define ISL_POLYNOMIAL_H
0003 
0004 #include <isl/ctx.h>
0005 #include <isl/constraint.h>
0006 #include <isl/space_type.h>
0007 #include <isl/set_type.h>
0008 #include <isl/point.h>
0009 #include <isl/printer.h>
0010 #include <isl/union_set_type.h>
0011 #include <isl/aff_type.h>
0012 #include <isl/polynomial_type.h>
0013 #include <isl/val_type.h>
0014 
0015 #if defined(__cplusplus)
0016 extern "C" {
0017 #endif
0018 
0019 isl_ctx *isl_qpolynomial_get_ctx(__isl_keep isl_qpolynomial *qp);
0020 __isl_give isl_space *isl_qpolynomial_get_domain_space(
0021     __isl_keep isl_qpolynomial *qp);
0022 __isl_give isl_space *isl_qpolynomial_get_space(__isl_keep isl_qpolynomial *qp);
0023 isl_size isl_qpolynomial_dim(__isl_keep isl_qpolynomial *qp,
0024     enum isl_dim_type type);
0025 isl_bool isl_qpolynomial_involves_dims(__isl_keep isl_qpolynomial *qp,
0026     enum isl_dim_type type, unsigned first, unsigned n);
0027 
0028 __isl_give isl_val *isl_qpolynomial_get_constant_val(
0029     __isl_keep isl_qpolynomial *qp);
0030 
0031 __isl_give isl_qpolynomial *isl_qpolynomial_set_dim_name(
0032     __isl_take isl_qpolynomial *qp,
0033     enum isl_dim_type type, unsigned pos, const char *s);
0034 
0035 __isl_give isl_qpolynomial *isl_qpolynomial_zero_on_domain(
0036     __isl_take isl_space *domain);
0037 __isl_give isl_qpolynomial *isl_qpolynomial_one_on_domain(
0038     __isl_take isl_space *domain);
0039 __isl_give isl_qpolynomial *isl_qpolynomial_infty_on_domain(
0040     __isl_take isl_space *domain);
0041 __isl_give isl_qpolynomial *isl_qpolynomial_neginfty_on_domain(
0042     __isl_take isl_space *domain);
0043 __isl_give isl_qpolynomial *isl_qpolynomial_nan_on_domain(
0044     __isl_take isl_space *domain);
0045 __isl_give isl_qpolynomial *isl_qpolynomial_val_on_domain(
0046     __isl_take isl_space *space, __isl_take isl_val *val);
0047 __isl_give isl_qpolynomial *isl_qpolynomial_var_on_domain(
0048     __isl_take isl_space *domain,
0049     enum isl_dim_type type, unsigned pos);
0050 __isl_give isl_qpolynomial *isl_qpolynomial_copy(__isl_keep isl_qpolynomial *qp);
0051 __isl_null isl_qpolynomial *isl_qpolynomial_free(
0052     __isl_take isl_qpolynomial *qp);
0053 
0054 isl_bool isl_qpolynomial_plain_is_equal(__isl_keep isl_qpolynomial *qp1,
0055     __isl_keep isl_qpolynomial *qp2);
0056 isl_bool isl_qpolynomial_is_zero(__isl_keep isl_qpolynomial *qp);
0057 isl_bool isl_qpolynomial_is_nan(__isl_keep isl_qpolynomial *qp);
0058 isl_bool isl_qpolynomial_is_infty(__isl_keep isl_qpolynomial *qp);
0059 isl_bool isl_qpolynomial_is_neginfty(__isl_keep isl_qpolynomial *qp);
0060 int isl_qpolynomial_sgn(__isl_keep isl_qpolynomial *qp);
0061 
0062 __isl_give isl_qpolynomial *isl_qpolynomial_neg(__isl_take isl_qpolynomial *qp);
0063 __isl_give isl_qpolynomial *isl_qpolynomial_add(__isl_take isl_qpolynomial *qp1,
0064     __isl_take isl_qpolynomial *qp2);
0065 __isl_give isl_qpolynomial *isl_qpolynomial_sub(__isl_take isl_qpolynomial *qp1,
0066     __isl_take isl_qpolynomial *qp2);
0067 __isl_give isl_qpolynomial *isl_qpolynomial_mul(__isl_take isl_qpolynomial *qp1,
0068     __isl_take isl_qpolynomial *qp2);
0069 __isl_give isl_qpolynomial *isl_qpolynomial_pow(__isl_take isl_qpolynomial *qp,
0070     unsigned power);
0071 __isl_give isl_qpolynomial *isl_qpolynomial_scale_val(
0072     __isl_take isl_qpolynomial *qp, __isl_take isl_val *v);
0073 __isl_give isl_qpolynomial *isl_qpolynomial_scale_down_val(
0074     __isl_take isl_qpolynomial *qp, __isl_take isl_val *v);
0075 
0076 __isl_give isl_qpolynomial *isl_qpolynomial_insert_dims(
0077     __isl_take isl_qpolynomial *qp, enum isl_dim_type type,
0078     unsigned first, unsigned n);
0079 __isl_give isl_qpolynomial *isl_qpolynomial_add_dims(
0080     __isl_take isl_qpolynomial *qp, enum isl_dim_type type, unsigned n);
0081 __isl_give isl_qpolynomial *isl_qpolynomial_move_dims(
0082     __isl_take isl_qpolynomial *qp,
0083     enum isl_dim_type dst_type, unsigned dst_pos,
0084     enum isl_dim_type src_type, unsigned src_pos, unsigned n);
0085 __isl_give isl_qpolynomial *isl_qpolynomial_project_domain_on_params(
0086     __isl_take isl_qpolynomial *qp);
0087 __isl_give isl_qpolynomial *isl_qpolynomial_drop_dims(
0088     __isl_take isl_qpolynomial *qp,
0089     enum isl_dim_type type, unsigned first, unsigned n);
0090 
0091 __isl_give isl_qpolynomial *isl_qpolynomial_substitute(
0092     __isl_take isl_qpolynomial *qp,
0093     enum isl_dim_type type, unsigned first, unsigned n,
0094     __isl_keep isl_qpolynomial **subs);
0095 
0096 isl_stat isl_qpolynomial_as_polynomial_on_domain(__isl_keep isl_qpolynomial *qp,
0097     __isl_keep isl_basic_set *bset,
0098     isl_stat (*fn)(__isl_take isl_basic_set *bset,
0099           __isl_take isl_qpolynomial *poly, void *user), void *user);
0100 
0101 __isl_give isl_qpolynomial *isl_qpolynomial_homogenize(
0102     __isl_take isl_qpolynomial *poly);
0103 
0104 __isl_give isl_qpolynomial *isl_qpolynomial_align_params(
0105     __isl_take isl_qpolynomial *qp, __isl_take isl_space *model);
0106 
0107 isl_ctx *isl_term_get_ctx(__isl_keep isl_term *term);
0108 
0109 __isl_give isl_term *isl_term_copy(__isl_keep isl_term *term);
0110 __isl_null isl_term *isl_term_free(__isl_take isl_term *term);
0111 
0112 isl_size isl_term_dim(__isl_keep isl_term *term, enum isl_dim_type type);
0113 __isl_give isl_val *isl_term_get_coefficient_val(__isl_keep isl_term *term);
0114 isl_size isl_term_get_exp(__isl_keep isl_term *term,
0115     enum isl_dim_type type, unsigned pos);
0116 __isl_give isl_aff *isl_term_get_div(__isl_keep isl_term *term, unsigned pos);
0117 
0118 isl_stat isl_qpolynomial_foreach_term(__isl_keep isl_qpolynomial *qp,
0119     isl_stat (*fn)(__isl_take isl_term *term, void *user), void *user);
0120 
0121 __isl_give isl_val *isl_qpolynomial_eval(__isl_take isl_qpolynomial *qp,
0122     __isl_take isl_point *pnt);
0123 
0124 __isl_give isl_qpolynomial *isl_qpolynomial_gist_params(
0125     __isl_take isl_qpolynomial *qp, __isl_take isl_set *context);
0126 __isl_give isl_qpolynomial *isl_qpolynomial_gist(
0127     __isl_take isl_qpolynomial *qp, __isl_take isl_set *context);
0128 
0129 __isl_give isl_qpolynomial *isl_qpolynomial_from_constraint(
0130     __isl_take isl_constraint *c, enum isl_dim_type type, unsigned pos);
0131 __isl_give isl_qpolynomial *isl_qpolynomial_from_term(__isl_take isl_term *term);
0132 __isl_give isl_qpolynomial *isl_qpolynomial_from_aff(__isl_take isl_aff *aff);
0133 __isl_give isl_basic_map *isl_basic_map_from_qpolynomial(
0134     __isl_take isl_qpolynomial *qp);
0135 
0136 __isl_give isl_printer *isl_printer_print_qpolynomial(
0137     __isl_take isl_printer *p, __isl_keep isl_qpolynomial *qp);
0138 void isl_qpolynomial_print(__isl_keep isl_qpolynomial *qp, FILE *out,
0139     unsigned output_format);
0140 void isl_qpolynomial_dump(__isl_keep isl_qpolynomial *qp);
0141 
0142 isl_ctx *isl_pw_qpolynomial_get_ctx(__isl_keep isl_pw_qpolynomial *pwqp);
0143 
0144 isl_bool isl_pw_qpolynomial_involves_nan(__isl_keep isl_pw_qpolynomial *pwqp);
0145 isl_bool isl_pw_qpolynomial_plain_is_equal(__isl_keep isl_pw_qpolynomial *pwqp1,
0146     __isl_keep isl_pw_qpolynomial *pwqp2);
0147 
0148 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_zero(
0149     __isl_take isl_space *space);
0150 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_alloc(__isl_take isl_set *set,
0151     __isl_take isl_qpolynomial *qp);
0152 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_from_qpolynomial(
0153     __isl_take isl_qpolynomial *qp);
0154 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_copy(
0155     __isl_keep isl_pw_qpolynomial *pwqp);
0156 __isl_null isl_pw_qpolynomial *isl_pw_qpolynomial_free(
0157     __isl_take isl_pw_qpolynomial *pwqp);
0158 
0159 isl_bool isl_pw_qpolynomial_is_zero(__isl_keep isl_pw_qpolynomial *pwqp);
0160 
0161 __isl_give isl_space *isl_pw_qpolynomial_get_domain_space(
0162     __isl_keep isl_pw_qpolynomial *pwqp);
0163 __isl_give isl_space *isl_pw_qpolynomial_get_space(
0164     __isl_keep isl_pw_qpolynomial *pwqp);
0165 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_reset_domain_space(
0166     __isl_take isl_pw_qpolynomial *pwqp, __isl_take isl_space *space);
0167 isl_size isl_pw_qpolynomial_dim(__isl_keep isl_pw_qpolynomial *pwqp,
0168     enum isl_dim_type type);
0169 isl_bool isl_pw_qpolynomial_involves_param_id(
0170     __isl_keep isl_pw_qpolynomial *pwqp, __isl_keep isl_id *id);
0171 isl_bool isl_pw_qpolynomial_involves_dims(__isl_keep isl_pw_qpolynomial *pwqp,
0172     enum isl_dim_type type, unsigned first, unsigned n);
0173 isl_bool isl_pw_qpolynomial_has_equal_space(
0174     __isl_keep isl_pw_qpolynomial *pwqp1,
0175     __isl_keep isl_pw_qpolynomial *pwqp2);
0176 
0177 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_set_dim_name(
0178     __isl_take isl_pw_qpolynomial *pwqp,
0179     enum isl_dim_type type, unsigned pos, const char *s);
0180 
0181 int isl_pw_qpolynomial_find_dim_by_name(__isl_keep isl_pw_qpolynomial *pwqp,
0182     enum isl_dim_type type, const char *name);
0183 
0184 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_reset_user(
0185     __isl_take isl_pw_qpolynomial *pwqp);
0186 
0187 __isl_export
0188 __isl_give isl_set *isl_pw_qpolynomial_domain(__isl_take isl_pw_qpolynomial *pwqp);
0189 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_intersect_domain(
0190     __isl_take isl_pw_qpolynomial *pwpq, __isl_take isl_set *set);
0191 __isl_give isl_pw_qpolynomial *
0192 isl_pw_qpolynomial_intersect_domain_wrapped_domain(
0193     __isl_take isl_pw_qpolynomial *pwpq, __isl_take isl_set *set);
0194 __isl_give isl_pw_qpolynomial *
0195 isl_pw_qpolynomial_intersect_domain_wrapped_range(
0196     __isl_take isl_pw_qpolynomial *pwpq, __isl_take isl_set *set);
0197 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_intersect_params(
0198     __isl_take isl_pw_qpolynomial *pwpq, __isl_take isl_set *set);
0199 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_subtract_domain(
0200     __isl_take isl_pw_qpolynomial *pwpq, __isl_take isl_set *set);
0201 
0202 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_project_domain_on_params(
0203     __isl_take isl_pw_qpolynomial *pwqp);
0204 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_from_range(
0205     __isl_take isl_pw_qpolynomial *pwqp);
0206 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_drop_dims(
0207     __isl_take isl_pw_qpolynomial *pwqp,
0208     enum isl_dim_type type, unsigned first, unsigned n);
0209 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_split_dims(
0210     __isl_take isl_pw_qpolynomial *pwqp,
0211     enum isl_dim_type type, unsigned first, unsigned n);
0212 
0213 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_drop_unused_params(
0214     __isl_take isl_pw_qpolynomial *pwqp);
0215 
0216 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_add(
0217     __isl_take isl_pw_qpolynomial *pwqp1,
0218     __isl_take isl_pw_qpolynomial *pwqp2);
0219 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_sub(
0220     __isl_take isl_pw_qpolynomial *pwqp1,
0221     __isl_take isl_pw_qpolynomial *pwqp2);
0222 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_add_disjoint(
0223     __isl_take isl_pw_qpolynomial *pwqp1,
0224     __isl_take isl_pw_qpolynomial *pwqp2);
0225 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_neg(
0226     __isl_take isl_pw_qpolynomial *pwqp);
0227 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_mul(
0228     __isl_take isl_pw_qpolynomial *pwqp1,
0229     __isl_take isl_pw_qpolynomial *pwqp2);
0230 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_scale_val(
0231     __isl_take isl_pw_qpolynomial *pwqp, __isl_take isl_val *v);
0232 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_scale_down_val(
0233     __isl_take isl_pw_qpolynomial *pwqp, __isl_take isl_val *v);
0234 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_pow(
0235     __isl_take isl_pw_qpolynomial *pwqp, unsigned exponent);
0236 
0237 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_insert_dims(
0238     __isl_take isl_pw_qpolynomial *pwqp, enum isl_dim_type type,
0239     unsigned first, unsigned n);
0240 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_add_dims(
0241     __isl_take isl_pw_qpolynomial *pwqp,
0242     enum isl_dim_type type, unsigned n);
0243 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_move_dims(
0244     __isl_take isl_pw_qpolynomial *pwqp,
0245     enum isl_dim_type dst_type, unsigned dst_pos,
0246     enum isl_dim_type src_type, unsigned src_pos, unsigned n);
0247 
0248 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_fix_val(
0249     __isl_take isl_pw_qpolynomial *pwqp,
0250     enum isl_dim_type type, unsigned n, __isl_take isl_val *v);
0251 
0252 __isl_export
0253 __isl_give isl_val *isl_pw_qpolynomial_eval(
0254     __isl_take isl_pw_qpolynomial *pwqp, __isl_take isl_point *pnt);
0255 
0256 __isl_give isl_val *isl_pw_qpolynomial_max(__isl_take isl_pw_qpolynomial *pwqp);
0257 __isl_give isl_val *isl_pw_qpolynomial_min(__isl_take isl_pw_qpolynomial *pwqp);
0258 
0259 isl_size isl_pw_qpolynomial_n_piece(__isl_keep isl_pw_qpolynomial *pwqp);
0260 isl_stat isl_pw_qpolynomial_foreach_piece(__isl_keep isl_pw_qpolynomial *pwqp,
0261     isl_stat (*fn)(__isl_take isl_set *set, __isl_take isl_qpolynomial *qp,
0262             void *user), void *user);
0263 isl_bool isl_pw_qpolynomial_every_piece(__isl_keep isl_pw_qpolynomial *pwqp,
0264     isl_bool (*test)(__isl_keep isl_set *set,
0265         __isl_keep isl_qpolynomial *qp, void *user), void *user);
0266 isl_stat isl_pw_qpolynomial_foreach_lifted_piece(
0267     __isl_keep isl_pw_qpolynomial *pwqp,
0268     isl_stat (*fn)(__isl_take isl_set *set, __isl_take isl_qpolynomial *qp,
0269             void *user), void *user);
0270 isl_bool isl_pw_qpolynomial_isa_qpolynomial(
0271     __isl_keep isl_pw_qpolynomial *pwqp);
0272 __isl_give isl_qpolynomial *isl_pw_qpolynomial_as_qpolynomial(
0273     __isl_take isl_pw_qpolynomial *pwqp);
0274 
0275 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_from_pw_aff(
0276     __isl_take isl_pw_aff *pwaff);
0277 
0278 __isl_constructor
0279 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_read_from_str(isl_ctx *ctx,
0280         const char *str);
0281 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_read_from_file(isl_ctx *ctx,
0282         FILE *input);
0283 __isl_give char *isl_pw_qpolynomial_to_str(__isl_keep isl_pw_qpolynomial *pwqp);
0284 __isl_give isl_printer *isl_printer_print_pw_qpolynomial(
0285     __isl_take isl_printer *p, __isl_keep isl_pw_qpolynomial *pwqp);
0286 void isl_pw_qpolynomial_print(__isl_keep isl_pw_qpolynomial *pwqp, FILE *out,
0287     unsigned output_format);
0288 void isl_pw_qpolynomial_dump(__isl_keep isl_pw_qpolynomial *pwqp);
0289 
0290 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_coalesce(
0291     __isl_take isl_pw_qpolynomial *pwqp);
0292 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_gist(
0293     __isl_take isl_pw_qpolynomial *pwqp, __isl_take isl_set *context);
0294 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_gist_params(
0295     __isl_take isl_pw_qpolynomial *pwqp, __isl_take isl_set *context);
0296 
0297 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_split_periods(
0298     __isl_take isl_pw_qpolynomial *pwqp, int max_periods);
0299 
0300 __isl_give isl_pw_qpolynomial *isl_basic_set_multiplicative_call(
0301     __isl_take isl_basic_set *bset,
0302     __isl_give isl_pw_qpolynomial *(*fn)(__isl_take isl_basic_set *bset));
0303 
0304 isl_ctx *isl_qpolynomial_fold_get_ctx(__isl_keep isl_qpolynomial_fold *fold);
0305 enum isl_fold isl_qpolynomial_fold_get_type(__isl_keep isl_qpolynomial_fold *fold);
0306 
0307 __isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_empty(enum isl_fold type,
0308     __isl_take isl_space *space);
0309 __isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_alloc(
0310     enum isl_fold type, __isl_take isl_qpolynomial *qp);
0311 __isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_copy(
0312     __isl_keep isl_qpolynomial_fold *fold);
0313 __isl_null isl_qpolynomial_fold *isl_qpolynomial_fold_free(
0314     __isl_take isl_qpolynomial_fold *fold);
0315 
0316 isl_bool isl_qpolynomial_fold_is_empty(__isl_keep isl_qpolynomial_fold *fold);
0317 isl_bool isl_qpolynomial_fold_is_nan(__isl_keep isl_qpolynomial_fold *fold);
0318 isl_bool isl_qpolynomial_fold_plain_is_equal(
0319     __isl_keep isl_qpolynomial_fold *fold1,
0320     __isl_keep isl_qpolynomial_fold *fold2);
0321 
0322 __isl_give isl_space *isl_qpolynomial_fold_get_domain_space(
0323     __isl_keep isl_qpolynomial_fold *fold);
0324 __isl_give isl_space *isl_qpolynomial_fold_get_space(
0325     __isl_keep isl_qpolynomial_fold *fold);
0326 
0327 __isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_fold(
0328     __isl_take isl_qpolynomial_fold *fold1,
0329     __isl_take isl_qpolynomial_fold *fold2);
0330 
0331 __isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_scale_val(
0332     __isl_take isl_qpolynomial_fold *fold, __isl_take isl_val *v);
0333 __isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_scale_down_val(
0334     __isl_take isl_qpolynomial_fold *fold, __isl_take isl_val *v);
0335 
0336 __isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_move_dims(
0337     __isl_take isl_qpolynomial_fold *fold,
0338     enum isl_dim_type dst_type, unsigned dst_pos,
0339     enum isl_dim_type src_type, unsigned src_pos, unsigned n);
0340 
0341 __isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_substitute(
0342     __isl_take isl_qpolynomial_fold *fold,
0343     enum isl_dim_type type, unsigned first, unsigned n,
0344     __isl_keep isl_qpolynomial **subs);
0345 
0346 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_fix_val(
0347     __isl_take isl_pw_qpolynomial_fold *pwf,
0348     enum isl_dim_type type, unsigned n, __isl_take isl_val *v);
0349 
0350 __isl_give isl_val *isl_qpolynomial_fold_eval(
0351     __isl_take isl_qpolynomial_fold *fold, __isl_take isl_point *pnt);
0352 
0353 __isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_gist_params(
0354     __isl_take isl_qpolynomial_fold *fold, __isl_take isl_set *context);
0355 __isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_gist(
0356     __isl_take isl_qpolynomial_fold *fold, __isl_take isl_set *context);
0357 
0358 isl_stat isl_qpolynomial_fold_foreach_qpolynomial(
0359     __isl_keep isl_qpolynomial_fold *fold,
0360     isl_stat (*fn)(__isl_take isl_qpolynomial *qp, void *user), void *user);
0361 
0362 __isl_give isl_printer *isl_printer_print_qpolynomial_fold(
0363     __isl_take isl_printer *p, __isl_keep isl_qpolynomial_fold *fold);
0364 void isl_qpolynomial_fold_print(__isl_keep isl_qpolynomial_fold *fold, FILE *out,
0365     unsigned output_format);
0366 void isl_qpolynomial_fold_dump(__isl_keep isl_qpolynomial_fold *fold);
0367 
0368 isl_ctx *isl_pw_qpolynomial_fold_get_ctx(__isl_keep isl_pw_qpolynomial_fold *pwf);
0369 enum isl_fold isl_pw_qpolynomial_fold_get_type(
0370     __isl_keep isl_pw_qpolynomial_fold *pwf);
0371 
0372 isl_bool isl_pw_qpolynomial_fold_involves_nan(
0373     __isl_keep isl_pw_qpolynomial_fold *pwf);
0374 isl_bool isl_pw_qpolynomial_fold_plain_is_equal(
0375     __isl_keep isl_pw_qpolynomial_fold *pwf1,
0376     __isl_keep isl_pw_qpolynomial_fold *pwf2);
0377 
0378 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_from_pw_qpolynomial(
0379     enum isl_fold type, __isl_take isl_pw_qpolynomial *pwqp);
0380 
0381 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_alloc(
0382     enum isl_fold type,
0383     __isl_take isl_set *set, __isl_take isl_qpolynomial_fold *fold);
0384 __isl_give isl_pw_qpolynomial_fold *
0385 isl_pw_qpolynomial_fold_from_qpolynomial_fold(
0386     __isl_take isl_qpolynomial_fold *fold);
0387 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_copy(
0388     __isl_keep isl_pw_qpolynomial_fold *pwf);
0389 __isl_null isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_free(
0390     __isl_take isl_pw_qpolynomial_fold *pwf);
0391 
0392 isl_bool isl_pw_qpolynomial_fold_is_zero(
0393     __isl_keep isl_pw_qpolynomial_fold *pwf);
0394 
0395 __isl_give isl_space *isl_pw_qpolynomial_fold_get_domain_space(
0396     __isl_keep isl_pw_qpolynomial_fold *pwf);
0397 __isl_give isl_space *isl_pw_qpolynomial_fold_get_space(
0398     __isl_keep isl_pw_qpolynomial_fold *pwf);
0399 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_reset_space(
0400     __isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_space *space);
0401 isl_size isl_pw_qpolynomial_fold_dim(__isl_keep isl_pw_qpolynomial_fold *pwf,
0402     enum isl_dim_type type);
0403 isl_bool isl_pw_qpolynomial_fold_involves_param_id(
0404     __isl_keep isl_pw_qpolynomial_fold *pwf, __isl_keep isl_id *id);
0405 isl_bool isl_pw_qpolynomial_fold_has_equal_space(
0406     __isl_keep isl_pw_qpolynomial_fold *pwf1,
0407     __isl_keep isl_pw_qpolynomial_fold *pwf2);
0408 
0409 size_t isl_pw_qpolynomial_fold_size(__isl_keep isl_pw_qpolynomial_fold *pwf);
0410 
0411 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_zero(
0412     __isl_take isl_space *space, enum isl_fold type);
0413 
0414 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_set_dim_name(
0415     __isl_take isl_pw_qpolynomial_fold *pwf,
0416     enum isl_dim_type type, unsigned pos, const char *s);
0417 
0418 int isl_pw_qpolynomial_fold_find_dim_by_name(
0419     __isl_keep isl_pw_qpolynomial_fold *pwf,
0420     enum isl_dim_type type, const char *name);
0421 
0422 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_reset_user(
0423     __isl_take isl_pw_qpolynomial_fold *pwf);
0424 
0425 __isl_give isl_set *isl_pw_qpolynomial_fold_domain(
0426     __isl_take isl_pw_qpolynomial_fold *pwf);
0427 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_intersect_domain(
0428     __isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_set *set);
0429 __isl_give isl_pw_qpolynomial_fold *
0430 isl_pw_qpolynomial_fold_intersect_domain_wrapped_domain(
0431     __isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_set *set);
0432 __isl_give isl_pw_qpolynomial_fold *
0433 isl_pw_qpolynomial_fold_intersect_domain_wrapped_range(
0434     __isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_set *set);
0435 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_intersect_params(
0436     __isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_set *set);
0437 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_subtract_domain(
0438     __isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_set *set);
0439 
0440 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_add(
0441     __isl_take isl_pw_qpolynomial_fold *pwf1,
0442     __isl_take isl_pw_qpolynomial_fold *pwf2);
0443 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_fold(
0444     __isl_take isl_pw_qpolynomial_fold *pwf1,
0445     __isl_take isl_pw_qpolynomial_fold *pwf2);
0446 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_add_disjoint(
0447     __isl_take isl_pw_qpolynomial_fold *pwf1,
0448     __isl_take isl_pw_qpolynomial_fold *pwf2);
0449 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_scale_val(
0450     __isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_val *v);
0451 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_scale_down_val(
0452     __isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_val *v);
0453 
0454 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_project_domain_on_params(
0455     __isl_take isl_pw_qpolynomial_fold *pwf);
0456 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_from_range(
0457     __isl_take isl_pw_qpolynomial_fold *pwf);
0458 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_drop_dims(
0459     __isl_take isl_pw_qpolynomial_fold *pwf,
0460     enum isl_dim_type type, unsigned first, unsigned n);
0461 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_move_dims(
0462     __isl_take isl_pw_qpolynomial_fold *pwf,
0463     enum isl_dim_type dst_type, unsigned dst_pos,
0464     enum isl_dim_type src_type, unsigned src_pos, unsigned n);
0465 
0466 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_drop_unused_params(
0467     __isl_take isl_pw_qpolynomial_fold *pwf);
0468 
0469 __isl_give isl_val *isl_pw_qpolynomial_fold_eval(
0470     __isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_point *pnt);
0471 
0472 isl_size isl_pw_qpolynomial_fold_n_piece(
0473     __isl_keep isl_pw_qpolynomial_fold *pwf);
0474 isl_stat isl_pw_qpolynomial_fold_foreach_piece(
0475     __isl_keep isl_pw_qpolynomial_fold *pwf,
0476     isl_stat (*fn)(__isl_take isl_set *set,
0477         __isl_take isl_qpolynomial_fold *fold, void *user), void *user);
0478 isl_bool isl_pw_qpolynomial_fold_every_piece(
0479     __isl_keep isl_pw_qpolynomial_fold *pwf,
0480     isl_bool (*test)(__isl_keep isl_set *set,
0481         __isl_keep isl_qpolynomial_fold *fold, void *user), void *user);
0482 isl_stat isl_pw_qpolynomial_fold_foreach_lifted_piece(
0483     __isl_keep isl_pw_qpolynomial_fold *pwf,
0484     isl_stat (*fn)(__isl_take isl_set *set,
0485         __isl_take isl_qpolynomial_fold *fold, void *user), void *user);
0486 isl_bool isl_pw_qpolynomial_fold_isa_qpolynomial_fold(
0487     __isl_keep isl_pw_qpolynomial_fold *pwf);
0488 __isl_give isl_qpolynomial_fold *isl_pw_qpolynomial_fold_as_qpolynomial_fold(
0489     __isl_take isl_pw_qpolynomial_fold *pwf);
0490 
0491 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_read_from_str(
0492     isl_ctx *ctx, const char *str);
0493 __isl_give isl_printer *isl_printer_print_pw_qpolynomial_fold(
0494     __isl_take isl_printer *p, __isl_keep isl_pw_qpolynomial_fold *pwf);
0495 void isl_pw_qpolynomial_fold_print(__isl_keep isl_pw_qpolynomial_fold *pwf,
0496     FILE *out, unsigned output_format);
0497 void isl_pw_qpolynomial_fold_dump(__isl_keep isl_pw_qpolynomial_fold *pwf);
0498 
0499 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_coalesce(
0500     __isl_take isl_pw_qpolynomial_fold *pwf);
0501 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_gist(
0502     __isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_set *context);
0503 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_gist_params(
0504     __isl_take isl_pw_qpolynomial_fold *pwf, __isl_take isl_set *context);
0505 
0506 __isl_give isl_val *isl_pw_qpolynomial_fold_max(
0507     __isl_take isl_pw_qpolynomial_fold *pwf);
0508 __isl_give isl_val *isl_pw_qpolynomial_fold_min(
0509     __isl_take isl_pw_qpolynomial_fold *pwf);
0510 
0511 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_bound(
0512     __isl_take isl_pw_qpolynomial *pwqp, enum isl_fold type,
0513     isl_bool *tight);
0514 __isl_give isl_pw_qpolynomial_fold *isl_pw_qpolynomial_fold_bound(
0515     __isl_take isl_pw_qpolynomial_fold *pwf, isl_bool *tight);
0516 __isl_give isl_pw_qpolynomial_fold *isl_set_apply_pw_qpolynomial_fold(
0517     __isl_take isl_set *set, __isl_take isl_pw_qpolynomial_fold *pwf,
0518     isl_bool *tight);
0519 __isl_give isl_pw_qpolynomial_fold *isl_map_apply_pw_qpolynomial_fold(
0520     __isl_take isl_map *map, __isl_take isl_pw_qpolynomial_fold *pwf,
0521     isl_bool *tight);
0522 
0523 __isl_give isl_pw_qpolynomial *isl_pw_qpolynomial_to_polynomial(
0524     __isl_take isl_pw_qpolynomial *pwqp, int sign);
0525 
0526 isl_ctx *isl_union_pw_qpolynomial_get_ctx(
0527     __isl_keep isl_union_pw_qpolynomial *upwqp);
0528 
0529 isl_size isl_union_pw_qpolynomial_dim(
0530     __isl_keep isl_union_pw_qpolynomial *upwqp, enum isl_dim_type type);
0531 
0532 isl_bool isl_union_pw_qpolynomial_involves_nan(
0533     __isl_keep isl_union_pw_qpolynomial *upwqp);
0534 isl_bool isl_union_pw_qpolynomial_plain_is_equal(
0535     __isl_keep isl_union_pw_qpolynomial *upwqp1,
0536     __isl_keep isl_union_pw_qpolynomial *upwqp2);
0537 
0538 __isl_give isl_union_pw_qpolynomial *isl_pw_qpolynomial_to_union_pw_qpolynomial(
0539     __isl_take isl_pw_qpolynomial *pwqp);
0540 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_from_pw_qpolynomial(__isl_take isl_pw_qpolynomial *pwqp);
0541 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_zero_ctx(
0542     isl_ctx *ctx);
0543 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_zero_space(
0544     __isl_take isl_space *space);
0545 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_zero(
0546     __isl_take isl_space *space);
0547 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_add_pw_qpolynomial(
0548     __isl_take isl_union_pw_qpolynomial *upwqp,
0549     __isl_take isl_pw_qpolynomial *pwqp);
0550 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_copy(
0551     __isl_keep isl_union_pw_qpolynomial *upwqp);
0552 __isl_null isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_free(
0553     __isl_take isl_union_pw_qpolynomial *upwqp);
0554 
0555 __isl_constructor
0556 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_read_from_str(
0557     isl_ctx *ctx, const char *str);
0558 __isl_give char *isl_union_pw_qpolynomial_to_str(
0559     __isl_keep isl_union_pw_qpolynomial *upwqp);
0560 
0561 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_neg(
0562     __isl_take isl_union_pw_qpolynomial *upwqp);
0563 
0564 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_add(
0565     __isl_take isl_union_pw_qpolynomial *upwqp1,
0566     __isl_take isl_union_pw_qpolynomial *upwqp2);
0567 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_sub(
0568     __isl_take isl_union_pw_qpolynomial *upwqp1,
0569     __isl_take isl_union_pw_qpolynomial *upwqp2);
0570 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_mul(
0571     __isl_take isl_union_pw_qpolynomial *upwqp1,
0572     __isl_take isl_union_pw_qpolynomial *upwqp2);
0573 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_scale_val(
0574     __isl_take isl_union_pw_qpolynomial *upwqp, __isl_take isl_val *v);
0575 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_scale_down_val(
0576     __isl_take isl_union_pw_qpolynomial *upwqp, __isl_take isl_val *v);
0577 
0578 __isl_export
0579 __isl_give isl_union_set *isl_union_pw_qpolynomial_domain(
0580     __isl_take isl_union_pw_qpolynomial *upwqp);
0581 __isl_give isl_union_pw_qpolynomial *
0582 isl_union_pw_qpolynomial_intersect_domain_space(
0583     __isl_take isl_union_pw_qpolynomial *upwpq,
0584     __isl_take isl_space *space);
0585 __isl_give isl_union_pw_qpolynomial *
0586 isl_union_pw_qpolynomial_intersect_domain_union_set(
0587     __isl_take isl_union_pw_qpolynomial *upwpq,
0588     __isl_take isl_union_set *uset);
0589 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_intersect_domain(
0590     __isl_take isl_union_pw_qpolynomial *upwpq,
0591     __isl_take isl_union_set *uset);
0592 __isl_give isl_union_pw_qpolynomial *
0593 isl_union_pw_qpolynomial_intersect_domain_wrapped_domain(
0594     __isl_take isl_union_pw_qpolynomial *upwpq,
0595     __isl_take isl_union_set *uset);
0596 __isl_give isl_union_pw_qpolynomial *
0597 isl_union_pw_qpolynomial_intersect_domain_wrapped_range(
0598     __isl_take isl_union_pw_qpolynomial *upwpq,
0599     __isl_take isl_union_set *uset);
0600 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_intersect_params(
0601     __isl_take isl_union_pw_qpolynomial *upwpq,
0602     __isl_take isl_set *set);
0603 __isl_give isl_union_pw_qpolynomial *
0604 isl_union_pw_qpolynomial_subtract_domain_union_set(
0605     __isl_take isl_union_pw_qpolynomial *upwpq,
0606     __isl_take isl_union_set *uset);
0607 __isl_give isl_union_pw_qpolynomial *
0608 isl_union_pw_qpolynomial_subtract_domain_space(
0609     __isl_take isl_union_pw_qpolynomial *upwpq,
0610     __isl_take isl_space *space);
0611 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_subtract_domain(
0612     __isl_take isl_union_pw_qpolynomial *upwpq,
0613     __isl_take isl_union_set *uset);
0614 
0615 __isl_give isl_space *isl_union_pw_qpolynomial_get_space(
0616     __isl_keep isl_union_pw_qpolynomial *upwqp);
0617 __isl_give isl_pw_qpolynomial_list *
0618 isl_union_pw_qpolynomial_get_pw_qpolynomial_list(
0619     __isl_keep isl_union_pw_qpolynomial *upwqp);
0620 
0621 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_set_dim_name(
0622     __isl_take isl_union_pw_qpolynomial *upwqp,
0623     enum isl_dim_type type, unsigned pos, const char *s);
0624 
0625 int isl_union_pw_qpolynomial_find_dim_by_name(
0626     __isl_keep isl_union_pw_qpolynomial *upwqp,
0627     enum isl_dim_type type, const char *name);
0628 
0629 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_drop_dims(
0630     __isl_take isl_union_pw_qpolynomial *upwqp,
0631     enum isl_dim_type type, unsigned first, unsigned n);
0632 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_reset_user(
0633     __isl_take isl_union_pw_qpolynomial *upwqp);
0634 
0635 __isl_export
0636 __isl_give isl_val *isl_union_pw_qpolynomial_eval(
0637     __isl_take isl_union_pw_qpolynomial *upwqp, __isl_take isl_point *pnt);
0638 
0639 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_coalesce(
0640     __isl_take isl_union_pw_qpolynomial *upwqp);
0641 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_gist(
0642     __isl_take isl_union_pw_qpolynomial *upwqp,
0643     __isl_take isl_union_set *context);
0644 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_gist_params(
0645     __isl_take isl_union_pw_qpolynomial *upwqp,
0646     __isl_take isl_set *context);
0647 
0648 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_align_params(
0649     __isl_take isl_union_pw_qpolynomial *upwqp,
0650     __isl_take isl_space *model);
0651 
0652 isl_size isl_union_pw_qpolynomial_n_pw_qpolynomial(
0653     __isl_keep isl_union_pw_qpolynomial *upwqp);
0654 isl_stat isl_union_pw_qpolynomial_foreach_pw_qpolynomial(
0655     __isl_keep isl_union_pw_qpolynomial *upwqp,
0656     isl_stat (*fn)(__isl_take isl_pw_qpolynomial *pwqp, void *user),
0657     void *user);
0658 isl_bool isl_union_pw_qpolynomial_every_pw_qpolynomial(
0659     __isl_keep isl_union_pw_qpolynomial *upwqp,
0660     isl_bool (*test)(__isl_keep isl_pw_qpolynomial *pwqp, void *user),
0661     void *user);
0662 __isl_give isl_pw_qpolynomial *isl_union_pw_qpolynomial_extract_pw_qpolynomial(
0663     __isl_keep isl_union_pw_qpolynomial *upwqp,
0664     __isl_take isl_space *space);
0665 
0666 __isl_give isl_printer *isl_printer_print_union_pw_qpolynomial(
0667     __isl_take isl_printer *p, __isl_keep isl_union_pw_qpolynomial *upwqp);
0668 
0669 isl_ctx *isl_union_pw_qpolynomial_fold_get_ctx(
0670     __isl_keep isl_union_pw_qpolynomial_fold *upwf);
0671 
0672 isl_size isl_union_pw_qpolynomial_fold_dim(
0673     __isl_keep isl_union_pw_qpolynomial_fold *upwf, enum isl_dim_type type);
0674 
0675 isl_bool isl_union_pw_qpolynomial_fold_involves_nan(
0676     __isl_keep isl_union_pw_qpolynomial_fold *upwf);
0677 isl_bool isl_union_pw_qpolynomial_fold_plain_is_equal(
0678     __isl_keep isl_union_pw_qpolynomial_fold *upwf1,
0679     __isl_keep isl_union_pw_qpolynomial_fold *upwf2);
0680 
0681 __isl_give isl_union_pw_qpolynomial_fold *
0682 isl_pw_qpolynomial_fold_to_union_pw_qpolynomial_fold(
0683     __isl_take isl_pw_qpolynomial_fold *pwf);
0684 __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_from_pw_qpolynomial_fold(__isl_take isl_pw_qpolynomial_fold *pwf);
0685 __isl_give isl_union_pw_qpolynomial_fold *
0686 isl_union_pw_qpolynomial_fold_zero_ctx(isl_ctx *ctx, enum isl_fold type);
0687 __isl_give isl_union_pw_qpolynomial_fold *
0688 isl_union_pw_qpolynomial_fold_zero_space(__isl_take isl_space *space,
0689     enum isl_fold type);
0690 __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_zero(
0691     __isl_take isl_space *space, enum isl_fold type);
0692 __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_fold_pw_qpolynomial_fold(
0693     __isl_take isl_union_pw_qpolynomial_fold *upwqp,
0694     __isl_take isl_pw_qpolynomial_fold *pwqp);
0695 __isl_null isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_free(
0696     __isl_take isl_union_pw_qpolynomial_fold *upwf);
0697 __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_copy(
0698     __isl_keep isl_union_pw_qpolynomial_fold *upwf);
0699 
0700 __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_fold(
0701     __isl_take isl_union_pw_qpolynomial_fold *upwf1,
0702     __isl_take isl_union_pw_qpolynomial_fold *upwf2);
0703 __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_add_union_pw_qpolynomial(
0704     __isl_take isl_union_pw_qpolynomial_fold *upwf,
0705     __isl_take isl_union_pw_qpolynomial *upwqp);
0706 __isl_give isl_union_pw_qpolynomial_fold *
0707 isl_union_pw_qpolynomial_fold_scale_val(
0708     __isl_take isl_union_pw_qpolynomial_fold *upwf, __isl_take isl_val *v);
0709 __isl_give isl_union_pw_qpolynomial_fold *
0710 isl_union_pw_qpolynomial_fold_scale_down_val(
0711     __isl_take isl_union_pw_qpolynomial_fold *upwf, __isl_take isl_val *v);
0712 
0713 __isl_give isl_union_set *isl_union_pw_qpolynomial_fold_domain(
0714     __isl_take isl_union_pw_qpolynomial_fold *upwf);
0715 __isl_give isl_union_pw_qpolynomial_fold *
0716 isl_union_pw_qpolynomial_fold_intersect_domain_space(
0717     __isl_take isl_union_pw_qpolynomial_fold *upwf,
0718     __isl_take isl_space *space);
0719 __isl_give isl_union_pw_qpolynomial_fold *
0720 isl_union_pw_qpolynomial_fold_intersect_domain_union_set(
0721     __isl_take isl_union_pw_qpolynomial_fold *upwf,
0722     __isl_take isl_union_set *uset);
0723 __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_intersect_domain(
0724     __isl_take isl_union_pw_qpolynomial_fold *upwf,
0725     __isl_take isl_union_set *uset);
0726 __isl_give isl_union_pw_qpolynomial_fold *
0727 isl_union_pw_qpolynomial_fold_intersect_domain_wrapped_domain(
0728     __isl_take isl_union_pw_qpolynomial_fold *upwf,
0729     __isl_take isl_union_set *uset);
0730 __isl_give isl_union_pw_qpolynomial_fold *
0731 isl_union_pw_qpolynomial_fold_intersect_domain_wrapped_range(
0732     __isl_take isl_union_pw_qpolynomial_fold *upwf,
0733     __isl_take isl_union_set *uset);
0734 __isl_give isl_union_pw_qpolynomial_fold *
0735 isl_union_pw_qpolynomial_fold_intersect_params(
0736     __isl_take isl_union_pw_qpolynomial_fold *upwf,
0737     __isl_take isl_set *set);
0738 __isl_give isl_union_pw_qpolynomial_fold *
0739 isl_union_pw_qpolynomial_fold_subtract_domain_union_set(
0740     __isl_take isl_union_pw_qpolynomial_fold *upwf,
0741     __isl_take isl_union_set *uset);
0742 __isl_give isl_union_pw_qpolynomial_fold *
0743 isl_union_pw_qpolynomial_fold_subtract_domain_space(
0744     __isl_take isl_union_pw_qpolynomial_fold *upwf,
0745     __isl_take isl_space *space);
0746 __isl_give isl_union_pw_qpolynomial_fold *
0747 isl_union_pw_qpolynomial_fold_subtract_domain(
0748     __isl_take isl_union_pw_qpolynomial_fold *upwf,
0749     __isl_take isl_union_set *uset);
0750 
0751 enum isl_fold isl_union_pw_qpolynomial_fold_get_type(
0752     __isl_keep isl_union_pw_qpolynomial_fold *upwf);
0753 __isl_give isl_space *isl_union_pw_qpolynomial_fold_get_space(
0754     __isl_keep isl_union_pw_qpolynomial_fold *upwf);
0755 __isl_give isl_pw_qpolynomial_fold_list *
0756 isl_union_pw_qpolynomial_fold_get_pw_qpolynomial_fold_list(
0757     __isl_keep isl_union_pw_qpolynomial_fold *upwf);
0758 
0759 __isl_give isl_union_pw_qpolynomial_fold *
0760 isl_union_pw_qpolynomial_fold_set_dim_name(
0761     __isl_take isl_union_pw_qpolynomial_fold *upwf,
0762     enum isl_dim_type type, unsigned pos, const char *s);
0763 
0764 int isl_union_pw_qpolynomial_fold_find_dim_by_name(
0765     __isl_keep isl_union_pw_qpolynomial_fold *upwf,
0766     enum isl_dim_type type, const char *name);
0767 
0768 __isl_give isl_union_pw_qpolynomial_fold *
0769     isl_union_pw_qpolynomial_fold_drop_dims(
0770     __isl_take isl_union_pw_qpolynomial_fold *upwf,
0771     enum isl_dim_type type, unsigned first, unsigned n);
0772 __isl_give isl_union_pw_qpolynomial_fold *
0773 isl_union_pw_qpolynomial_fold_reset_user(
0774     __isl_take isl_union_pw_qpolynomial_fold *upwf);
0775 
0776 __isl_give isl_val *isl_union_pw_qpolynomial_fold_eval(
0777     __isl_take isl_union_pw_qpolynomial_fold *upwf,
0778     __isl_take isl_point *pnt);
0779 
0780 __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_coalesce(
0781     __isl_take isl_union_pw_qpolynomial_fold *upwf);
0782 __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_gist(
0783     __isl_take isl_union_pw_qpolynomial_fold *upwf,
0784     __isl_take isl_union_set *context);
0785 __isl_give isl_union_pw_qpolynomial_fold *
0786 isl_union_pw_qpolynomial_fold_gist_params(
0787     __isl_take isl_union_pw_qpolynomial_fold *upwf,
0788     __isl_take isl_set *context);
0789 
0790 __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_align_params(
0791     __isl_take isl_union_pw_qpolynomial_fold *upwf,
0792     __isl_take isl_space *model);
0793 
0794 isl_size isl_union_pw_qpolynomial_fold_n_pw_qpolynomial_fold(
0795     __isl_keep isl_union_pw_qpolynomial_fold *upwf);
0796 isl_stat isl_union_pw_qpolynomial_fold_foreach_pw_qpolynomial_fold(
0797     __isl_keep isl_union_pw_qpolynomial_fold *upwf,
0798     isl_stat (*fn)(__isl_take isl_pw_qpolynomial_fold *pwf,
0799             void *user), void *user);
0800 isl_bool isl_union_pw_qpolynomial_fold_every_pw_qpolynomial_fold(
0801     __isl_keep isl_union_pw_qpolynomial_fold *upwf,
0802     isl_bool (*test)(__isl_keep isl_pw_qpolynomial_fold *pwf,
0803         void *user), void *user);
0804 __isl_give isl_pw_qpolynomial_fold *isl_union_pw_qpolynomial_fold_extract_pw_qpolynomial_fold(
0805     __isl_keep isl_union_pw_qpolynomial_fold *upwf,
0806     __isl_take isl_space *space);
0807 
0808 __isl_give isl_printer *isl_printer_print_union_pw_qpolynomial_fold(
0809     __isl_take isl_printer *p,
0810     __isl_keep isl_union_pw_qpolynomial_fold *upwf);
0811 
0812 __isl_give isl_union_pw_qpolynomial_fold *isl_union_pw_qpolynomial_bound(
0813     __isl_take isl_union_pw_qpolynomial *upwqp,
0814     enum isl_fold type, isl_bool *tight);
0815 __isl_give isl_union_pw_qpolynomial_fold *isl_union_set_apply_union_pw_qpolynomial_fold(
0816     __isl_take isl_union_set *uset,
0817     __isl_take isl_union_pw_qpolynomial_fold *upwf, isl_bool *tight);
0818 __isl_give isl_union_pw_qpolynomial_fold *isl_union_map_apply_union_pw_qpolynomial_fold(
0819     __isl_take isl_union_map *umap,
0820     __isl_take isl_union_pw_qpolynomial_fold *upwf, isl_bool *tight);
0821 
0822 __isl_give isl_union_pw_qpolynomial *isl_union_pw_qpolynomial_to_polynomial(
0823     __isl_take isl_union_pw_qpolynomial *upwqp, int sign);
0824 
0825 ISL_DECLARE_LIST_FN(qpolynomial)
0826 ISL_DECLARE_LIST_FN(pw_qpolynomial)
0827 ISL_DECLARE_LIST_FN(pw_qpolynomial_fold)
0828 
0829 #if defined(__cplusplus)
0830 }
0831 #endif
0832 
0833 #endif