SimGrid  3.13
Versatile Simulation of Distributed Systems
xbt_matrix.c File Reference
#include <stdio.h>
#include "xbt/sysdep.h"
#include "xbt/log.h"
#include "xbt/matrix.h"

Functions

 XBT_LOG_NEW_DEFAULT_SUBCATEGORY (xbt_matrix, xbt,"2D data storage")
 
xbt_matrix_t xbt_matrix_new (int lines, int rows, const unsigned long elmsize, void_f_pvoid_t const free_f)
 constructor More...
 
xbt_matrix_t xbt_matrix_new_sub (xbt_matrix_t from, int lsize, int rsize, int lpos, int rpos, pvoid_f_pvoid_t const cpy_f)
 Creates a matrix being a submatrix of another one. More...
 
void xbt_matrix_free (xbt_matrix_t mat)
 destructor More...
 
void xbt_matrix_free_voidp (void *d)
 Freeing function for containers of xbt_matrix_t. More...
 
void xbt_matrix_dump (xbt_matrix_t matrix, const char *name, int coords, void_f_pvoid_t display_fun)
 Display the content of a matrix (debugging purpose) More...
 
void xbt_matrix_dump_display_double (void *d)
 
void xbt_matrix_copy_values (xbt_matrix_t dst, xbt_matrix_t src, unsigned int lsize, unsigned int rsize, unsigned int lpos_dst, unsigned int rpos_dst, unsigned int lpos_src, unsigned int rpos_src, pvoid_f_pvoid_t const cpy_f)
 Copy the values from the matrix src into the matrix dst. More...
 
xbt_matrix_t xbt_matrix_double_new_zeros (int lines, int rows)
 Creates a new matrix of double filled with zeros. More...
 
xbt_matrix_t xbt_matrix_double_new_id (int lines, int rows)
 Creates a new matrix of double being the identity matrix. More...
 
xbt_matrix_t xbt_matrix_double_new_seq (int lines, int rows)
 Creates a new matrix of double containing the sequence of numbers in order. More...
 
void xbt_matrix_double_addmult (xbt_matrix_t A, xbt_matrix_t B, xbt_matrix_t C)
 add to C the result of A*B More...
 

Function Documentation

XBT_LOG_NEW_DEFAULT_SUBCATEGORY ( xbt_matrix  ,
xbt  ,
"2D data storage"   
)
xbt_matrix_t xbt_matrix_new ( int  lines,
int  rows,
const unsigned long  elmsize,
void_f_pvoid_t const  free_f 
)

constructor

xbt_matrix_t xbt_matrix_new_sub ( xbt_matrix_t  from,
int  lsize,
int  rsize,
int  lpos,
int  rpos,
pvoid_f_pvoid_t const  cpy_f 
)

Creates a matrix being a submatrix of another one.

void xbt_matrix_free ( xbt_matrix_t  mat)

destructor

void xbt_matrix_free_voidp ( void d)

Freeing function for containers of xbt_matrix_t.

void xbt_matrix_dump ( xbt_matrix_t  matrix,
const char *  name,
int  coords,
void_f_pvoid_t  display_fun 
)

Display the content of a matrix (debugging purpose)

Parameters
coordsboolean indicating whether we should add the coords of each cell to the output
void xbt_matrix_dump_display_double ( void d)
void xbt_matrix_copy_values ( xbt_matrix_t  dst,
xbt_matrix_t  src,
unsigned int  lsize,
unsigned int  rsize,
unsigned int  lpos_dst,
unsigned int  rpos_dst,
unsigned int  lpos_src,
unsigned int  rpos_src,
pvoid_f_pvoid_t const  cpy_f 
)

Copy the values from the matrix src into the matrix dst.

Parameters
destdestination
srcsource
lsizenumber of lines to copy
rsizenumber of rows to copy
lpos_dstline offset on destination matrix
rpos_dstrow offset on destination matrix
lpos_srcline offset on destination matrix
rpos_srcrow offset on destination matrix
xbt_matrix_t xbt_matrix_double_new_zeros ( int  lines,
int  rows 
)

Creates a new matrix of double filled with zeros.

xbt_matrix_t xbt_matrix_double_new_id ( int  lines,
int  rows 
)

Creates a new matrix of double being the identity matrix.

xbt_matrix_t xbt_matrix_double_new_seq ( int  lines,
int  rows 
)

Creates a new matrix of double containing the sequence of numbers in order.

void xbt_matrix_double_addmult ( xbt_matrix_t  A,
xbt_matrix_t  B,
xbt_matrix_t  C 
)

add to C the result of A*B