escript  Revision_
Macros | Typedefs | Functions
mmio.h File Reference
#include <fstream>

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 (std::istream &f, MM_typecode *matcode)
 
int mm_read_mtx_crd_size (std::istream &f, int *M, int *N, int *nz)
 
int mm_read_mtx_array_size (std::istream &f, int *M, int *N)
 
int mm_write_banner (std::ostream &f, MM_typecode matcode)
 
int mm_write_mtx_crd_size (std::ostream &f, int M, int N, int nz)
 
int mm_write_mtx_array_size (std::ostream &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 (std::istream &f, int M, int N, int nz, int *i, int *j, double *val, MM_typecode matcode)
 
int mm_read_mtx_crd_entry (std::istream &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

#define MatrixMarketBanner   "%%MatrixMarket"
#define MM_ARRAY_STR   "array"
#define mm_clear_typecode (   typecode)
Value:
((*typecode)[0]=(*typecode)[1]= \
(*typecode)[2]=' ',(*typecode)[3]='G')

Referenced by mm_read_banner().

#define MM_COMPLEX_STR   "complex"
#define MM_COORDINATE_STR   "coordinate"
#define MM_COULD_NOT_READ_FILE   11

Referenced by mm_read_mtx_crd().

#define MM_COULD_NOT_WRITE_FILE   17
#define MM_DENSE_STR   "array"
#define MM_GENERAL_STR   "general"
#define MM_HERM_STR   "hermitian"
#define mm_initialize_typecode (   typecode)    mm_clear_typecode(typecode)
#define MM_INT_STR   "integer"
#define mm_is_array (   typecode)    ((typecode)[1]=='A')

Referenced by paso::RHS_loadMM_toCSR().

#define mm_is_complex (   typecode)    ((typecode)[2]=='C')
#define mm_is_coordinate (   typecode)    ((typecode)[1]=='C')
#define mm_is_dense (   typecode)    ((typecode)[1]=='A')

Referenced by mm_is_valid(), and mm_typecode_to_str().

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

Referenced by mm_is_valid(), and mm_typecode_to_str().

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

Referenced by mm_typecode_to_str().

#define mm_is_matrix (   typecode)    ((typecode)[0]=='M')
#define mm_is_pattern (   typecode)    ((typecode)[2]=='P')
#define mm_is_real (   typecode)    ((typecode)[2]=='R')
#define mm_is_skew (   typecode)    ((typecode)[3]=='K')

Referenced by mm_is_valid(), and mm_typecode_to_str().

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

Referenced by mm_typecode_to_str().

#define MM_LINE_TOO_LONG   16
#define MM_MAX_LINE_LENGTH   1025
#define MM_MAX_TOKEN_LENGTH   64

Referenced by mm_read_banner().

#define MM_MTX_STR   "matrix"
#define MM_NO_HEADER   14

Referenced by mm_read_banner().

#define MM_NOT_MTX   13
#define MM_PATTERN_STR   "pattern"
#define MM_PREMATURE_EOF   12
#define MM_REAL_STR   "real"
#define mm_set_array (   typecode)    ((*typecode)[1]='A')
#define mm_set_complex (   typecode)    ((*typecode)[2]='C')

Referenced by mm_read_banner().

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

Referenced by mm_read_banner().

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

Referenced by mm_read_banner().

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

Referenced by mm_read_banner().

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

Referenced by mm_read_banner().

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

Referenced by mm_read_banner().

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

Referenced by mm_read_banner().

#define mm_set_sparse (   typecode)    mm_set_coordinate(typecode)

Referenced by mm_read_banner().

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

Referenced by mm_read_banner().

#define MM_SKEW_STR   "skew-symmetric"
#define MM_SPARSE_STR   "coordinate"
#define MM_SYMM_STR   "symmetric"
#define MM_UNSUPPORTED_TYPE   15

Typedef Documentation

typedef char MM_typecode[4]

Function Documentation

int mm_is_valid ( MM_typecode  matcode)
int mm_read_banner ( std::istream &  f,
MM_typecode matcode 
)
int mm_read_mtx_array_size ( std::istream &  f,
int *  M,
int *  N 
)
int mm_read_mtx_crd_data ( std::istream &  f,
int  M,
int  N,
int  nz,
int *  i,
int *  j,
double *  val,
MM_typecode  matcode 
)
int mm_read_mtx_crd_entry ( std::istream &  f,
int *  i,
int *  j,
double *  real,
double *  img,
MM_typecode  matcode 
)
int mm_read_mtx_crd_size ( std::istream &  f,
int *  M,
int *  N,
int *  nz 
)
int mm_read_unsymmetric_sparse ( const char *  fname,
int *  M,
int *  N,
int *  nz,
double **  val,
int **  I,
int **  J 
)
char* mm_typecode_to_str ( MM_typecode  matcode)
int mm_write_banner ( std::ostream &  f,
MM_typecode  matcode 
)
int mm_write_mtx_array_size ( std::ostream &  f,
int  M,
int  N 
)
int mm_write_mtx_crd ( char *  fname,
int  M,
int  N,
int  nz,
int *  i,
int *  j,
double *  val,
MM_typecode  matcode 
)
int mm_write_mtx_crd_size ( std::ostream &  f,
int  M,
int  N,
int  nz 
)