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

Classes

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

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