add isl_qpolynomial_neginfty
authorSven Verdoolaege <skimo@kotnet.org>
Mon, 3 May 2010 18:43:06 +0000 (20:43 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Tue, 4 May 2010 07:38:20 +0000 (09:38 +0200)
doc/user.pod
include/isl_polynomial.h
isl_polynomial.c

index 2e3d9f8..ca789a5 100644 (file)
@@ -1268,6 +1268,8 @@ on the resulting quasipolynomials
                __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);
        __isl_give isl_qpolynomial *isl_qpolynomial_rat_cst(
index 80157ef..d6ed55f 100644 (file)
@@ -20,6 +20,7 @@ __isl_give isl_dim *isl_qpolynomial_get_dim(__isl_keep isl_qpolynomial *qp);
 
 __isl_give isl_qpolynomial *isl_qpolynomial_zero(__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);
 __isl_give isl_qpolynomial *isl_qpolynomial_rat_cst(__isl_take isl_dim *dim,
        const isl_int n, const isl_int d);
index f0c324b..6503cd7 100644 (file)
@@ -250,6 +250,20 @@ __isl_give struct isl_upoly *isl_upoly_infty(struct isl_ctx *ctx)
        return &cst->up;
 }
 
+__isl_give struct isl_upoly *isl_upoly_neginfty(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, 0);
+
+       return &cst->up;
+}
+
 __isl_give struct isl_upoly *isl_upoly_nan(struct isl_ctx *ctx)
 {
        struct isl_upoly_cst *cst;
@@ -1238,6 +1252,11 @@ __isl_give isl_qpolynomial *isl_qpolynomial_infty(__isl_take isl_dim *dim)
        return isl_qpolynomial_alloc(dim, 0, isl_upoly_infty(dim->ctx));
 }
 
+__isl_give isl_qpolynomial *isl_qpolynomial_neginfty(__isl_take isl_dim *dim)
+{
+       return isl_qpolynomial_alloc(dim, 0, isl_upoly_neginfty(dim->ctx));
+}
+
 __isl_give isl_qpolynomial *isl_qpolynomial_nan(__isl_take isl_dim *dim)
 {
        return isl_qpolynomial_alloc(dim, 0, isl_upoly_nan(dim->ctx));