Ifpack2 Templated Preconditioning Package Version 1.0
Loading...
Searching...
No Matches
Ifpack2_ExplicitInstantiationHelpers.hpp
1// @HEADER
2// *****************************************************************************
3// Ifpack2: Templated Object-Oriented Algebraic Preconditioner Package
4//
5// Copyright 2009 NTESS and the Ifpack2 contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8// @HEADER
9
10#ifndef TPETRA_EXPLICITINSTANTIATIONHELPERS_HPP
11#define TPETRA_EXPLICITINSTANTIATIONHELPERS_HPP
12
13#include <Tpetra_CrsMatrix.hpp>
14#include <Tpetra_CrsGraph.hpp>
15
16#define IFPACK2_INST(CLASSNAME, S, LO, GO, NO) \
17 template class CLASSNAME<Tpetra::CrsMatrix<S, LO, GO, NO> >;
18
19#define IFPACK2_INST_GRAPH(CLASSNAME, LO, GO) \
20 template class CLASSNAME<Tpetra::CrsGraph<LO, GO> >;
21
22#define IFPACK2_CLASS_CrsMatrix_float_int_int_defaultNode_defaultOps(CLASSNAME) \
23 IFPACK2_INST(CLASSNAME, float, int, int)
24
25#define IFPACK2_CLASS_CrsMatrix_float_short_int_defaultNode_defaultOps(CLASSNAME) \
26 IFPACK2_INST(CLASSNAME, float, short, int)
27
28#define IFPACK2_CLASS_CrsMatrix_double_int_int_defaultNode_defaultOps(CLASSNAME) \
29 IFPACK2_INST(CLASSNAME, double, int, int)
30
31#define IFPACK2_INSTANT_CRSMATRIX_FLOAT_DOUBLE_DEFAULTS(CLASSNAME) \
32 IFPACK2_CLASS_CrsMatrix_double_int_int_defaultNode_defaultOps(CLASSNAME)
33
34#define IFPACK2_INSTANT_CRSMATRIX_COMPLEX_DEFAULTS(CLASSNAME) \
35 IFPACK2_INST(CLASSNAME, std::complex<double>, int, int) \
36 IFPACK2_INST(CLASSNAME, std::complex<float>, int, int)
37
38#endif // TPETRA_EXPLICITINSTANTIATIONHELPERS_HPP