From 24ea06d2ca78b9b93cc44a450599029d30594085 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Sun, 7 Apr 2024 17:52:30 +0200 Subject: [PATCH] add isl_basic_set_add_div_constraints This will be used in an upcoming commit. Signed-off-by: Sven Verdoolaege --- isl_map.c | 17 +++++++++++++++++ isl_map_private.h | 2 ++ 2 files changed, 19 insertions(+) diff --git a/isl_map.c b/isl_map.c index 88477c28..b3f24aed 100644 --- a/isl_map.c +++ b/isl_map.c @@ -6162,6 +6162,23 @@ __isl_give isl_basic_map *isl_basic_map_add_div_constraints( return bmap; } +/* For the div d = floor(f/m) at position "pos", add the constraints + * + * f - m d >= 0 + * -(f-(m-1)) + m d >= 0 + * + * Note that the second constraint is the negation of + * + * f - m d >= m + */ +__isl_give isl_basic_set *isl_basic_set_add_div_constraints( + __isl_take isl_basic_set *bset, unsigned pos) +{ + isl_basic_map *bmap = bset_to_bmap(bset); + bmap = isl_basic_map_add_div_constraints(bmap, pos); + return bset_from_bmap(bmap); +} + /* For each known div d = floor(f/m), add the constraints * * f - m d >= 0 diff --git a/isl_map_private.h b/isl_map_private.h index 970cfeb8..839633dc 100644 --- a/isl_map_private.h +++ b/isl_map_private.h @@ -374,6 +374,8 @@ __isl_give isl_basic_map *isl_basic_map_add_div_constraint( __isl_take isl_basic_map *bmap, unsigned div, int sign); __isl_give isl_basic_map *isl_basic_map_add_div_constraints( __isl_take isl_basic_map *bmap, unsigned div); +__isl_give isl_basic_set *isl_basic_set_add_div_constraints( + __isl_take isl_basic_set *bset, unsigned pos); __isl_give isl_basic_map *isl_basic_map_add_known_div_constraints( __isl_take isl_basic_map *bmap); __isl_give isl_basic_map *isl_basic_map_drop_redundant_divs( -- 2.11.4.GIT