document *lower_bound_si functions
[platform/upstream/isl.git] / isl_constraint.c
index a64a00d..923cf59 100644 (file)
@@ -13,7 +13,6 @@
 #include <isl_map_private.h>
 #include <isl_constraint_private.h>
 #include <isl_space_private.h>
-#include <isl_div_private.h>
 #include <isl/seq.h>
 #include <isl_aff_private.h>
 #include <isl_local_space_private.h>
@@ -53,7 +52,7 @@ static unsigned basic_set_offset(struct isl_basic_set *bset,
        }
 }
 
-__isl_give isl_constraint *isl_constraint_alloc(int eq,
+__isl_give isl_constraint *isl_constraint_alloc_vec(int eq,
        __isl_take isl_local_space *ls, __isl_take isl_vec *v)
 {
        isl_constraint *constraint;
@@ -77,6 +76,21 @@ error:
        return NULL;
 }
 
+__isl_give isl_constraint *isl_constraint_alloc(int eq,
+       __isl_take isl_local_space *ls)
+{
+       isl_ctx *ctx;
+       isl_vec *v;
+
+       if (!ls)
+               return NULL;
+
+       ctx = isl_local_space_get_ctx(ls);
+       v = isl_vec_alloc(ctx, 1 + isl_local_space_dim(ls, isl_dim_all));
+       v = isl_vec_clr(v);
+       return isl_constraint_alloc_vec(eq, ls, v);
+}
+
 struct isl_constraint *isl_basic_map_constraint(struct isl_basic_map *bmap,
        isl_int **line)
 {
@@ -97,7 +111,7 @@ struct isl_constraint *isl_basic_map_constraint(struct isl_basic_map *bmap,
        if (!v)
                goto error;
        isl_seq_cpy(v->el, line[0], v->size);
-       constraint = isl_constraint_alloc(eq, ls, v);
+       constraint = isl_constraint_alloc_vec(eq, ls, v);
 
        isl_basic_map_free(bmap);
        return constraint;
@@ -113,36 +127,14 @@ struct isl_constraint *isl_basic_set_constraint(struct isl_basic_set *bset,
        return isl_basic_map_constraint((struct isl_basic_map *)bset, line);
 }
 
-struct isl_constraint *isl_equality_alloc(__isl_take isl_space *dim)
+__isl_give isl_constraint *isl_equality_alloc(__isl_take isl_local_space *ls)
 {
-       struct isl_basic_map *bmap;
-
-       if (!dim)
-               return NULL;
-
-       bmap = isl_basic_map_alloc_space(dim, 0, 1, 0);
-       if (!bmap)
-               return NULL;
-
-       isl_basic_map_alloc_equality(bmap);
-       isl_seq_clr(bmap->eq[0], 1 + isl_basic_map_total_dim(bmap));
-       return isl_basic_map_constraint(bmap, &bmap->eq[0]);
+       return isl_constraint_alloc(1, ls);
 }
 
-struct isl_constraint *isl_inequality_alloc(__isl_take isl_space *dim)
+__isl_give isl_constraint *isl_inequality_alloc(__isl_take isl_local_space *ls)
 {
-       struct isl_basic_map *bmap;
-
-       if (!dim)
-               return NULL;
-
-       bmap = isl_basic_map_alloc_space(dim, 0, 0, 1);
-       if (!bmap)
-               return NULL;
-
-       isl_basic_map_alloc_inequality(bmap);
-       isl_seq_clr(bmap->ineq[0], 1 + isl_basic_map_total_dim(bmap));
-       return isl_basic_map_constraint(bmap, &bmap->ineq[0]);
+       return isl_constraint_alloc(0, ls);
 }
 
 struct isl_constraint *isl_constraint_dup(struct isl_constraint *c)
@@ -150,7 +142,7 @@ struct isl_constraint *isl_constraint_dup(struct isl_constraint *c)
        if (!c)
                return NULL;
 
-       return isl_constraint_alloc(c->eq, isl_local_space_copy(c->ls),
+       return isl_constraint_alloc_vec(c->eq, isl_local_space_copy(c->ls),
                                                isl_vec_copy(c->v));
 }
 
@@ -373,7 +365,8 @@ void isl_constraint_get_coefficient(struct isl_constraint *constraint,
        isl_int_set(*v, constraint->v->el[pos]);
 }
 
-struct isl_div *isl_constraint_div(struct isl_constraint *constraint, int pos)
+__isl_give isl_aff *isl_constraint_get_div(__isl_keep isl_constraint *constraint,
+       int pos)
 {
        if (!constraint)
                return NULL;