|
Dist m4ri 0.0.1.alpha
Computing distance of a classical or quantum CSS code
|

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) |
| Convert a Matrix Market typecode to a human-readable string. | |
| int | mm_read_banner (FILE *f, MM_typecode *matcode) |
| Read the Matrix Market banner from a file. | |
| int | mm_read_mtx_crd_size (FILE *f, int *M, int *N, int *nz) |
| Read dimensions and number of non-zero entries for a coordinate matrix. | |
| int | mm_read_mtx_array_size (FILE *f, int *M, int *N) |
| Read dimensions for an array (dense) matrix. | |
| int | mm_write_banner (FILE *f, MM_typecode matcode) |
| Write the Matrix Market banner to a file. | |
| int | mm_write_mtx_crd_size (FILE *f, int M, int N, int nz) |
| Write dimensions and number of non-zero entries for a coordinate matrix. | |
| int | mm_write_mtx_array_size (FILE *f, int M, int N) |
| Write dimensions for an array (dense) matrix. | |
| 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) |
| Write a coordinate matrix to a file. | |
| int | mm_read_mtx_crd_data (FILE *f, int M, int N, int nz, int I[], int J[], double val[], MM_typecode matcode) |
| Read coordinate matrix data from a file into arrays. | |
| int | mm_read_mtx_crd_entry (FILE *f, int *I, int *J, double *real, double *img, MM_typecode matcode) |
| Read a single coordinate entry from a file. | |
| int | mm_read_unsymmetric_sparse (const char *fname, int *M_, int *N_, int *nz_, double **val_, int **I_, int **J_) |
| High-level routine to read an unsymmetric sparse matrix in coordinate format. | |
| #define mm_clear_typecode | ( | typecode | ) |
| #define mm_initialize_typecode | ( | typecode | ) | mm_clear_typecode(typecode) |
| #define mm_set_dense | ( | typecode | ) | mm_set_array(typecode) |
| #define mm_set_sparse | ( | typecode | ) | mm_set_coordinate(typecode) |
| int mm_is_valid | ( | MM_typecode | matcode | ) |
Definition at line 95 of file mmio.c.
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().
| int mm_read_banner | ( | FILE * | f, |
| MM_typecode * | matcode | ||
| ) |
Read the Matrix Market banner from a file.
| f | File pointer. |
| matcode | Pointer to store the read typecode. |
Definition at line 105 of file mmio.c.
References MatrixMarketBanner, mm_clear_typecode, MM_COMPLEX_STR, MM_DENSE_STR, MM_GENERAL_STR, MM_HERM_STR, MM_INT_STR, MM_MAX_LINE_LENGTH, MM_MAX_TOKEN_LENGTH, MM_MTX_STR, MM_NO_HEADER, MM_PATTERN_STR, MM_PREMATURE_EOF, MM_REAL_STR, mm_set_complex, mm_set_dense, mm_set_general, mm_set_hermitian, mm_set_integer, mm_set_matrix, mm_set_pattern, mm_set_real, mm_set_skew, mm_set_sparse, mm_set_symmetric, MM_SKEW_STR, MM_SPARSE_STR, MM_SYMM_STR, MM_UNSUPPORTED_TYPE, and p.
Referenced by csr_mm_read(), mm_read_mtx_crd(), and mm_read_unsymmetric_sparse().
| int mm_read_mtx_array_size | ( | FILE * | f, |
| int * | M, | ||
| int * | N | ||
| ) |
Read dimensions for an array (dense) matrix.
| f | File pointer. |
| M | Pointer to store the number of rows. |
| N | Pointer to store the number of columns. |
Definition at line 229 of file mmio.c.
References MM_MAX_LINE_LENGTH, and MM_PREMATURE_EOF.
Referenced by csr_mm_read().
| int mm_read_mtx_crd_data | ( | FILE * | f, |
| int | M, | ||
| int | N, | ||
| int | nz, | ||
| int | I[], | ||
| int | J[], | ||
| double | val[], | ||
| MM_typecode | matcode | ||
| ) |
Read coordinate matrix data from a file into arrays.
| f | File pointer. |
| M | Number of rows. |
| N | Number of columns. |
| nz | Number of non-zero entries. |
| I | Array to store row indices. |
| J | Array to store column indices. |
| val | Array to store values. |
| matcode | Matrix Market typecode. |
| int mm_read_mtx_crd_entry | ( | FILE * | f, |
| int * | I, | ||
| int * | J, | ||
| double * | real, | ||
| double * | img, | ||
| MM_typecode | matcode | ||
| ) |
Read a single coordinate entry from a file.
| f | File pointer. |
| I | Pointer to store row index. |
| J | Pointer to store column index. |
| real | Pointer to store real part of the value. |
| img | Pointer to store imaginary part of the value. |
| matcode | Matrix Market typecode. |
Definition at line 307 of file mmio.c.
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 | ||
| ) |
Read dimensions and number of non-zero entries for a coordinate matrix.
| f | File pointer. |
| M | Pointer to store the number of rows. |
| N | Pointer to store the number of columns. |
| nz | Pointer to store the number of non-zero entries. |
Definition at line 198 of file mmio.c.
References MM_MAX_LINE_LENGTH, and MM_PREMATURE_EOF.
Referenced by csr_mm_read(), mm_read_mtx_crd(), and mm_read_unsymmetric_sparse().
| int mm_read_unsymmetric_sparse | ( | const char * | fname, |
| int * | M_, | ||
| int * | N_, | ||
| int * | nz_, | ||
| double ** | val_, | ||
| int ** | I_, | ||
| int ** | J_ | ||
| ) |
High-level routine to read an unsymmetric sparse matrix in coordinate format.
| fname | File name. |
| M_ | Pointer to store number of rows. |
| N_ | Pointer to store number of columns. |
| nz_ | Pointer to store number of non-zero entries. |
| val_ | Pointer to store allocated array of values. |
| I_ | Pointer to store allocated array of row indices. |
| J_ | Pointer to store allocated array of column indices. |
Definition at line 20 of file mmio.c.
References mm_is_matrix, mm_is_real, mm_is_sparse, mm_read_banner(), mm_read_mtx_crd_size(), and mm_typecode_to_str().
| char * mm_typecode_to_str | ( | MM_typecode | matcode | ) |
Convert a Matrix Market typecode to a human-readable string.
| matcode | The Matrix Market typecode. |
Definition at line 464 of file mmio.c.
References _maybe_unused, MM_COMPLEX_STR, MM_DENSE_STR, MM_GENERAL_STR, MM_HERM_STR, MM_INT_STR, mm_is_complex, mm_is_dense, mm_is_general, mm_is_hermitian, mm_is_integer, mm_is_matrix, mm_is_pattern, mm_is_real, mm_is_skew, mm_is_sparse, mm_is_symmetric, MM_MAX_LINE_LENGTH, MM_MTX_STR, MM_PATTERN_STR, MM_REAL_STR, MM_SKEW_STR, MM_SPARSE_STR, mm_strdup(), and MM_SYMM_STR.
Referenced by csr_mm_read(), mm_read_unsymmetric_sparse(), mm_write_banner(), and mm_write_mtx_crd().
| int mm_write_banner | ( | FILE * | f, |
| MM_typecode | matcode | ||
| ) |
Write the Matrix Market banner to a file.
| f | File pointer. |
| matcode | The typecode to write. |
Definition at line 395 of file mmio.c.
References MatrixMarketBanner, MM_COULD_NOT_WRITE_FILE, and mm_typecode_to_str().
| int mm_write_mtx_array_size | ( | FILE * | f, |
| int | M, | ||
| int | N | ||
| ) |
Write dimensions for an array (dense) matrix.
| f | File pointer. |
| M | Number of rows. |
| N | Number of columns. |
Definition at line 258 of file mmio.c.
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 | ||
| ) |
Write a coordinate matrix to a file.
| fname | File name. |
| M | Number of rows. |
| N | Number of columns. |
| nz | Number of non-zero entries. |
| I | Array of row indices. |
| J | Array of column indices. |
| val | Array of values (can be NULL for pattern matrices). |
| matcode | Matrix Market typecode. |
Definition at line 408 of file mmio.c.
References MatrixMarketBanner, MM_COULD_NOT_WRITE_FILE, mm_is_complex, mm_is_pattern, mm_is_real, mm_typecode_to_str(), and MM_UNSUPPORTED_TYPE.
| int mm_write_mtx_crd_size | ( | FILE * | f, |
| int | M, | ||
| int | N, | ||
| int | nz | ||
| ) |
Write dimensions and number of non-zero entries for a coordinate matrix.
| f | File pointer. |
| M | Number of rows. |
| N | Number of columns. |
| nz | Number of non-zero entries. |
Definition at line 190 of file mmio.c.
References MM_COULD_NOT_WRITE_FILE.