From 84004553fb4a9dd80a46b2d0ecb1f4cb90899ce9 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Fri, 25 Jun 2010 14:31:09 +0200 Subject: [PATCH] add isl_vec_scale --- include/isl_vec.h | 1 + isl_vec.c | 11 +++++++++++ 2 files changed, 12 insertions(+) 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; +} -- 2.7.4