From: Sven Verdoolaege Date: Sat, 26 Mar 2011 14:18:17 +0000 (+0100) Subject: add isl_mat_initial_non_zero_cols X-Git-Tag: isl-0.07~247 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=79f39689bc1521ec66cec1add03b45aa71d2a9ea;p=platform%2Fupstream%2Fisl.git add isl_mat_initial_non_zero_cols Signed-off-by: Sven Verdoolaege --- diff --git a/include/isl/mat.h b/include/isl/mat.h index f888e7a..1dbb84a 100644 --- a/include/isl/mat.h +++ b/include/isl/mat.h @@ -102,6 +102,8 @@ __isl_give isl_mat *isl_mat_vec_concat(__isl_take isl_mat *top, int isl_mat_is_equal(__isl_keep isl_mat *mat1, __isl_keep isl_mat *mat2); +int isl_mat_initial_non_zero_cols(__isl_keep isl_mat *mat); + void isl_mat_dump(struct isl_mat *mat, FILE *out, int indent); #if defined(__cplusplus) diff --git a/isl_mat.c b/isl_mat.c index 6dc9d19..9a8a558 100644 --- a/isl_mat.c +++ b/isl_mat.c @@ -1483,3 +1483,19 @@ __isl_give isl_mat *isl_mat_normalize(__isl_take isl_mat *mat) return mat; } + +/* Number of initial non-zero columns. + */ +int isl_mat_initial_non_zero_cols(__isl_keep isl_mat *mat) +{ + int i; + + if (!mat) + return -1; + + for (i = 0; i < mat->n_col; ++i) + if (row_first_non_zero(mat->row, mat->n_row, i) < 0) + break; + + return i; +}