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
39