From 8cd3c916598352d90f8998f0bf94672a3489cfa6 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Wed, 21 Sep 2011 11:10:37 +0200 Subject: [PATCH] add isl_pw_*_set_dim_id Signed-off-by: Sven Verdoolaege --- doc/user.pod | 4 ++++ include/isl/aff.h | 3 +++ isl_pw_templ.c | 10 ++++++++++ 3 files changed, 17 insertions(+) diff --git a/doc/user.pod b/doc/user.pod index f2ca7f6..f88cc61 100644 --- a/doc/user.pod +++ b/doc/user.pod @@ -2648,6 +2648,10 @@ It can be modified using __isl_give isl_aff *isl_aff_set_dim_id( __isl_take isl_aff *aff, enum isl_dim_type type, unsigned pos, __isl_take isl_id *id); + __isl_give isl_pw_aff *isl_pw_aff_set_dim_id( + __isl_take isl_pw_aff *pma, + enum isl_dim_type type, unsigned pos, + __isl_take isl_id *id); __isl_give isl_aff *isl_aff_set_constant( __isl_take isl_aff *aff, isl_int v); __isl_give isl_aff *isl_aff_set_constant_si( diff --git a/include/isl/aff.h b/include/isl/aff.h index debe308..c427643 100644 --- a/include/isl/aff.h +++ b/include/isl/aff.h @@ -105,6 +105,9 @@ __isl_give isl_pw_aff *isl_pw_aff_empty(__isl_take isl_space *dim); __isl_give isl_pw_aff *isl_pw_aff_alloc(__isl_take isl_set *set, __isl_take isl_aff *aff); +__isl_give isl_pw_aff *isl_pw_aff_set_dim_id(__isl_take isl_pw_aff *pma, + enum isl_dim_type type, unsigned pos, __isl_take isl_id *id); + int isl_pw_aff_is_empty(__isl_keep isl_pw_aff *pwaff); int isl_pw_aff_plain_is_equal(__isl_keep isl_pw_aff *pwaff1, __isl_keep isl_pw_aff *pwaff2); diff --git a/isl_pw_templ.c b/isl_pw_templ.c index 212d8a0..1292e76 100644 --- a/isl_pw_templ.c +++ b/isl_pw_templ.c @@ -1100,6 +1100,16 @@ __isl_give PW *FN(PW,set_tuple_id)(__isl_keep PW *pw, enum isl_dim_type type, return FN(PW,reset_space)(pw, space); } + +__isl_give PW *FN(PW,set_dim_id)(__isl_take PW *pw, + enum isl_dim_type type, unsigned pos, __isl_take isl_id *id) +{ + pw = FN(PW,cow)(pw); + if (!pw) + return isl_id_free(id); + pw->dim = isl_space_set_dim_id(pw->dim, type, pos, id); + return FN(PW,reset_space)(pw, isl_space_copy(pw->dim)); +} #endif int FN(PW,has_equal_space)(__isl_keep PW *pw1, __isl_keep PW *pw2) -- 2.7.4