From: Sven Verdoolaege Date: Fri, 25 Jun 2010 12:31:09 +0000 (+0200) Subject: add isl_vec_scale X-Git-Tag: isl-0.03~92 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=84004553fb4a9dd80a46b2d0ecb1f4cb90899ce9;p=platform%2Fupstream%2Fisl.git add isl_vec_scale --- diff --git a/include/isl_vec.h b/include/isl_vec.h index cc94c7c..746b70f 100644 --- a/include/isl_vec.h +++ b/include/isl_vec.h @@ -42,6 +42,7 @@ void isl_vec_dump(struct isl_vec *vec, FILE *out, int indent); void isl_vec_lcm(struct isl_vec *vec, isl_int *lcm); struct isl_vec *isl_vec_ceil(struct isl_vec *vec); struct isl_vec *isl_vec_normalize(struct isl_vec *vec); +__isl_give isl_vec *isl_vec_scale(__isl_take isl_vec *vec, isl_int m); struct isl_vec *isl_vec_read_from_file(struct isl_ctx *ctx, FILE *input, unsigned input_format); diff --git a/isl_vec.c b/isl_vec.c index b052bb1..c16d71a 100644 --- a/isl_vec.c +++ b/isl_vec.c @@ -127,3 +127,14 @@ struct isl_vec *isl_vec_normalize(struct isl_vec *vec) isl_seq_normalize(vec->ctx, vec->el, vec->size); return vec; } + +__isl_give isl_vec *isl_vec_scale(__isl_take isl_vec *vec, isl_int m) +{ + if (isl_int_is_one(m)) + return vec; + vec = isl_vec_cow(vec); + if (!vec) + return NULL; + isl_seq_scale(vec->el, vec->el, m, vec->size); + return vec; +}