- d = div->line - div->bmap->div;
-
- pos = isl_dim_total(div->bmap->dim) + d;
- rec = isl_upoly_alloc_rec(div->ctx, pos, 1 + power);
- qp = isl_qpolynomial_alloc(isl_basic_map_get_dim(div->bmap),
- div->bmap->n_div, &rec->up);
- if (!qp)
- goto error;
-
- for (i = 0; i < div->bmap->n_div; ++i)
- isl_seq_cpy(qp->div->row[i], div->bmap->div[i], qp->div->n_col);
-
- for (i = 0; i < 1 + power; ++i) {
- rec->p[i] = isl_upoly_zero(div->ctx);
- if (!rec->p[i])
- goto error;
- rec->n++;
- }
- cst = isl_upoly_as_cst(rec->p[power]);
- isl_int_set_si(cst->n, 1);
-
- isl_div_free(div);
-
- qp = reduce_divs(qp);
-
- return qp;
-error:
- isl_qpolynomial_free(qp);
- isl_div_free(div);
- return NULL;
-}
-
-__isl_give isl_qpolynomial *isl_qpolynomial_div(__isl_take isl_div *div)
-{
- return isl_qpolynomial_div_pow(div, 1);
-}
-
-__isl_give isl_qpolynomial *isl_qpolynomial_rat_cst(__isl_take isl_dim *dim,
- const isl_int n, const isl_int d)
-{
- struct isl_qpolynomial *qp;
- struct isl_upoly_cst *cst;
-