From b09ed45859a4741b67709c81057a90bcd2ebf0aa Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Mon, 11 Apr 2011 13:14:13 +0200 Subject: [PATCH] add isl_mat_add_zero_rows Signed-off-by: Sven Verdoolaege --- include/isl/mat.h | 3 +++ isl_mat.c | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/include/isl/mat.h b/include/isl/mat.h index e35edb2..d1a64cf 100644 --- a/include/isl/mat.h +++ b/include/isl/mat.h @@ -79,6 +79,9 @@ __isl_give isl_mat *isl_mat_add_rows(__isl_take isl_mat *mat, unsigned n); __isl_give isl_mat *isl_mat_insert_zero_cols(__isl_take isl_mat *mat, unsigned first, unsigned n); __isl_give isl_mat *isl_mat_add_zero_cols(__isl_take isl_mat *mat, unsigned n); +__isl_give isl_mat *isl_mat_insert_zero_rows(__isl_take isl_mat *mat, + unsigned row, unsigned n); +__isl_give isl_mat *isl_mat_add_zero_rows(__isl_take isl_mat *mat, unsigned n); void isl_mat_col_add(__isl_keep isl_mat *mat, int dst_col, int src_col); void isl_mat_col_mul(struct isl_mat *mat, int dst_col, isl_int f, int src_col); diff --git a/isl_mat.c b/isl_mat.c index 7a00734..ace8a43 100644 --- a/isl_mat.c +++ b/isl_mat.c @@ -1336,6 +1336,29 @@ __isl_give isl_mat *isl_mat_add_rows(__isl_take isl_mat *mat, unsigned n) return isl_mat_insert_rows(mat, mat->n_row, n); } +__isl_give isl_mat *isl_mat_insert_zero_rows(__isl_take isl_mat *mat, + unsigned row, unsigned n) +{ + int i; + + mat = isl_mat_insert_rows(mat, row, n); + if (!mat) + return NULL; + + for (i = 0; i < n; ++i) + isl_seq_clr(mat->row[row + i], mat->n_col); + + return mat; +} + +__isl_give isl_mat *isl_mat_add_zero_rows(__isl_take isl_mat *mat, unsigned n) +{ + if (!mat) + return NULL; + + return isl_mat_insert_zero_rows(mat, mat->n_row, n); +} + void isl_mat_col_submul(struct isl_mat *mat, int dst_col, isl_int f, int src_col) { -- 2.7.4