Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
change mmalloc.h into a public header
[simgrid.git] / src / xbt / xbt_matrix.c
index a9e13df..fabd5a3 100644 (file)
@@ -1,8 +1,7 @@
-/* $Id$ */
-
 /* xbt_matrix_t management functions                                        */
 
-/* Copyright (c) 2006 Martin Quinson. All rights reserved.                  */
+/* Copyright (c) 2006, 2007, 2008, 2009, 2010. The SimGrid Team.
+ * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
@@ -171,7 +170,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 +181,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)