struct isl_basic_map *bmap, int *progress);
struct isl_basic_set *isl_basic_set_gauss(
struct isl_basic_set *bset, int *progress);
+struct isl_basic_map *isl_basic_map_normalize_constraints(
+ struct isl_basic_map *bmap);
+struct isl_basic_set *isl_basic_set_normalize_constraints(
+ struct isl_basic_set *bset);
struct isl_basic_map *isl_basic_map_implicit_equalities(
struct isl_basic_map *bmap);
struct isl_basic_set *isl_basic_map_underlying_set(struct isl_basic_map *bmap);
return NULL;
}
-static struct isl_basic_map *normalize_constraints(struct isl_basic_map *bmap)
+struct isl_basic_map *isl_basic_map_normalize_constraints(
+ struct isl_basic_map *bmap)
{
int i;
isl_int gcd;
return bmap;
}
+struct isl_basic_set *isl_basic_set_normalize_constraints(
+ struct isl_basic_set *bset)
+{
+ (struct isl_basic_set *)isl_basic_map_normalize_constraints(
+ (struct isl_basic_map *)bset);
+}
+
static void eliminate_div(struct isl_basic_map *bmap, isl_int *eq, unsigned div)
{
int i;
return NULL;
while (progress) {
progress = 0;
- bmap = normalize_constraints(bmap);
+ bmap = isl_basic_map_normalize_constraints(bmap);
bmap = eliminate_divs_eq(bmap, &progress);
bmap = eliminate_divs_ineq(bmap, &progress);
bmap = isl_basic_map_gauss(bmap, &progress);
i = last + 1;
}
if (n_lower > 0 && n_upper > 0) {
- bmap = normalize_constraints(bmap);
+ bmap = isl_basic_map_normalize_constraints(bmap);
bmap = remove_duplicate_constraints(bmap, NULL);
bmap = isl_basic_map_gauss(bmap, NULL);
bmap = isl_basic_map_convex_hull(bmap);