Teuchos - Trilinos Tools Package
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
numerics
src
Teuchos_ExpandScalarTypeMacros.hpp
1
// @HEADER
2
// *****************************************************************************
3
// Teuchos: Common Tools Package
4
//
5
// Copyright 2004 NTESS and the Teuchos contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#ifndef TEUCHOS_EXPAND_SCALAR_TYPE_MACROS_HPP
11
#define TEUCHOS_EXPAND_SCALAR_TYPE_MACROS_HPP
12
13
18
19
20
#include "
Teuchos_ExplicitInstantiationHelpers.hpp
"
21
22
#ifdef HAVE_TEUCHOS_INST_FLOAT
23
# define TEUCHOS_MACRO_EXPAND_FLOAT(INSTANT_MACRO)\
24
INSTANT_MACRO(float)
25
#else
26
# define TEUCHOS_MACRO_EXPAND_FLOAT(INSTANT_MACRO)
27
#endif
28
29
30
#define TEUCHOS_MACRO_EXPAND_DOUBLE(INSTANT_MACRO)\
31
INSTANT_MACRO(double)
32
33
#ifdef HAVE_TEUCHOS_INST_COMPLEX_FLOAT
34
# define TEUCHOS_MACRO_EXPAND_COMPLEX_FLOAT(INSTANT_MACRO)\
35
INSTANT_MACRO(std::complex<float>)
36
#else
37
# define TEUCHOS_MACRO_EXPAND_COMPLEX_FLOAT(INSTANT_MACRO)
38
#endif
39
40
41
#ifdef HAVE_TEUCHOS_INST_COMPLEX_DOUBLE
42
# define TEUCHOS_MACRO_EXPAND_COMPLEX_DOUBLE(INSTANT_MACRO)\
43
INSTANT_MACRO(std::complex<double>)
44
#else
45
# define TEUCHOS_MACRO_EXPAND_COMPLEX_DOUBLE(INSTANT_MACRO)
46
#endif
47
48
#ifdef HAVE_TEUCHOS_LONG_DOUBLE
49
# define TEUCHOS_MACRO_EXPAND_LONG_DOUBLE(INSTANT_MACRO)\
50
INSTANT_MACRO(long double)
51
#else
52
# define TEUCHOS_MACRO_EXPAND_LONG_DOUBLE(INSTANT_MACRO)
53
#endif
54
55
59
#define TEUCHOS_MACRO_EXPAND_REAL_SCALAR_TYPES(MACRONAME) \
60
TEUCHOS_MACRO_EXPAND_FLOAT(MACRONAME) \
61
TEUCHOS_MACRO_EXPAND_DOUBLE(MACRONAME)
62
63
67
#define TEUCHOS_MACRO_EXPAND_SCALAR_TYPES(MACRONAME)\
68
TEUCHOS_MACRO_EXPAND_FLOAT(MACRONAME) \
69
TEUCHOS_MACRO_EXPAND_DOUBLE(MACRONAME) \
70
TEUCHOS_MACRO_EXPAND_COMPLEX_FLOAT(MACRONAME) \
71
TEUCHOS_MACRO_EXPAND_COMPLEX_DOUBLE(MACRONAME) \
72
TEUCHOS_MACRO_EXPAND_LONG_DOUBLE(MACRONAME)
73
74
75
#endif
// TEUCHOS_EXPAND_SCALAR_TYPE_MACROS_HPP
Teuchos_ExplicitInstantiationHelpers.hpp
Macros for helping to templated classes create explicit instantiations.
Generated by
1.17.0