KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
Macros | Typedefs | Functions
mmio.h File Reference
#include "includes/kratos_export_api.h"
Include dependency graph for mmio.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define MM_MAX_LINE_LENGTH   1025
 
#define MatrixMarketBanner   "%%MatrixMarket"
 
#define MM_MAX_TOKEN_LENGTH   64
 
#define mm_is_matrix(typecode)   ((typecode)[0]=='M')
 
#define mm_is_sparse(typecode)   ((typecode)[1]=='C')
 
#define mm_is_coordinate(typecode)   ((typecode)[1]=='C')
 
#define mm_is_dense(typecode)   ((typecode)[1]=='A')
 
#define mm_is_array(typecode)   ((typecode)[1]=='A')
 
#define mm_is_complex(typecode)   ((typecode)[2]=='C')
 
#define mm_is_real(typecode)   ((typecode)[2]=='R')
 
#define mm_is_pattern(typecode)   ((typecode)[2]=='P')
 
#define mm_is_integer(typecode)   ((typecode)[2]=='I')
 
#define mm_is_symmetric(typecode)   ((typecode)[3]=='S')
 
#define mm_is_general(typecode)   ((typecode)[3]=='G')
 
#define mm_is_skew(typecode)   ((typecode)[3]=='K')
 
#define mm_is_hermitian(typecode)   ((typecode)[3]=='H')
 
#define mm_set_matrix(typecode)   ((*typecode)[0]='M')
 
#define mm_set_coordinate(typecode)   ((*typecode)[1]='C')
 
#define mm_set_array(typecode)   ((*typecode)[1]='A')
 
#define mm_set_dense(typecode)   mm_set_array(typecode)
 
#define mm_set_sparse(typecode)   mm_set_coordinate(typecode)
 
#define mm_set_complex(typecode)   ((*typecode)[2]='C')
 
#define mm_set_real(typecode)   ((*typecode)[2]='R')
 
#define mm_set_pattern(typecode)   ((*typecode)[2]='P')
 
#define mm_set_integer(typecode)   ((*typecode)[2]='I')
 
#define mm_set_symmetric(typecode)   ((*typecode)[3]='S')
 
#define mm_set_general(typecode)   ((*typecode)[3]='G')
 
#define mm_set_skew(typecode)   ((*typecode)[3]='K')
 
#define mm_set_hermitian(typecode)   ((*typecode)[3]='H')
 
#define mm_clear_typecode(typecode)
 
#define mm_initialize_typecode(typecode)   mm_clear_typecode(typecode)
 
#define MM_COULD_NOT_READ_FILE   11
 
#define MM_PREMATURE_EOF   12
 
#define MM_NOT_MTX   13
 
#define MM_NO_HEADER   14
 
#define MM_UNSUPPORTED_TYPE   15
 
#define MM_LINE_TOO_LONG   16
 
#define MM_COULD_NOT_WRITE_FILE   17
 
#define MM_MTX_STR   "matrix"
 
#define MM_ARRAY_STR   "array"
 
#define MM_DENSE_STR   "array"
 
#define MM_COORDINATE_STR   "coordinate"
 
#define MM_SPARSE_STR   "coordinate"
 
#define MM_COMPLEX_STR   "complex"
 
#define MM_REAL_STR   "real"
 
#define MM_INT_STR   "integer"
 
#define MM_GENERAL_STR   "general"
 
#define MM_SYMM_STR   "symmetric"
 
#define MM_HERM_STR   "hermitian"
 
#define MM_SKEW_STR   "skew-symmetric"
 
#define MM_PATTERN_STR   "pattern"
 

Typedefs

typedef char MM_typecode[4]
 

Functions

char * mm_typecode_to_str (MM_typecode matcode)
 
int mm_read_banner (FILE *f, MM_typecode *matcode)
 
int mm_read_mtx_crd_size (FILE *f, int *M, int *N, int *nz)
 
int mm_read_mtx_array_size (FILE *f, int *M, int *N)
 
