summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Verdoolaege <skimo@kotnet.org>2013-04-14 18:23:34 +0200
committerSven Verdoolaege <skimo@kotnet.org>2013-05-28 20:42:47 +0200
commitbebe6a21ae5f0d8eed204ad491154d3dfb916091 (patch)
tree6e5ac2c5ac22bf0eb4fbf9fa745dabdb93c2df1d
parentec29e23033d5225359010ddb6863724909a5b4da (diff)
downloadisl-bebe6a21ae5f0d8eed204ad491154d3dfb916091.tar.gz
isl-bebe6a21ae5f0d8eed204ad491154d3dfb916091.tar.bz2
isl-bebe6a21ae5f0d8eed204ad491154d3dfb916091.zip
add isl_set_plain_get_val_if_fixed
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
-rw-r--r--doc/user.pod5
-rw-r--r--include/isl/set.h2
-rw-r--r--isl_map.c10
3 files changed, 16 insertions, 1 deletions
diff --git a/doc/user.pod b/doc/user.pod
index d5814fd1..f208de3f 100644
--- a/doc/user.pod
+++ b/doc/user.pod
@@ -2064,11 +2064,14 @@ has a fixed value and if so, return that value in C<*val>.
isl_basic_map_plain_get_val_if_fixed(
__isl_keep isl_basic_map *bmap,
enum isl_dim_type type, unsigned pos);
+ __isl_give isl_val *isl_set_plain_get_val_if_fixed(
+ __isl_keep isl_set *set,
+ enum isl_dim_type type, unsigned pos);
__isl_give isl_val *isl_map_plain_get_val_if_fixed(
__isl_keep isl_map *map,
enum isl_dim_type type, unsigned pos);
-If the relation obviously lies on a hyperplane where the given dimension
+If the set or relation obviously lies on a hyperplane where the given dimension
has a fixed value, then return that value.
Otherwise return NaN.
diff --git a/include/isl/set.h b/include/isl/set.h
index 31d4e351..78c6811f 100644
--- a/include/isl/set.h
+++ b/include/isl/set.h
@@ -433,6 +433,8 @@ int isl_set_plain_dim_is_fixed(__isl_keep isl_set *set,
unsigned dim, isl_int *val);
int isl_set_fast_dim_is_fixed(__isl_keep isl_set *set,
unsigned dim, isl_int *val);
+__isl_give isl_val *isl_set_plain_get_val_if_fixed(__isl_keep isl_set *set,
+ enum isl_dim_type type, unsigned pos);
int isl_set_plain_dim_has_fixed_lower_bound(__isl_keep isl_set *set,
unsigned dim, isl_int *val);
int isl_set_dim_is_bounded(__isl_keep isl_set *set,
diff --git a/isl_map.c b/isl_map.c
index 3505edf3..f1d02bf0 100644
--- a/isl_map.c
+++ b/isl_map.c
@@ -8509,6 +8509,16 @@ __isl_give isl_val *isl_map_plain_get_val_if_fixed(__isl_keep isl_map *map,
return isl_val_nan(ctx);
}
+/* If "set" obviously lies on a hyperplane where the given dimension
+ * has a fixed value, then return that value.
+ * Otherwise return NaN.
+ */
+__isl_give isl_val *isl_set_plain_get_val_if_fixed(__isl_keep isl_set *set,
+ enum isl_dim_type type, unsigned pos)
+{
+ return isl_map_plain_get_val_if_fixed(set, type, pos);
+}
+
int isl_set_plain_is_fixed(__isl_keep isl_set *set,
enum isl_dim_type type, unsigned pos, isl_int *val)
{