diff options
author | Sven Verdoolaege <skimo@kotnet.org> | 2009-02-26 11:59:03 +0100 |
---|---|---|
committer | Sven Verdoolaege <skimo@kotnet.org> | 2009-03-08 19:01:48 +0100 |
commit | 19556df351532e510c9e7cf5ab7d35254338dc1e (patch) | |
tree | 8bbb977a9b8e569ef622edb7f316975e1304dd76 /isl_mat.c | |
parent | 26e0d483a404eae4951f24c0f0779eb4f797444e (diff) | |
download | isl-19556df351532e510c9e7cf5ab7d35254338dc1e.tar.gz isl-19556df351532e510c9e7cf5ab7d35254338dc1e.tar.bz2 isl-19556df351532e510c9e7cf5ab7d35254338dc1e.zip |
add isl_mat_swap_cols
Diffstat (limited to 'isl_mat.c')
-rw-r--r-- | isl_mat.c | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -670,6 +670,25 @@ error: return NULL; } +struct isl_mat *isl_mat_swap_cols(struct isl_ctx *ctx, + struct isl_mat *mat, unsigned i, unsigned j) +{ + int r; + + mat = isl_mat_cow(ctx, mat); + if (!mat) + return NULL; + isl_assert(ctx, i < mat->n_col, goto error); + isl_assert(ctx, j < mat->n_col, goto error); + + for (r = 0; r < mat->n_row; ++r) + isl_int_swap(mat->row[r][i], mat->row[r][j]); + return mat; +error: + isl_mat_free(ctx, mat); + return NULL; +} + struct isl_mat *isl_mat_swap_rows(struct isl_ctx *ctx, struct isl_mat *mat, unsigned i, unsigned j) { |