From: Sven Verdoolaege Date: Sat, 27 Nov 2010 15:13:49 +0000 (+0100) Subject: add isl_basic_set_{in,}equalities_matrix X-Git-Tag: isl-0.05~30 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1e1e5924b3016cade4e9b671cde3f9817d926b92;p=platform%2Fupstream%2Fisl.git add isl_basic_set_{in,}equalities_matrix Signed-off-by: Sven Verdoolaege --- diff --git a/doc/user.pod b/doc/user.pod index b205951..6c05914 100644 --- a/doc/user.pod +++ b/doc/user.pod @@ -1025,19 +1025,27 @@ to C or C. void isl_div_get_coefficient(__isl_keep isl_div *div, enum isl_dim_type type, int pos, isl_int *v); -To obtain the constraints of a basic map in matrix +To obtain the constraints of a basic set or map in matrix form, use the following functions. + __isl_give isl_mat *isl_basic_set_equalities_matrix( + __isl_keep isl_basic_set *bset, + enum isl_dim_type c1, enum isl_dim_type c2, + enum isl_dim_type c3, enum isl_dim_type c4); + __isl_give isl_mat *isl_basic_set_inequalities_matrix( + __isl_keep isl_basic_set *bset, + enum isl_dim_type c1, enum isl_dim_type c2, + enum isl_dim_type c3, enum isl_dim_type c4); __isl_give isl_mat *isl_basic_map_equalities_matrix( - __isl_keep isl_basic_map *bmap, - enum isl_dim_type c1, - enum isl_dim_type c2, enum isl_dim_type c3, - enum isl_dim_type c4, enum isl_dim_type c5); + __isl_keep isl_basic_map *bmap, + enum isl_dim_type c1, + enum isl_dim_type c2, enum isl_dim_type c3, + enum isl_dim_type c4, enum isl_dim_type c5); __isl_give isl_mat *isl_basic_map_inequalities_matrix( - __isl_keep isl_basic_map *bmap, - enum isl_dim_type c1, - enum isl_dim_type c2, enum isl_dim_type c3, - enum isl_dim_type c4, enum isl_dim_type c5); + __isl_keep isl_basic_map *bmap, + enum isl_dim_type c1, + enum isl_dim_type c2, enum isl_dim_type c3, + enum isl_dim_type c4, enum isl_dim_type c5); The C arguments dictate the order in which different kinds of variables appear in the resulting matrix diff --git a/include/isl/set.h b/include/isl/set.h index 4157ac3..bb1c1a9 100644 --- a/include/isl/set.h +++ b/include/isl/set.h @@ -375,6 +375,12 @@ __isl_give isl_map *isl_set_lex_gt_set(__isl_take isl_set *set1, int isl_set_size(__isl_keep isl_set *set); +__isl_give isl_mat *isl_basic_set_equalities_matrix( + __isl_keep isl_basic_set *bset, enum isl_dim_type c1, + enum isl_dim_type c2, enum isl_dim_type c3, enum isl_dim_type c4); +__isl_give isl_mat *isl_basic_set_inequalities_matrix( + __isl_keep isl_basic_set *bset, enum isl_dim_type c1, + enum isl_dim_type c2, enum isl_dim_type c3, enum isl_dim_type c4); __isl_give isl_basic_set *isl_basic_set_from_constraint_matrices( __isl_take isl_dim *dim, __isl_take isl_mat *eq, __isl_take isl_mat *ineq, enum isl_dim_type c1, diff --git a/isl_map.c b/isl_map.c index 969fc51..335fad0 100644 --- a/isl_map.c +++ b/isl_map.c @@ -8011,6 +8011,22 @@ error: return NULL; } +__isl_give isl_mat *isl_basic_set_equalities_matrix( + __isl_keep isl_basic_set *bset, enum isl_dim_type c1, + enum isl_dim_type c2, enum isl_dim_type c3, enum isl_dim_type c4) +{ + return isl_basic_map_equalities_matrix((isl_basic_map *)bset, + c1, c2, c3, c4, isl_dim_in); +} + +__isl_give isl_mat *isl_basic_set_inequalities_matrix( + __isl_keep isl_basic_set *bset, enum isl_dim_type c1, + enum isl_dim_type c2, enum isl_dim_type c3, enum isl_dim_type c4) +{ + return isl_basic_map_inequalities_matrix((isl_basic_map *)bset, + c1, c2, c3, c4, isl_dim_in); +} + __isl_give isl_basic_set *isl_basic_set_from_constraint_matrices( __isl_take isl_dim *dim, __isl_take isl_mat *eq, __isl_take isl_mat *ineq, enum isl_dim_type c1,