From 498e522cfa9698262061eb6dec27b4bb62a19484 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Sun, 15 Jul 2012 21:17:01 +0200 Subject: [PATCH] add isl_multi_*_add_dims Signed-off-by: Sven Verdoolaege --- doc/user.pod | 6 ++++++ include/isl/aff.h | 4 ++++ isl_multi_templ.c | 10 ++++++++++ 3 files changed, 20 insertions(+) diff --git a/doc/user.pod b/doc/user.pod index 9e154d83..afe122a1 100644 --- a/doc/user.pod +++ b/doc/user.pod @@ -3757,6 +3757,9 @@ It can be modified using __isl_give isl_multi_aff *isl_multi_aff_insert_dims( __isl_take isl_multi_aff *ma, enum isl_dim_type type, unsigned first, unsigned n); + __isl_give isl_multi_aff *isl_multi_aff_add_dims( + __isl_take isl_multi_aff *ma, + enum isl_dim_type type, unsigned n); __isl_give isl_multi_aff *isl_multi_aff_drop_dims( __isl_take isl_multi_aff *maff, enum isl_dim_type type, unsigned first, unsigned n); @@ -3767,6 +3770,9 @@ It can be modified using __isl_give isl_multi_pw_aff *isl_multi_pw_aff_insert_dims( __isl_take isl_multi_pw_aff *mpa, enum isl_dim_type type, unsigned first, unsigned n); + __isl_give isl_multi_pw_aff *isl_multi_pw_aff_add_dims( + __isl_take isl_multi_pw_aff *mpa, + enum isl_dim_type type, unsigned n); To check whether two multiple affine expressions are obviously equal to each other, use diff --git a/include/isl/aff.h b/include/isl/aff.h index 07868e07..0132e6b1 100644 --- a/include/isl/aff.h +++ b/include/isl/aff.h @@ -284,6 +284,8 @@ __isl_give isl_aff *isl_multi_aff_get_aff(__isl_keep isl_multi_aff *multi, __isl_give isl_multi_aff *isl_multi_aff_insert_dims( __isl_take isl_multi_aff *ma, enum isl_dim_type type, unsigned first, unsigned n); +__isl_give isl_multi_aff *isl_multi_aff_add_dims(__isl_take isl_multi_aff *ma, + enum isl_dim_type type, unsigned n); __isl_give isl_multi_aff *isl_multi_aff_drop_dims( __isl_take isl_multi_aff *maff, enum isl_dim_type type, unsigned first, unsigned n); @@ -501,6 +503,8 @@ __isl_give isl_pw_aff *isl_multi_pw_aff_get_pw_aff( __isl_give isl_multi_pw_aff *isl_multi_pw_aff_insert_dims( __isl_take isl_multi_pw_aff *mpa, enum isl_dim_type type, unsigned first, unsigned n); +__isl_give isl_multi_pw_aff *isl_multi_pw_aff_add_dims( + __isl_take isl_multi_pw_aff *mpa, enum isl_dim_type type, unsigned n); __isl_give isl_multi_pw_aff *isl_multi_pw_aff_set_dim_name( __isl_take isl_multi_pw_aff *mpa, diff --git a/isl_multi_templ.c b/isl_multi_templ.c index aa54c66e..f9ccd08d 100644 --- a/isl_multi_templ.c +++ b/isl_multi_templ.c @@ -151,6 +151,16 @@ __isl_give MULTI(BASE) *FN(MULTI(BASE),insert_dims)( return multi; } +__isl_give MULTI(BASE) *FN(MULTI(BASE),add_dims)(__isl_take MULTI(BASE) *multi, + enum isl_dim_type type, unsigned n) +{ + unsigned pos; + + pos = FN(MULTI(BASE),dim)(multi, type); + + return FN(MULTI(BASE),insert_dims)(multi, type, pos, n); +} + unsigned FN(MULTI(BASE),dim)(__isl_keep MULTI(BASE) *multi, enum isl_dim_type type) { -- 2.11.4.GIT