From 0db9d6314bdcf9b759a5265dfa6d4c083b2a1a5e Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Mon, 22 Sep 2008 16:52:04 +0200 Subject: [PATCH] add isl_basic_set_remove_dims --- include/isl_set.h | 2 ++ isl_map.c | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/include/isl_set.h b/include/isl_set.h index ea15558..920640a 100644 --- a/include/isl_set.h +++ b/include/isl_set.h @@ -129,6 +129,8 @@ struct isl_set *isl_set_subtract(struct isl_set *set1, struct isl_set *set2); struct isl_set *isl_set_apply(struct isl_set *set, struct isl_map *map); struct isl_set *isl_set_fix_dim_si(struct isl_set *set, unsigned dim, int value); +struct isl_basic_set *isl_basic_set_remove_dims(struct isl_basic_set *bset, + unsigned first, unsigned n); struct isl_set *isl_set_remove_dims(struct isl_set *set, unsigned first, unsigned n); diff --git a/isl_map.c b/isl_map.c index 7652207..666cb10 100644 --- a/isl_map.c +++ b/isl_map.c @@ -1249,6 +1249,15 @@ error: return NULL; } +/* Project out n dimensions starting at first using Fourier-Motzkin */ +struct isl_basic_set *isl_basic_set_remove_dims(struct isl_basic_set *bset, + unsigned first, unsigned n) +{ + bset = isl_basic_set_eliminate_vars(bset, bset->nparam + first, n); + bset = isl_basic_set_drop_dims(bset, first, n); + return bset; +} + /* Elimininate divs based on inequalities */ static struct isl_basic_map *eliminate_divs_ineq( -- 2.7.4