|
eminem
Parse Matrix Market files in C++
|
Classes and methods for parsing Matrix Market files. More...
Classes | |
| struct | MatrixDetails |
| Details extracted from the Matrix Market banner. More... | |
| class | Parser |
| Parse a matrix from a Matrix Market file. More... | |
| struct | ParserOptions |
Options for the Parser constructor. More... | |
Typedefs | |
| typedef unsigned long long | LineIndex |
Enumerations | |
| enum class | Object : char { MATRIX , VECTOR } |
| enum class | Format : char { COORDINATE , ARRAY } |
| enum class | Field : char { REAL , DOUBLE , COMPLEX , INTEGER , PATTERN } |
| enum class | Symmetry : char { GENERAL , SYMMETRIC , SKEW_SYMMETRIC , HERMITIAN } |
Functions | |
| template<typename Index_ = unsigned long long> | |
| auto | parse_gzip_file (const char *path, const ParserOptions &options) |
| template<typename Index_ = unsigned long long> | |
| auto | parse_zlib_buffer (const unsigned char *buffer, std::size_t len, const ParserOptions &options) |
| template<typename Index_ = unsigned long long> | |
| auto | parse_some_file (const char *path, const ParserOptions &options) |
| template<typename Index_ = unsigned long long> | |
| auto | parse_some_buffer (const unsigned char *buffer, std::size_t len, const ParserOptions &options) |
| template<typename Index_ = unsigned long long> | |
| auto | parse_text_file (const char *path, const ParserOptions &options) |
| template<typename Index_ = unsigned long long> | |
| auto | parse_text_buffer (const unsigned char *buffer, std::size_t len, const ParserOptions &options) |
Classes and methods for parsing Matrix Market files.
| typedef unsigned long long eminem::LineIndex |
Integer type of the line count and line numbers in Parser. We use an unsigned long long by default to guarantee at least 64 bits of storage.
|
strong |
Type of object in the Matrix Market file. For the most part, vectors are treated as matrices with 1 column.
|
strong |
Format of the matrix data. For COORDINATE, each line contains the coordinates for a non-zero value. For ARRAY, each line contains the value in column-major format.
|
strong |
Type of the matrix value field:
REAL: integer or floating-point values, in a single field.DOUBLE: floating-point values only, in a single field.INTEGER: integer values only, in a single field.COMPLEX: complex values, including both real and imaginary parts in two separate fields.PATTERN: the presence of a matrix entry, no field is required.
|
strong |
Symmetry in the matrix.
GENERAL: no symmetric, valid for all choices of Field.SYMMETRIC: symmetric, valid for all choices of Field.SKEW_SYMMETRIC: symmetric, valid for all choices of Field except Field::PATTERN.HERMITIAN: symmetric, valid for Field::COMPLEX only. | auto eminem::parse_gzip_file | ( | const char * | path, |
| const ParserOptions & | options ) |
Parse a Gzip-compressed Matrix Market file.
| Index_ | Integer type of the row/column indices. |
| path | Pointer to a string containing a path to a Gzip-compressed Matrix Market file. |
| options | Further options. |
Parser instance that reads from path. This uses Index_ as the integer type of its row/column indices. | auto eminem::parse_zlib_buffer | ( | const unsigned char * | buffer, |
| std::size_t | len, | ||
| const ParserOptions & | options ) |
Parse a Zlib-compressed Matrix Market buffer.
| Index_ | Integer type of the row/column indices. |
| buffer | Pointer to an array containing the contents of a Zlib-compressed Matrix Market file. |
| len | Length of the array referenced by buffer. |
| options | Further options. |
Parser instance that reads from buffer. This uses Index_ as the integer type of its row/column indices. | auto eminem::parse_some_file | ( | const char * | path, |
| const ParserOptions & | options ) |
Parse a possibly Gzip-compressed or uncompressed Matrix Market file.
| Index_ | Integer type of the row/column indices. |
| path | Pointer to a string containing a path to a possibly-compressed Matrix Market file. |
| options | Further options. |
Parser instance that reads from buffer. This uses Index_ as the integer type of its row/column indices. | auto eminem::parse_some_buffer | ( | const unsigned char * | buffer, |
| std::size_t | len, | ||
| const ParserOptions & | options ) |
Parse a possibly Zlib-compressed or uncompressed Matrix Market buffer.
| Index_ | Integer type of the row/column indices. |
| buffer | Pointer to an array containing the contents of a possibly-compressed Matrix Market file. |
| len | Length of the array referenced by buffer. |
| options | Further options. |
Parser instance that reads from buffer. This uses Index_ as the integer type of its row/column indices. | auto eminem::parse_text_file | ( | const char * | path, |
| const ParserOptions & | options ) |
Parse a Matrix Market text file.
| Index_ | Integer type of the row/column indices. |
| path | Pointer to a string containing a path to an uncompressed Matrix Market file. |
| options | Further options. |
Parser instance that reads from path. This uses Index_ as the integer type of its row/column indices. | auto eminem::parse_text_buffer | ( | const unsigned char * | buffer, |
| std::size_t | len, | ||
| const ParserOptions & | options ) |
Parse a Matrix Market text buffer.
| Index_ | Integer type of the row/column indices. |
| buffer | Pointer to an array containing the contents of an uncompressed Matrix Market file. |
| len | Length of the array referenced by buffer. |
| options | Further options. |
Parser instance that reads from path. This uses Index_ as the integer type of its row/column indices.