int mm_write_banner (FILE *f, MM_typecode matcode)
 
int mm_write_mtx_crd_size (FILE *f, int M, int N, int nz)
 
int mm_write_mtx_array_size (FILE *f, int M, int N)
 
int mm_is_valid (MM_typecode matcode)
 
int mm_write_mtx_crd (char fname[], int M, int N, int nz, int I[], int J[], double val[], MM_typecode matcode)
 
int mm_read_mtx_crd_data (FILE *f, int M, int N, int nz, int I[], int J[], double val[], MM_typecode matcode)
 
int mm_read_mtx_crd_entry (FILE *f, int *I, int *J, double *real, double *img, MM_typecode matcode)
 
int mm_read_unsymmetric_sparse (const char *fname, int *M_, int *N_, int *nz_, double **val_, int **I_, int **J_)
 

Macro Definition Documentation

◆ MatrixMarketBanner

#define MatrixMarketBanner   "%%MatrixMarket"

◆ MM_ARRAY_STR

#define MM_ARRAY_STR   "array"

◆ mm_clear_typecode

#define mm_clear_typecode (   typecode)
Value:
((*typecode)[0]=(*typecode)[1]= \
(*typecode)[2]=' ',(*typecode)[3]='G')

◆ MM_COMPLEX_STR

#define MM_COMPLEX_STR   "complex"

◆ MM_COORDINATE_STR

#define MM_COORDINATE_STR   "coordinate"

◆ MM_COULD_NOT_READ_FILE

#define MM_COULD_NOT_READ_FILE   11

◆ MM_COULD_NOT_WRITE_FILE

#define MM_COULD_NOT_WRITE_FILE   17

◆ MM_DENSE_STR

#define MM_DENSE_STR   "array"

◆ MM_GENERAL_STR

#define MM_GENERAL_STR   "general"

◆ MM_HERM_STR

#define MM_HERM_STR   "hermitian"

◆ mm_initialize_typecode

#define mm_initialize_typecode (   typecode)    mm_clear_typecode(typecode)

◆ MM_INT_STR

#define MM_INT_STR   "integer"

◆ mm_is_array

#define mm_is_array (   typecode)    ((typecode)[1]=='A')

◆ mm_is_complex

#define mm_is_complex (   typecode)    ((typecode)[2]=='C')

◆ mm_is_coordinate

#define mm_is_coordinate (   typecode)    ((typecode)[1]=='C')

◆ mm_is_dense

#define mm_is_dense (   typecode)    ((typecode)[1]=='A')

◆ mm_is_general

#define mm_is_general (   typecode)    ((typecode)[3]=='G')

◆ mm_is_hermitian

#define mm_is_hermitian (   typecode)    ((typecode)[3]=='H')

◆ mm_is_integer

#define mm_is_integer (   typecode)    ((typecode)[2]=='I')

◆ mm_is_matrix

#define mm_is_matrix (   typecode)    ((typecode)[0]=='M')

◆ mm_is_pattern

#define mm_is_pattern (   typecode)    ((typecode)[2]=='P')

◆ mm_is_real

#define mm_is_real (   typecode)    ((typecode)[2]=='R')

◆ mm_is_skew

#define mm_is_skew (   typecode)    ((typecode)[3]=='K')

◆ mm_is_sparse

#define mm_is_sparse (   typecode)    ((typecode)[1]=='C')

◆ mm_is_symmetric

#define mm_is_symmetric (   typecode)    ((typecode)[3]=='S')

◆ MM_LINE_TOO_LONG

#define MM_LINE_TOO_LONG   16

◆ MM_MAX_LINE_LENGTH

#define MM_MAX_LINE_LENGTH   1025

◆ MM_MAX_TOKEN_LENGTH

#define MM_MAX_TOKEN_LENGTH   64

◆ MM_MTX_STR

#define MM_MTX_STR   "matrix"

◆ MM_NO_HEADER

#define MM_NO_HEADER   14

◆ MM_NOT_MTX

#define MM_NOT_MTX   13

