From 84da31deb7d751f5ca0b5b4626955e8a6ba12418 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Tue, 28 Feb 2012 12:12:19 +0100 Subject: [PATCH] add isl_basic_set_n_constraint Signed-off-by: Sven Verdoolaege --- doc/user.pod | 2 ++ include/isl/constraint.h | 1 + isl_constraint.c | 12 ++++++++++++ 3 files changed, 15 insertions(+) diff --git a/doc/user.pod b/doc/user.pod index 5da92ed..4358d82 100644 --- a/doc/user.pod +++ b/doc/user.pod @@ -1422,6 +1422,8 @@ To iterate over the constraints of a basic set or map, use #include + int isl_basic_set_n_constraint( + __isl_keep isl_basic_set *bset); int isl_basic_set_foreach_constraint( __isl_keep isl_basic_set *bset, int (*fn)(__isl_take isl_constraint *c, void *user), diff --git a/include/isl/constraint.h b/include/isl/constraint.h index bfd8989..34d53ec 100644 --- a/include/isl/constraint.h +++ b/include/isl/constraint.h @@ -32,6 +32,7 @@ struct isl_constraint *isl_constraint_cow(struct isl_constraint *c); struct isl_constraint *isl_constraint_copy(struct isl_constraint *c); void *isl_constraint_free(__isl_take isl_constraint *c); +int isl_basic_set_n_constraint(__isl_keep isl_basic_set *bset); int isl_basic_map_foreach_constraint(__isl_keep isl_basic_map *bmap, int (*fn)(__isl_take isl_constraint *c, void *user), void *user); int isl_basic_set_foreach_constraint(__isl_keep isl_basic_set *bset, diff --git a/isl_constraint.c b/isl_constraint.c index 923cf59..68971b3 100644 --- a/isl_constraint.c +++ b/isl_constraint.c @@ -181,6 +181,18 @@ void *isl_constraint_free(struct isl_constraint *c) return NULL; } +/* Return the number of constraints in "bset", i.e., the + * number of times isl_basic_set_foreach_constraint will + * call the callback. + */ +int isl_basic_set_n_constraint(__isl_keep isl_basic_set *bset) +{ + if (!bset) + return -1; + + return bset->n_eq + bset->n_ineq; +} + int isl_basic_map_foreach_constraint(__isl_keep isl_basic_map *bmap, int (*fn)(__isl_take isl_constraint *c, void *user), void *user) { -- 2.7.4