dune-istl 2.10
Loading...
Searching...
No Matches

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

Enumerator
MM_HEADER 
MM_ISTLSTRUCT 
DATA 

◆ MM_CTYPE

Enumerator
integer_type 
double_type 
complex_type 
pattern 
unknown_ctype 

◆ MM_STRUCTURE

Enumerator
general 
symmetric 
skew_symmetric 
hermitian 
unknown_structure 

◆ 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
isThe input stream we read.
dataWhere 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
isThe input stream we read.
dataWhere 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