X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=isl_vec.c;h=ce1744921efe982ce90bf360e2280915772e2f43;hb=22d1388ec98ff19a5866aa12bd5180d181b6e38f;hp=b197b5e27febb1e779688eeb40fd672c10ef09c8;hpb=9c3f598647d9e06e3f551b314824f5d63309ff38;p=platform%2Fupstream%2Fisl.git diff --git a/isl_vec.c b/isl_vec.c index b197b5e..ce17449 100644 --- a/isl_vec.c +++ b/isl_vec.c @@ -136,6 +136,8 @@ struct isl_vec *isl_vec_dup(struct isl_vec *vec) if (!vec) return NULL; vec2 = isl_vec_alloc(vec->ctx, vec->size); + if (!vec2) + return NULL; isl_seq_cpy(vec2->el, vec->el, vec->size); return vec2; } @@ -341,6 +343,19 @@ __isl_give isl_vec *isl_vec_scale(__isl_take isl_vec *vec, isl_int m) return vec; } +/* Reduce the elements of "vec" modulo "m". + */ +__isl_give isl_vec *isl_vec_fdiv_r(__isl_take isl_vec *vec, isl_int m) +{ + vec = isl_vec_cow(vec); + if (!vec) + return NULL; + + isl_seq_fdiv_r(vec->el, vec->el, m, vec->size); + + return vec; +} + __isl_give isl_vec *isl_vec_add(__isl_take isl_vec *vec1, __isl_take isl_vec *vec2) {