◆ MM_PATTERN_STR

#define MM_PATTERN_STR   "pattern"

◆ MM_PREMATURE_EOF

#define MM_PREMATURE_EOF   12

◆ MM_REAL_STR

#define MM_REAL_STR   "real"

◆ mm_set_array

#define mm_set_array (   typecode)    ((*typecode)[1]='A')

◆ mm_set_complex

#define mm_set_complex (   typecode)    ((*typecode)[2]='C')

◆ mm_set_coordinate

#define mm_set_coordinate (   typecode)    ((*typecode)[1]='C')

◆ mm_set_dense

#define mm_set_dense (   typecode)    mm_set_array(typecode)

◆ mm_set_general

#define mm_set_general (   typecode)    ((*typecode)[3]='G')

◆ mm_set_hermitian

#define mm_set_hermitian (   typecode)    ((*typecode)[3]='H')

◆ mm_set_integer

#define mm_set_integer (   typecode)    ((*typecode)[2]='I')

◆ mm_set_matrix

#define mm_set_matrix (   typecode)    ((*typecode)[0]='M')

◆ mm_set_pattern

#define mm_set_pattern (   typecode)    ((*typecode)[2]='P')

◆ mm_set_real

#define mm_set_real (   typecode)    ((*typecode)[2]='R')

◆ mm_set_skew

#define mm_set_skew (   typecode)    ((*typecode)[3]='K')

◆ mm_set_sparse

#define mm_set_sparse (   typecode)    mm_set_coordinate(typecode)

◆ mm_set_symmetric

#define mm_set_symmetric (   typecode)    ((*typecode)[3]='S')

◆ MM_SKEW_STR

#define MM_SKEW_STR   "skew-symmetric"

◆ MM_SPARSE_STR

#define MM_SPARSE_STR   "coordinate"

◆ MM_SYMM_STR

#define MM_SYMM_STR   "symmetric"

◆ MM_UNSUPPORTED_TYPE

#define MM_UNSUPPORTED_TYPE   15

Typedef Documentation

◆ MM_typecode

typedef char MM_typecode[4]

Function Documentation

◆ mm_is_valid()

int mm_is_valid ( MM_typecode  matcode)

◆ mm_read_banner()

int mm_read_banner ( FILE *  f,
MM_typecode matcode 
)

◆ mm_read_mtx_array_size()

int mm_read_mtx_array_size ( FILE *  f,
int *  M,
int *  N 
)

◆ mm_read_mtx_crd_data()

int mm_read_mtx_crd_data ( FILE *  f,
int  M,
int  N,
int  nz,
int  I[],
int  J[],
double  val[],
MM_typecode  matcode 
)

◆ mm_read_mtx_crd_entry()

int mm_read_mtx_crd_entry ( FILE *  f,
int *  I,
int *  J,
double *  real,
double *  img,
MM_typecode  matcode 
)

◆ mm_read_mtx_crd_size()

int mm_read_mtx_crd_size ( FILE *  f,
int *  M,
int *  N,
int *  nz 
)

◆ mm_read_unsymmetric_sparse()

int mm_read_unsymmetric_sparse ( const char *  fname,
int *  M_,
int *  N_,
int *  nz_,
double **  val_,
int **  I_,
int **  J_ 
)

◆ mm_typecode_to_str()

char* mm_typecode_to_str ( MM_typecode  matcode)

◆ mm_write_banner()

int mm_write_banner ( FILE *  f,
MM_typecode  matcode 
)

◆ mm_write_mtx_array_size()

int mm_write_mtx_array_size ( FILE *  f,
int  M,
int  N 
)

◆ mm_write_mtx_crd()

int mm_write_mtx_crd ( char  fname[],
int  M,
int  N,
int  nz,
int  I[],
int  J[],
double  val[],
MM_typecode  matcode 
)

◆ mm_write_mtx_crd_size()

int mm_write_mtx_crd_size ( FILE *  f,
int  M,
int  N,
int  nz 
)