* ZAC des vignes, 4 rue Jacques Monod, 91893 Orsay, France
*/
-#include <isl_set.h>
-#include <isl_seq.h>
+#include <isl_ctx_private.h>
+#include <isl_map_private.h>
+#include <isl/set.h>
+#include <isl/seq.h>
#include <isl_morph.h>
#include <isl_factorization.h>
#include <isl_vertices_private.h>
isl_qpolynomial **subs;
isl_pw_qpolynomial_fold *pwf;
isl_set *dom;
+ isl_ctx *ctx;
nvar = isl_qpolynomial_dim(poly, isl_dim_set) - 1;
n_vertices = cell->n_vertices;
- subs = isl_alloc_array(data->poly->dim->ctx, isl_qpolynomial *,
- 1 + nvar);
+ ctx = isl_qpolynomial_get_ctx(poly);
+ if (n_vertices > nvar + 1 && ctx->opt->bernstein_triangulate)
+ return isl_cell_foreach_simplex(cell,
+ &bernstein_coefficients_cell, user);
+
+ subs = isl_alloc_array(ctx, isl_qpolynomial *, 1 + nvar);
if (!subs)
goto error;