X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=isl_factorization.c;h=6acfd73d22a72434e046e3538708a57ac2b82721;hb=b1ab56f54020a64a42045a3e55e7a321d0386311;hp=379222bc278c80c1f465046a7ed686631a23f459;hpb=88ff74ed2d97e672ebea5008d9b43cb6615939cd;p=platform%2Fupstream%2Fisl.git diff --git a/isl_factorization.c b/isl_factorization.c index 379222b..6acfd73 100644 --- a/isl_factorization.c +++ b/isl_factorization.c @@ -13,8 +13,10 @@ * ZAC des vignes, 4 rue Jacques Monod, 91893 Orsay, France */ +#include #include #include +#include static __isl_give isl_factorizer *isl_factorizer_alloc( __isl_take isl_morph *morph, int n_group) @@ -227,6 +229,8 @@ static int update_groups(struct isl_factor_groups *g, __isl_keep isl_mat *H) return -1; } } + for (i = 1; i < H->n_col; ++i) + update_group(g, i); return 0; } @@ -301,6 +305,9 @@ __isl_give isl_factorizer *isl_basic_set_factorizer( for (j = done + g.cnt[group]; j < nvar; ++j) if (g.group[j] == group) break; + if (j == nvar) + isl_die(bset->ctx, isl_error_internal, + "internal error", goto error); g.group[j] = g.group[done + i]; Q = isl_mat_swap_rows(Q, done + i, j); U = isl_mat_swap_cols(U, done + i, j);