add isl_mat_normalize_row
authorSven Verdoolaege <skimo@kotnet.org>
Fri, 3 Jun 2011 08:38:50 +0000 (10:38 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Sun, 5 Jun 2011 05:59:48 +0000 (07:59 +0200)
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
include/isl/mat.h
isl_mat.c

index dfa74c2..eda1048 100644 (file)
@@ -66,6 +66,7 @@ __isl_give isl_mat *isl_mat_right_inverse(__isl_take isl_mat *mat);
 __isl_give isl_mat *isl_mat_right_kernel(__isl_take isl_mat *mat);
 
 __isl_give isl_mat *isl_mat_normalize(__isl_take isl_mat *mat);
+__isl_give isl_mat *isl_mat_normalize_row(__isl_take isl_mat *mat, int row);
 
 struct isl_mat *isl_mat_drop_cols(struct isl_mat *mat,
                                unsigned col, unsigned n);
index b351f0e..e64beae 100644 (file)
--- a/isl_mat.c
+++ b/isl_mat.c
@@ -1597,6 +1597,17 @@ __isl_give isl_mat *isl_mat_normalize(__isl_take isl_mat *mat)
        return mat;
 }
 
+__isl_give isl_mat *isl_mat_normalize_row(__isl_take isl_mat *mat, int row)
+{
+       mat = isl_mat_cow(mat);
+       if (!mat)
+               return NULL;
+
+       isl_seq_normalize(mat->ctx, mat->row[row], mat->n_col);
+
+       return mat;
+}
+
 /* Number of initial non-zero columns.
  */
 int isl_mat_initial_non_zero_cols(__isl_keep isl_mat *mat)