Tempus
Version of the Day
Time Integration
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
src
Tempus_ExplicitTemplateInstantiation.hpp
Go to the documentation of this file.
1
//@HEADER
2
// *****************************************************************************
3
// Tempus: Time Integration and Sensitivity Analysis Package
4
//
5
// Copyright 2017 NTESS and the Tempus contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
//@HEADER
9
10
#ifndef Tempus_ExplicitTemplateInstantiation_hpp
11
#define Tempus_ExplicitTemplateInstantiation_hpp
12
13
#include "Tempus_config.hpp"
14
15
#define TEMPUS_INSTANTIATE_TEMPLATE_CLASS_TPETRA(name, SC, LO, GO, Node) \
16
template class name<SC, LO, GO, Node>;
17
18
// Always instantiate on double
19
#define TEMPUS_INSTANTIATE_TEMPLATE_CLASS_ON_DOUBLE(name) \
20
template class name<double>;
21
22
// Complex not yet supported. Just need to add define to cmake logic
23
#ifdef TEMPUS_BUILD_COMPLEX_SUPPORT
24
#define TEMPUS_INSTANTIATE_TEMPLATE_CLASS_ON_COMPLEX_DOUBLE(name) \
25
template class name<std::complex<double>>;
26
#else
27
#define TEMPUS_INSTANTIATE_TEMPLATE_CLASS_ON_COMPLEX_DOUBLE(name)
28
#endif
29
30
#define TEMPUS_INSTANTIATE_TEMPLATE_CLASS(name) \
31
TEMPUS_INSTANTIATE_TEMPLATE_CLASS_ON_DOUBLE(name) \
32
TEMPUS_INSTANTIATE_TEMPLATE_CLASS_ON_COMPLEX_DOUBLE(name)
33
34
#endif
Generated on Mon Oct 14 2024 09:24:26 for Tempus by
1.8.5