JacobiHPC/utils/utils.h

47 lines
878 B
C
Raw Normal View History

#include <stdio.h>
#include <stdlib.h>
/* #define ENABLE_LOG */
#ifdef ENABLE_LOG
# define LOG(x) x
#else
# define LOG(x) (void) 0
#endif
/*
* Macro used with single array matrices to
* get the array index given the number of columns,
* the row index and the column index.
*/
#define IDX(cols, r, c) ((r) * (cols) + (c))
typedef struct borders {
double north;
double east;
double south;
double west;
} borders;
2016-11-13 11:06:05 +01:00
2016-11-13 13:11:24 +01:00
/*
* Create a matrix stored in a single array.
*/
2016-11-13 11:06:05 +01:00
double *create_sa_matrix(int rows, int cols);
2016-11-13 13:11:24 +01:00
/*
* Destroy a single array matrix.
*/
2016-11-13 11:06:05 +01:00
void destroy_sa_matrix(double *x);
2016-11-13 13:11:24 +01:00
2016-11-13 11:06:05 +01:00
int sa_index(int cols, int r, int c);
2016-11-13 13:11:24 +01:00
/*
* Print a single array matrix.
*/
void print_sa_matrix(double *x, int rows, int cols);
double **create_matrix(int rows, int cols);
2016-11-13 11:06:05 +01:00
void destroy_matrix(double **x, int rows);
void print_matrix(double **x, int rows, int cols);