/* xbt_matrix_t management functions */
-/* Copyright (c) 2006, 2007, 2008, 2009, 2010. The SimGrid Team.
+/* Copyright (c) 2006-2014. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
}
-/** \brief Creates a new matrix of double filled with zeros */
+/** \brief Creates a new matrix of double filled with zeros */
xbt_matrix_t xbt_matrix_double_new_zeros(int lines, int rows)
{
xbt_matrix_t res = xbt_matrix_new(lines, rows, sizeof(double), NULL);
return res;
}
-/** \brief Creates a new matrix of double being the identity matrix */
+/** \brief Creates a new matrix of double being the identity matrix */
xbt_matrix_t xbt_matrix_double_new_id(int lines, int rows)
{
xbt_matrix_t res = xbt_matrix_double_new_zeros(lines, rows);
return res;
}
-/** \brief Creates a new matrix of double randomly filled */
-xbt_matrix_t xbt_matrix_double_new_rand(int lines, int rows)
-{
- xbt_matrix_t res = xbt_matrix_new(lines, rows, sizeof(double), NULL);
- int i, j;
-
- for (i = 0; i < lines; i++)
- for (j = 0; j < rows; j++)
- xbt_matrix_get_as(res, i, j, double) = (double) rand();
- return res;
-}
-
-/** \brief Creates a new matrix of double containing the sequence of numbers in order */
+/** \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);
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)
-{
- xbt_matrix_t result = xbt_matrix_double_new_zeros(A->lines, B->rows);
-
- xbt_matrix_double_addmult(A, B, result);
- return result;
-}
-
/** \brief add to C the result of A*B */
void xbt_matrix_double_addmult(xbt_matrix_t A, xbt_matrix_t B,
/*OUT*/ xbt_matrix_t C)