dune-istl
2.9.0
|
Provides classes for reading and writing MatrixMarket Files with an extension for parallel matrices. More...
#include <algorithm>
#include <complex>
#include <cstddef>
#include <fstream>
#include <ios>
#include <iostream>
#include <istream>
#include <limits>
#include <ostream>
#include <set>
#include <sstream>
#include <string>
#include <tuple>
#include <type_traits>
#include <vector>
#include <dune/common/exceptions.hh>
#include <dune/common/fmatrix.hh>
#include <dune/common/fvector.hh>
#include <dune/common/hybridutilities.hh>
#include <dune/common/stdstreams.hh>
#include <dune/common/simd/simd.hh>
#include <dune/istl/bcrsmatrix.hh>
#include <dune/istl/bvector.hh>
#include <dune/istl/matrixutils.hh>
#include <dune/istl/owneroverlapcopy.hh>
Go to the source code of this file.
Namespaces | |
Dune | |
Dune::MatrixMarketImpl | |
Functions | |
bool | Dune::MatrixMarketImpl::lineFeed (std::istream &file) |
void | Dune::MatrixMarketImpl::skipComments (std::istream &file) |
bool | Dune::MatrixMarketImpl::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 > | Dune::MatrixMarketImpl::calculateNNZ (std::size_t rows, std::size_t cols, std::size_t entries, const MMHeader &header) |
template<typename T > | |
std::istream & | Dune::MatrixMarketImpl::operator>> (std::istream &is, NumericWrapper< T > &num) |
std::istream & | Dune::MatrixMarketImpl::operator>> (std::istream &is, [[maybe_unused]] NumericWrapper< PatternDummy > &num) |
template<typename T > | |
bool | Dune::MatrixMarketImpl::operator< (const IndexData< T > &i1, const IndexData< T > &i2) |
LessThan operator. More... | |
template<typename T > | |
std::istream & | Dune::MatrixMarketImpl::operator>> (std::istream &is, IndexData< T > &data) |
Read IndexData from a stream. More... | |
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. More... | |
template<class T > | |
std::enable_if_t<!is_complex< T >::value, T > | Dune::MatrixMarketImpl::conj (const T &r) |
template<class T > | |
std::enable_if_t< is_complex< T >::value, T > | Dune::MatrixMarketImpl::conj (const T &r) |
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 &) |
std::tuple< std::string, std::string > | Dune::MatrixMarketImpl::splitFilename (const std::string &filename) |
void | Dune::mm_read_header (std::size_t &rows, std::size_t &cols, MatrixMarketImpl::MMHeader &header, std::istream &istr, bool isVector) |
template<typename T , typename A > | |
void | Dune::mm_read_vector_entries (Dune::BlockVector< T, A > &vector, std::size_t size, std::istream &istr, size_t lane) |
template<typename T , typename A , int entries> | |
void | Dune::mm_read_vector_entries (Dune::BlockVector< Dune::FieldVector< T, entries >, A > &vector, std::size_t size, std::istream &istr, size_t lane) |
template<typename T , typename A > | |
void | Dune::readMatrixMarket (Dune::BlockVector< T, A > &vector, std::istream &istr) |
Reads a BlockVector from a matrix market file. More... | |
template<typename T , typename A > | |
void | Dune::readMatrixMarket (Dune::BCRSMatrix< T, A > &matrix, std::istream &istr) |
Reads a sparse matrix from a matrix market file. More... | |
template<typename B > | |
void | Dune::mm_print_entry (const B &entry, std::size_t rowidx, std::size_t colidx, std::ostream &ostr) |
template<typename V > | |
void | Dune::mm_print_vector_entry (const V &entry, std::ostream &ostr, const std::integral_constant< int, 1 > &, size_t lane) |
template<typename V > | |
void | Dune::mm_print_vector_entry (const V &vector, std::ostream &ostr, const std::integral_constant< int, 0 > &, size_t lane) |
template<typename T , typename A > | |
std::size_t | Dune::countEntries (const BlockVector< T, A > &vector) |
template<typename T , typename A , int i> | |
std::size_t | Dune::countEntries (const BlockVector< FieldVector< T, i >, A > &vector) |
template<typename V > | |
void | Dune::writeMatrixMarket (const V &vector, std::ostream &ostr, const std::integral_constant< int, 0 > &) |
template<typename M > | |
void | Dune::writeMatrixMarket (const M &matrix, std::ostream &ostr, const std::integral_constant< int, 1 > &) |
template<typename M > | |
void | Dune::writeMatrixMarket (const M &matrix, std::ostream &ostr) |
writes a ISTL matrix or vector to a stream in matrix market format. More... | |
template<typename M > | |
void | Dune::storeMatrixMarket (const M &matrix, std::string filename, int prec=default_precision) |
Stores a parallel matrix/vector in matrix market format in a file. More... | |
template<typename M , typename G , typename L > | |
void | Dune::storeMatrixMarket (const M &matrix, std::string filename, const OwnerOverlapCopyCommunication< G, L > &comm, bool storeIndices=true, int prec=default_precision) |
Stores a parallel matrix/vector in matrix market format in a file. More... | |
template<typename M , typename G , typename L > | |
void | Dune::loadMatrixMarket (M &matrix, const std::string &filename, OwnerOverlapCopyCommunication< G, L > &comm, bool readIndices=true) |
Load a parallel matrix/vector stored in matrix market format. More... | |
template<typename M > | |
void | Dune::loadMatrixMarket (M &matrix, const std::string &filename) |
Load a matrix/vector stored in matrix market format. More... | |
Variables | |
static const int | Dune::default_precision = -1 |
Provides classes for reading and writing MatrixMarket Files with an extension for parallel matrices.