#include <stdio.h>
-#include <isl_div.h>
-#include <isl_map.h>
-#include <isl_mat.h>
+#include <isl/div.h>
+#include <isl/map.h>
+#include <isl/mat.h>
#include <isl_morph.h>
-#include <isl_polynomial.h>
+#include <isl/polynomial.h>
#include <isl_reordering.h>
struct isl_upoly {
int n;
size_t size;
- struct isl_upoly *p[1];
+ struct isl_upoly *p[];
};
struct isl_qpolynomial {
__isl_give struct isl_upoly *isl_upoly_sum(__isl_take struct isl_upoly *up1,
__isl_take struct isl_upoly *up2);
-__isl_give struct isl_upoly *isl_upoly_neg(__isl_take struct isl_upoly *up);
+__isl_give struct isl_upoly *isl_upoly_mul_isl_int(
+ __isl_take struct isl_upoly *up, isl_int v);
__isl_give isl_qpolynomial *isl_qpolynomial_alloc(__isl_take isl_dim *dim,
unsigned n_div, __isl_take struct isl_upoly *up);
__isl_give isl_qpolynomial *isl_qpolynomial_cst(__isl_take isl_dim *dim,
isl_int v);
-__isl_give isl_qpolynomial *isl_qpolynomial_pow(__isl_take isl_dim *dim,
+__isl_give isl_qpolynomial *isl_qpolynomial_var_pow(__isl_take isl_dim *dim,
int pos, int power);
__isl_give isl_qpolynomial *isl_qpolynomial_div_pow(__isl_take isl_div *div,
int power);
__isl_give isl_qpolynomial *isl_qpolynomial_opt_on_domain(
__isl_take isl_qpolynomial *qp, __isl_take isl_set *set, int max);
+enum isl_fold isl_fold_type_negate(enum isl_fold type);
+
__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_cow(
__isl_take isl_qpolynomial_fold *fold);
__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_dup(
__isl_take isl_qpolynomial *qp, __isl_take isl_basic_set *eq);
__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_substitute_equalities(
__isl_take isl_qpolynomial_fold *fold, __isl_take isl_basic_set *eq);
+__isl_give isl_qpolynomial_fold *isl_qpolynomial_fold_gist(
+ __isl_take isl_qpolynomial_fold *fold, __isl_take isl_set *context);
__isl_give isl_qpolynomial *isl_qpolynomial_realign(
__isl_take isl_qpolynomial *qp, __isl_take isl_reordering *r);