summaryrefslogtreecommitdiff
path: root/isl_constraint.c
diff options
context:
space:
mode:
authorSven Verdoolaege <skimo@kotnet.org>2010-02-09 15:29:12 +0100
committerSven Verdoolaege <skimo@kotnet.org>2010-02-09 15:29:12 +0100
commit90c4a002d4b08c4fda3a254ff2ece668fec96cf9 (patch)
tree1da9687673a7de9693a06c40f49f77dd6384d80c /isl_constraint.c
parentc4dc489d117d61431dcc46e65cb5ed55729b21d8 (diff)
downloadisl-90c4a002d4b08c4fda3a254ff2ece668fec96cf9.tar.gz
isl-90c4a002d4b08c4fda3a254ff2ece668fec96cf9.tar.bz2
isl-90c4a002d4b08c4fda3a254ff2ece668fec96cf9.zip
add isl_basic_map_foreach_constraint
Diffstat (limited to 'isl_constraint.c')
-rw-r--r--isl_constraint.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/isl_constraint.c b/isl_constraint.c
index 386cd27b..82de5a94 100644
--- a/isl_constraint.c
+++ b/isl_constraint.c
@@ -189,6 +189,42 @@ struct isl_constraint *isl_constraint_next(struct isl_constraint *c)
return NULL;
}
+int isl_basic_map_foreach_constraint(__isl_keep isl_basic_map *bmap,
+ int (*fn)(__isl_take isl_constraint *c, void *user), void *user)
+{
+ int i;
+ struct isl_constraint *c;
+
+ if (!bmap)
+ return -1;
+
+ for (i = 0; i < bmap->n_eq; ++i) {
+ c = isl_basic_map_constraint(isl_basic_map_copy(bmap),
+ &bmap->eq[i]);
+ if (!c)
+ return -1;
+ if (fn(c, user) < 0)
+ return -1;
+ }
+
+ for (i = 0; i < bmap->n_ineq; ++i) {
+ c = isl_basic_map_constraint(isl_basic_map_copy(bmap),
+ &bmap->ineq[i]);
+ if (!c)
+ return -1;
+ if (fn(c, user) < 0)
+ return -1;
+ }
+
+ return 0;
+}
+
+int isl_basic_set_foreach_constraint(__isl_keep isl_basic_set *bset,
+ int (*fn)(__isl_take isl_constraint *c, void *user), void *user)
+{
+ return isl_basic_map_foreach_constraint((isl_basic_map *)bset, fn, user);
+}
+
int isl_constraint_is_equal(struct isl_constraint *constraint1,
struct isl_constraint *constraint2)
{