Loading...
Searching...
No Matches
Dune::MatrixMarketImpl Namespace Reference
Iterative Solvers Template Library (ISTL) » Sparse Matrix and Vector classes » IO for matrices and vectors.

## Classes

struct | mm_numeric_type
| Helper metaprogram to get the matrix market string representation of the numeric type. More...
struct | mm_numeric_type< int >
struct | mm_numeric_type< double >
struct | mm_numeric_type< float >
struct | mm_numeric_type< std::complex< double > >
struct | mm_numeric_type< std::complex< float > >
struct | mm_header_printer
| Meta program to write the correct Matrix Market header. More...
struct | mm_header_printer< BCRSMatrix< T, A > >
struct | mm_header_printer< BlockVector< B, A > >
struct | mm_header_printer< FieldVector< T, j > >
struct | mm_header_printer< FieldMatrix< T, i, j > >
struct | mm_block_structure_header
| Metaprogram for writing the ISTL block structure header. More...
struct | mm_block_structure_header< BlockVector< T, A > >
struct | mm_block_structure_header< BlockVector< FieldVector< T, i >, A > >
struct | mm_block_structure_header< BCRSMatrix< T, A > >
struct | mm_block_structure_header< BCRSMatrix< FieldMatrix< T, i, j >, A > >
struct | mm_block_structure_header< FieldMatrix< T, i, j > >
struct | mm_block_structure_header< FieldVector< T, i > >
struct | MMHeader
struct | IndexData
struct | NumericWrapper
| a wrapper class of numeric values. More...
struct | PatternDummy
| Utility class for marking the pattern type of the MatrixMarket matrices. More...
struct | NumericWrapper< PatternDummy >
struct | MatrixValuesSetter
| Functor to the data values of the matrix. More...
struct | MatrixValuesSetter< PatternDummy, brows, bcols >
struct | is_complex
struct | is_complex< std::complex< T > >
struct | mm_multipliers
struct | mm_multipliers< BCRSMatrix< B, A > >
struct | mm_multipliers< BCRSMatrix< FieldMatrix< B, i, j >, A > >

## Enumerations

enum | LineType { MM_HEADER , MM_ISTLSTRUCT , DATA }
enum | { MM_MAX_LINE_LENGTH =1025 }
enum | MM_TYPE { coordinate_type , array_type , unknown_type }
enum | MM_CTYPE { integer_type , double_type , complex_type , pattern , unknown_ctype }
enum | MM_STRUCTURE { general , symmetric , skew_symmetric , hermitian , unknown_structure }

## Functions

bool | lineFeed (std::istream &file)
void | skipComments (std::istream &file)
bool | readMatrixMarketBanner (std::istream &file, MMHeader &mmHeader)
template<std::size_t brows, std::size_t bcols>
std::tuple< std::size_t, std::size_t, std::size_t > | calculateNNZ (std::size_t rows, std::size_t cols, std::size_t entries, const MMHeader &header)
template<typename T>
std::istream & | operator>> (std::istream &is, NumericWrapper< T > &num)
std::istream & | operator>> (std::istream &is, NumericWrapper< PatternDummy > &num)
template<typename T>
bool | operator< (const IndexData< T > &i1, const IndexData< T > &i2)
| LessThan operator.
template<typename T>
std::istream & | operator>> (std::istream &is, IndexData< T > &data)
| Read IndexData from a stream.
template<typename T>
std::istream & | operator>> (std::istream &is, IndexData< NumericWrapper< std::complex< T > > > &data)
| Read IndexData from a stream. Specialization for std::complex.
template<class T>
std::enable_if_t<!is_complex< T >::value, T > | conj (const T &r)
template<class T>
std::enable_if_t< is_complex< T >::value, T > | conj (const T &r)
template<typename T, typename A, typename D>
void | readSparseEntries (Dune::BCRSMatrix< T, A > &matrix, std::istream &file, std::size_t entries, const MMHeader &mmHeader, const D &)
std::tuple< std::string, std::string > | splitFilename (const std::string &filename)

## Enumeration Type Documentation

## anonymous enum

anonymous enum

Enumerator
MM_MAX_LINE_LENGTH |

## LineType

enum Dune::MatrixMarketImpl::LineType

Enumerator
MM_HEADER |
MM_ISTLSTRUCT |
DATA |

## MM_CTYPE

enum Dune::MatrixMarketImpl::MM_CTYPE

Enumerator
integer_type |
double_type |
complex_type |
pattern |
unknown_ctype |

## MM_STRUCTURE

enum Dune::MatrixMarketImpl::MM_STRUCTURE

Enumerator
general |
symmetric |
skew_symmetric |
hermitian |
unknown_structure |

## MM_TYPE

enum Dune::MatrixMarketImpl::MM_TYPE

Enumerator
coordinate_type |
array_type |
unknown_type |

## Function Documentation

## calculateNNZ()

template<std::size_t brows, std::size_t bcols>

std::tuple< std::size_t, std::size_t, std::size_t > Dune::MatrixMarketImpl::calculateNNZ | ( | std::size_t | rows,
|  | std::size_t | cols,
|  | std::size_t | entries,
|  | const MMHeader & | header )

## conj() [1/2]

template<class T>

std::enable_if_t< is_complex< T >::value, T > Dune::MatrixMarketImpl::conj | ( | const T & | r | ) |

## conj() [2/2]

template<class T>

std::enable_if_t<!is_complex< T >::value, T > Dune::MatrixMarketImpl::conj | ( | const T & | r | ) |

## lineFeed()

bool Dune::MatrixMarketImpl::lineFeed | ( | std::istream & | file | ) |

inline

## operator<()

template<typename T>

bool Dune::MatrixMarketImpl::operator< | ( | const IndexData< T > & | i1,
|  | const IndexData< T > & | i2 )

LessThan operator.

It simply compares the index.

## operator>>() [1/4]

template<typename T>

std::istream & Dune::MatrixMarketImpl::operator>> | ( | std::istream & | is,
|  | IndexData< NumericWrapper< std::complex< T > > > & | data )

Read IndexData from a stream. Specialization for std::complex.

Parameters

  is | The input stream we read.
  data | Where to store the read data.

## operator>>() [2/4]

template<typename T>

std::istream & Dune::MatrixMarketImpl::operator>> | ( | std::istream & | is,
|  | IndexData< T > & | data )

Read IndexData from a stream.

Parameters

  is | The input stream we read.
  data | Where to store the read data.

## operator>>() [3/4]

std::istream & Dune::MatrixMarketImpl::operator>> | ( | std::istream & | is,
|  | NumericWrapper< PatternDummy > & | num )

inline

## operator>>() [4/4]

template<typename T>

std::istream & Dune::MatrixMarketImpl::operator>> | ( | std::istream & | is,
|  | NumericWrapper< T > & | num )

## readMatrixMarketBanner()

bool Dune::MatrixMarketImpl::readMatrixMarketBanner | ( | std::istream & | file,
|  | MMHeader & | mmHeader )

inline

## readSparseEntries()

template<typename T, typename A, typename D>

void Dune::MatrixMarketImpl::readSparseEntries | ( | Dune::BCRSMatrix< T, A > & | matrix,
|  | std::istream & | file,
|  | std::size_t | entries,
|  | const MMHeader & | mmHeader,
|  | const D & | )

## skipComments()

void Dune::MatrixMarketImpl::skipComments | ( | std::istream & | file | ) |

inline

## splitFilename()

std::tuple< std::string, std::string > Dune::MatrixMarketImpl::splitFilename | ( | const std::string & | filename | ) |

inline