Ifpack2 Templated Preconditioning Package  Version 1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
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