From: Sven Verdoolaege Date: Sun, 14 Apr 2013 18:24:25 +0000 (+0200) Subject: add isl_vec_get_element_val X-Git-Tag: isl-0.12~97 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a0b070b4bdfbb58a58f2caf5f69aba8bff19d02b;p=platform%2Fupstream%2Fisl.git add isl_vec_get_element_val Signed-off-by: Sven Verdoolaege --- diff --git a/doc/user.pod b/doc/user.pod index 34fa536..a6aa89f 100644 --- a/doc/user.pod +++ b/doc/user.pod @@ -3443,6 +3443,8 @@ The elements can be changed and inspected using the following functions. int isl_vec_size(__isl_keep isl_vec *vec); int isl_vec_get_element(__isl_keep isl_vec *vec, int pos, isl_int *v); + __isl_give isl_val *isl_vec_get_element_val( + __isl_keep isl_vec *vec, int pos); __isl_give isl_vec *isl_vec_set_element( __isl_take isl_vec *vec, int pos, isl_int v); __isl_give isl_vec *isl_vec_set_element_si( diff --git a/include/isl/vec.h b/include/isl/vec.h index 5a3192e..900ef4c 100644 --- a/include/isl/vec.h +++ b/include/isl/vec.h @@ -43,6 +43,7 @@ isl_ctx *isl_vec_get_ctx(__isl_keep isl_vec *vec); int isl_vec_size(__isl_keep isl_vec *vec); int isl_vec_get_element(__isl_keep isl_vec *vec, int pos, isl_int *v); +__isl_give isl_val *isl_vec_get_element_val(__isl_keep isl_vec *vec, int pos); __isl_give isl_vec *isl_vec_set_element(__isl_take isl_vec *vec, int pos, isl_int v); __isl_give isl_vec *isl_vec_set_element_si(__isl_take isl_vec *vec, diff --git a/isl_vec.c b/isl_vec.c index 236413e..9a0ec03 100644 --- a/isl_vec.c +++ b/isl_vec.c @@ -189,6 +189,21 @@ int isl_vec_get_element(__isl_keep isl_vec *vec, int pos, isl_int *v) return 0; } +/* Extract the element at position "pos" of "vec". + */ +__isl_give isl_val *isl_vec_get_element_val(__isl_keep isl_vec *vec, int pos) +{ + isl_ctx *ctx; + + if (!vec) + return NULL; + ctx = isl_vec_get_ctx(vec); + if (pos < 0 || pos >= vec->size) + isl_die(ctx, isl_error_invalid, "position out of range", + return NULL); + return isl_val_int_from_isl_int(ctx, vec->el[pos]); +} + __isl_give isl_vec *isl_vec_set_element(__isl_take isl_vec *vec, int pos, isl_int v) {