add isl_qpolynomial_one
authorSven Verdoolaege <skimo@kotnet.org>
Thu, 16 Sep 2010 01:53:30 +0000 (03:53 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Thu, 16 Sep 2010 03:48:31 +0000 (05:48 +0200)
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
doc/user.pod
include/isl_polynomial.h
isl_polynomial.c

index cbe08e3..8a3265d 100644 (file)
@@ -1589,6 +1589,8 @@ on the resulting quasipolynomials
 
        __isl_give isl_qpolynomial *isl_qpolynomial_zero(
                __isl_take isl_dim *dim);
+       __isl_give isl_qpolynomial *isl_qpolynomial_one(
+               __isl_take isl_dim *dim);
        __isl_give isl_qpolynomial *isl_qpolynomial_infty(
                __isl_take isl_dim *dim);
        __isl_give isl_qpolynomial *isl_qpolynomial_neginfty(
index 0e4fc91..d777eaa 100644 (file)
@@ -27,6 +27,7 @@ int isl_qpolynomial_involves_dims(__isl_keep isl_qpolynomial *qp,
        enum isl_dim_type type, unsigned first, unsigned n);
 
 __isl_give isl_qpolynomial *isl_qpolynomial_zero(__isl_take isl_dim *dim);
+__isl_give isl_qpolynomial *isl_qpolynomial_one(__isl_take isl_dim *dim);
 __isl_give isl_qpolynomial *isl_qpolynomial_infty(__isl_take isl_dim *dim);
 __isl_give isl_qpolynomial *isl_qpolynomial_neginfty(__isl_take isl_dim *dim);
 __isl_give isl_qpolynomial *isl_qpolynomial_nan(__isl_take isl_dim *dim);
index 2d52894..dc00f0f 100644 (file)
@@ -240,6 +240,20 @@ __isl_give struct isl_upoly *isl_upoly_zero(struct isl_ctx *ctx)
        return &cst->up;
 }
 
+__isl_give struct isl_upoly *isl_upoly_one(struct isl_ctx *ctx)
+{
+       struct isl_upoly_cst *cst;
+
+       cst = isl_upoly_cst_alloc(ctx);
+       if (!cst)
+               return NULL;
+
+       isl_int_set_si(cst->n, 1);
+       isl_int_set_si(cst->d, 1);
+
+       return &cst->up;
+}
+
 __isl_give struct isl_upoly *isl_upoly_infty(struct isl_ctx *ctx)
 {
        struct isl_upoly_cst *cst;
@@ -1378,6 +1392,11 @@ __isl_give isl_qpolynomial *isl_qpolynomial_zero(__isl_take isl_dim *dim)
        return isl_qpolynomial_alloc(dim, 0, isl_upoly_zero(dim->ctx));
 }
 
+__isl_give isl_qpolynomial *isl_qpolynomial_one(__isl_take isl_dim *dim)
+{
+       return isl_qpolynomial_alloc(dim, 0, isl_upoly_one(dim->ctx));
+}
+
 __isl_give isl_qpolynomial *isl_qpolynomial_infty(__isl_take isl_dim *dim)
 {
        return isl_qpolynomial_alloc(dim, 0, isl_upoly_infty(dim->ctx));