diff options
author | Sven Verdoolaege <skimo@kotnet.org> | 2009-02-11 19:22:36 +0100 |
---|---|---|
committer | Sven Verdoolaege <skimo@kotnet.org> | 2009-02-15 23:47:03 +0100 |
commit | 8c66b5046a36b0dcff0a012064967b97ebc3b3e2 (patch) | |
tree | 355e84d6f98cd478fe1ea1e0d0456cb24627e391 /isl_seq.c | |
parent | e6deb2c609acf3386919101684738088361b36d7 (diff) | |
download | isl-8c66b5046a36b0dcff0a012064967b97ebc3b3e2.tar.gz isl-8c66b5046a36b0dcff0a012064967b97ebc3b3e2.tar.bz2 isl-8c66b5046a36b0dcff0a012064967b97ebc3b3e2.zip |
fix serious error in isl_mat_parameter_compression
The old version would sometimes remove valid solutions.
Since isl_mat_parameter_compression is used during simplification
on practically any set containing existentially quantified variables
involved in equalities, any such set could get corrupted.
Diffstat (limited to 'isl_seq.c')
-rw-r--r-- | isl_seq.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -171,6 +171,19 @@ void isl_seq_gcd(isl_int *p, unsigned len, isl_int *gcd) } } +void isl_seq_lcm(isl_int *p, unsigned len, isl_int *lcm) +{ + int i; + + if (len == 0) { + isl_int_set_si(*lcm, 1); + return; + } + isl_int_set(*lcm, p[0]); + for (i = 1; i < len; ++i) + isl_int_lcm(*lcm, *lcm, p[i]); +} + void isl_seq_inner_product(isl_int *p1, isl_int *p2, unsigned len, isl_int *prod) { |