Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add a function to check that the matrix is a sequence of numbers (mainly usefull...
[simgrid.git] / src / xbt / xbt_matrix.c
index a9e13df..81f7d1a 100644 (file)
@@ -171,7 +171,7 @@ xbt_matrix_t xbt_matrix_double_new_rand(int lines, int rows)
   return res;
 }
 
-/** \brief Creates a new matrix of double randomly by subsequent numbers */
+/** \brief Creates a new matrix of double containing the sequence of numbers in order */
 xbt_matrix_t xbt_matrix_double_new_seq(int lines, int rows)
 {
   xbt_matrix_t res = xbt_matrix_new(lines, rows, sizeof(double), NULL);
@@ -182,6 +182,18 @@ xbt_matrix_t xbt_matrix_double_new_seq(int lines, int rows)
 
   return res;
 }
+/** \brief Checks whether the matrix contains the sequence of numbers */
+int xbt_matrix_double_is_seq(xbt_matrix_t mat) {
+  int i;
+
+  for (i = 0; i < mat->lines * mat->rows; i++) {
+    double val = xbt_matrix_get_as(mat,i,0,double);
+    if (val != i)
+      return 0;
+  }
+
+  return 1;
+}
 
 /** \brief Creates a new matrix being the multiplication of two others */
 xbt_matrix_t xbt_matrix_double_new_mult(xbt_matrix_t A, xbt_matrix_t B)