/* The content of this file is based on the file dune/istl/matrixmarket.hh in the Dune module dune-istl. The license of this file is therefore the same as that of Dune, see https://www.dune-project.org/about/license/ */ #ifndef OPM_MATRIXMARKETSPECIALIZATIONS_HEADER_INCLUDED #define OPM_MATRIXMARKETSPECIALIZATIONS_HEADER_INCLUDED #include namespace Opm { template class MatrixBlock; } namespace Dune { namespace MatrixMarketImpl { template struct mm_header_printer, A>> { static void print(std::ostream& os) { os << "%%MatrixMarket matrix coordinate "; os << mm_numeric_type::str() << " general" << std::endl; } }; template struct mm_block_structure_header, A>> { using M = BCRSMatrix, A>; static void print(std::ostream& os, const M&) { os << "% ISTL_STRUCT blocked "; os << i << " " << j << std::endl; } }; } // namespace MatrixMarketImpl template struct mm_multipliers; template struct mm_multipliers, A>> { enum { rows = i, cols = j }; }; } // namespace Dune #endif