From 0a6ff650419d1b66f417356c2f8aeb6e7a7e7c80 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Fri, 2 Jan 2009 17:18:42 +0100 Subject: [PATCH] add isl_mat_col_submul --- isl_mat.c | 9 +++++++++ isl_mat.h | 3 +++ 2 files changed, 12 insertions(+) diff --git a/isl_mat.c b/isl_mat.c index 3fde011..d825e78 100644 --- a/isl_mat.c +++ b/isl_mat.c @@ -835,3 +835,12 @@ struct isl_mat *isl_mat_drop_rows(struct isl_ctx *ctx, struct isl_mat *mat, mat->n_row -= n; return mat; } + +void isl_mat_col_submul(struct isl_mat *mat, + int dst_col, isl_int f, int src_col) +{ + int i; + + for (i = 0; i < mat->n_row; ++i) + isl_int_submul(mat->row[i][dst_col], f, mat->row[i][src_col]); +} diff --git a/isl_mat.h b/isl_mat.h index ba8ac07..a243928 100644 --- a/isl_mat.h +++ b/isl_mat.h @@ -63,6 +63,9 @@ struct isl_mat *isl_mat_drop_cols(struct isl_ctx *ctx, struct isl_mat *mat, struct isl_mat *isl_mat_drop_rows(struct isl_ctx *ctx, struct isl_mat *mat, unsigned row, unsigned n); +void isl_mat_col_submul(struct isl_mat *mat, + int dst_col, isl_int f, int src_col); + struct isl_basic_set *isl_basic_set_preimage(struct isl_ctx *ctx, struct isl_basic_set *bset, struct isl_mat *mat); struct isl_set *isl_set_preimage(struct isl_ctx *ctx, -- 2.7.4