diff options
author | Sven Verdoolaege <skimo@kotnet.org> | 2010-02-09 15:29:12 +0100 |
---|---|---|
committer | Sven Verdoolaege <skimo@kotnet.org> | 2010-02-09 15:29:12 +0100 |
commit | 90c4a002d4b08c4fda3a254ff2ece668fec96cf9 (patch) | |
tree | 1da9687673a7de9693a06c40f49f77dd6384d80c /isl_constraint.c | |
parent | c4dc489d117d61431dcc46e65cb5ed55729b21d8 (diff) | |
download | isl-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.c | 36 |
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) { |