add isl_mat_col_submul
authorSven Verdoolaege <skimo@kotnet.org>
Fri, 2 Jan 2009 16:18:42 +0000 (17:18 +0100)
committerSven Verdoolaege <skimo@kotnet.org>
Tue, 6 Jan 2009 18:10:50 +0000 (19:10 +0100)
isl_mat.c
isl_mat.h

index 3fde011..d825e78 100644 (file)
--- 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]);
+}
index ba8ac07..a243928 100644 (file)
--- 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,