From: Sven Verdoolaege Date: Wed, 11 Apr 2012 08:53:10 +0000 (+0200) Subject: add isl_seq_abs_max X-Git-Tag: isl-0.10~90 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=77f8b4bf10067e3fab6694b1c9002cb0dab8791f;p=platform%2Fupstream%2Fisl.git add isl_seq_abs_max --- diff --git a/include/isl/seq.h b/include/isl/seq.h index eda8818..a84a3fa 100644 --- a/include/isl/seq.h +++ b/include/isl/seq.h @@ -36,6 +36,7 @@ void isl_seq_combine(isl_int *dst, isl_int m1, isl_int *src1, isl_int m2, isl_int *src2, unsigned len); void isl_seq_elim(isl_int *dst, isl_int *src, unsigned pos, unsigned len, isl_int *m); +void isl_seq_abs_max(isl_int *p, unsigned len, isl_int *max); void isl_seq_gcd(isl_int *p, unsigned len, isl_int *gcd); void isl_seq_lcm(isl_int *p, unsigned len, isl_int *lcm); void isl_seq_normalize(struct isl_ctx *ctx, isl_int *p, unsigned len); diff --git a/isl_seq.c b/isl_seq.c index dd80c19..8cf2996 100644 --- a/isl_seq.c +++ b/isl_seq.c @@ -194,6 +194,17 @@ int isl_seq_last_non_zero(isl_int *p, unsigned len) return -1; } +void isl_seq_abs_max(isl_int *p, unsigned len, isl_int *max) +{ + int i; + + isl_int_set_si(*max, 0); + + for (i = 0; i < len; ++i) + if (isl_int_abs_gt(p[i], *max)) + isl_int_abs(*max, p[i]); +} + int isl_seq_abs_min_non_zero(isl_int *p, unsigned len) { int i, min = isl_seq_first_non_zero(p, len);