21#include <arccore/base/ArccoreGlobal.h>
24#include <alien/import_export/Reader.h>
29class ALIEN_EXPORT MatrixMarketSystemReader
32 MatrixMarketSystemReader() =
delete;
33 MatrixMarketSystemReader(MatrixMarketSystemReader
const&) =
delete;
34 MatrixMarketSystemReader& operator=(MatrixMarketSystemReader
const&) =
delete;
36 explicit MatrixMarketSystemReader(std::string
const& filename);
37 ~MatrixMarketSystemReader();
39 template <
typename MatrixT>
40 void readMatrix(MatrixT& A);
42 template <
typename VectorT>
43 void readVector(VectorT& rhs);
46 std::string m_filename;
49template <
typename MatrixT>
50void MatrixMarketSystemReader::readMatrix(MatrixT& A)
52 std::fstream file_stream(m_filename, std::ios::in);
54 if (!file_stream.good()) {
55 throw FatalErrorException(A_FUNCINFO);
58 FStreamReader reader(&file_stream);
59 loadMMMatrixFromReader<MatrixT, FStreamReader>(A, reader);
62template <
typename VectorT>
63void MatrixMarketSystemReader::readVector(VectorT& rhs)
65 std::fstream file_stream(m_filename, std::ios::in);
67 if (!file_stream.good()) {
68 throw FatalErrorException(A_FUNCINFO);
71 FStreamReader reader(&file_stream);
72 loadMMRhsFromReader<VectorT, FStreamReader>(rhs, reader);
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --