ColPack
Utilities/mmio.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#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_)

Define Documentation

#define MatrixMarketBanner   "%%MatrixMarket"

Definition at line 13 of file mmio.h.

Referenced by mm_read_banner(), mm_write_banner(), and mm_write_mtx_crd().

#define MM_ARRAY_STR   "array"

Definition at line 105 of file mmio.h.

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

Definition at line 70 of file mmio.h.

Referenced by mm_read_banner().

#define MM_COMPLEX_STR   "complex"

Definition at line 109 of file mmio.h.

Referenced by mm_read_banner(), and mm_typecode_to_str().

#define MM_COORDINATE_STR   "coordinate"

Definition at line 107 of file mmio.h.

#define MM_COULD_NOT_READ_FILE   11

Definition at line 79 of file mmio.h.

Referenced by mm_read_mtx_crd().

#define MM_DENSE_STR   "array"

Definition at line 106 of file mmio.h.

Referenced by mm_read_banner(), and mm_typecode_to_str().

#define MM_GENERAL_STR   "general"

Definition at line 112 of file mmio.h.

Referenced by mm_read_banner(), and mm_typecode_to_str().

#define MM_HERM_STR   "hermitian"

Definition at line 114 of file mmio.h.

Referenced by mm_read_banner(), and mm_typecode_to_str().

#define mm_initialize_typecode (   typecode)    mm_clear_typecode(typecode)

Definition at line 73 of file mmio.h.

#define MM_INT_STR   "integer"

Definition at line 111 of file mmio.h.

Referenced by mm_read_banner(), and mm_typecode_to_str().

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

Definition at line 36 of file mmio.h.

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

Definition at line 35 of file mmio.h.

Referenced by mm_is_valid(), and mm_typecode_to_str().

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

Definition at line 46 of file mmio.h.

Referenced by mm_is_valid(), and mm_typecode_to_str().

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

Definition at line 45 of file mmio.h.

Referenced by mm_is_valid(), and mm_typecode_to_str().

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

Definition at line 33 of file mmio.h.

Referenced by mm_read_mtx_crd(), mm_read_unsymmetric_sparse(), and mm_typecode_to_str().

#define MM_LINE_TOO_LONG   16

Definition at line 84 of file mmio.h.

#define MM_MAX_LINE_LENGTH   1025
#define MM_MAX_TOKEN_LENGTH   64

Definition at line 14 of file mmio.h.

Referenced by mm_read_banner().

#define MM_MTX_STR   "matrix"

Definition at line 104 of file mmio.h.

Referenced by mm_read_banner(), and mm_typecode_to_str().

#define MM_NO_HEADER   14

Definition at line 82 of file mmio.h.

Referenced by mm_read_banner().

#define MM_NOT_MTX   13

Definition at line 81 of file mmio.h.

#define MM_PATTERN_STR   "pattern"

Definition at line 116 of file mmio.h.

Referenced by mm_read_banner(), and mm_typecode_to_str().

#define MM_REAL_STR   "real"

Definition at line 110 of file mmio.h.

Referenced by mm_read_banner(), and mm_typecode_to_str().

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

Definition at line 55 of file mmio.h.

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

Definition at line 59 of file mmio.h.

Referenced by mm_read_banner().

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

Definition at line 54 of file mmio.h.

#define mm_set_dense (   typecode)    mm_set_array(typecode)

Definition at line 56 of file mmio.h.

Referenced by mm_read_banner().

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

Definition at line 66 of file mmio.h.

Referenced by mm_read_banner().

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

Definition at line 68 of file mmio.h.

Referenced by mm_read_banner().

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

Definition at line 62 of file mmio.h.

Referenced by mm_read_banner().

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

Definition at line 53 of file mmio.h.

Referenced by mm_read_banner().

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

Definition at line 61 of file mmio.h.

Referenced by mm_read_banner().

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

Definition at line 60 of file mmio.h.

Referenced by mm_read_banner().

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

Definition at line 67 of file mmio.h.

Referenced by mm_read_banner().

#define mm_set_sparse (   typecode)    mm_set_coordinate(typecode)

Definition at line 57 of file mmio.h.

Referenced by mm_read_banner().

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

Definition at line 65 of file mmio.h.

Referenced by mm_read_banner().

#define MM_SKEW_STR   "skew-symmetric"

Definition at line 115 of file mmio.h.

Referenced by mm_read_banner(), and mm_typecode_to_str().

#define MM_SPARSE_STR   "coordinate"

Definition at line 108 of file mmio.h.

Referenced by mm_read_banner(), and mm_typecode_to_str().

#define MM_SYMM_STR   "symmetric"

Definition at line 113 of file mmio.h.

Referenced by mm_read_banner(), and mm_typecode_to_str().


Typedef Documentation

typedef char MM_typecode[4]

Definition at line 16 of file mmio.h.


Function Documentation

int mm_is_valid ( MM_typecode  matcode)

Definition at line 86 of file mmio.cpp.

References mm_is_dense, mm_is_hermitian, mm_is_matrix, mm_is_pattern, mm_is_real, and mm_is_skew.

Referenced by mm_read_mtx_crd().

Here is the caller graph for this function:

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

Definition at line 220 of file mmio.cpp.

References MM_MAX_LINE_LENGTH, and MM_PREMATURE_EOF.

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

Definition at line 265 of file mmio.cpp.

References mm_is_complex, mm_is_pattern, mm_is_real, MM_PREMATURE_EOF, and MM_UNSUPPORTED_TYPE.

Referenced by mm_read_mtx_crd().

Here is the caller graph for this function:

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

Definition at line 298 of file mmio.cpp.

References mm_is_complex, mm_is_pattern, mm_is_real, MM_PREMATURE_EOF, and MM_UNSUPPORTED_TYPE.

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

Definition at line 189 of file mmio.cpp.

References MM_MAX_LINE_LENGTH, and MM_PREMATURE_EOF.

Referenced by mm_read_mtx_crd(), and mm_read_unsymmetric_sparse().

Here is the caller graph for this function:

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

Definition at line 17 of file mmio.cpp.

References ColPack::f(), mm_is_matrix, mm_is_real, mm_is_sparse, mm_read_banner(), mm_read_mtx_crd_size(), and mm_typecode_to_str().

Here is the call graph for this function:

int mm_write_banner ( FILE *  f,
MM_typecode  matcode 
)

Definition at line 386 of file mmio.cpp.

References MatrixMarketBanner, MM_COULD_NOT_WRITE_FILE, and mm_typecode_to_str().

Here is the call graph for this function:

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

Definition at line 249 of file mmio.cpp.

References MM_COULD_NOT_WRITE_FILE.

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

Definition at line 399 of file mmio.cpp.

References ColPack::f(), MatrixMarketBanner, MM_COULD_NOT_WRITE_FILE, mm_is_complex, mm_is_pattern, mm_is_real, mm_typecode_to_str(), and MM_UNSUPPORTED_TYPE.

Here is the call graph for this function:

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

Definition at line 181 of file mmio.cpp.

References MM_COULD_NOT_WRITE_FILE.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines