Tempus
Version of the Day
Time Integration
Loading...
Searching...
No Matches
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 Thu Oct 9 2025 20:59:09 for Tempus by
1.9.8