Ifpack2 Templated Preconditioning Package
Version 1.0
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Ifpack2_Details_LapackSupportsScalar.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
#ifndef IFPACK2_DETAILS_LAPACKSUPPORTSSCALAR_HPP
10
#define IFPACK2_DETAILS_LAPACKSUPPORTSSCALAR_HPP
11
12
#include "Teuchos_ConfigDefs.hpp"
13
14
#ifdef HAVE_TEUCHOS_COMPLEX
15
#include <complex>
16
#endif
// HAVE_TEUCHOS_COMPLEX
17
18
namespace
Ifpack2
{
19
namespace
Details {
20
24
template
<
class
ScalarType>
25
class
LapackSupportsScalar
{
26
public
:
27
const
static
bool
value =
false
;
28
};
29
30
template
<>
31
class
LapackSupportsScalar
<float> {
32
public
:
33
const
static
bool
value =
true
;
34
};
35
36
template
<>
37
class
LapackSupportsScalar<double> {
38
public
:
39
const
static
bool
value =
true
;
40
};
41
42
#ifdef HAVE_TEUCHOS_COMPLEX
43
template
<>
44
class
LapackSupportsScalar<std::complex<float> > {
45
public
:
46
const
static
bool
value =
true
;
47
};
48
49
template
<>
50
class
LapackSupportsScalar
<std::complex<double> > {
51
public
:
52
const
static
bool
value =
true
;
53
};
54
#endif
// HAVE_TEUCHOS_COMPLEX
55
56
}
// namespace Details
57
}
// namespace Ifpack2
58
59
#endif
// IFPACK2_DETAILS_LAPACKSUPPORTSSCALAR_HPP
Ifpack2::Details::LapackSupportsScalar
Type traits class that says whether Teuchos::LAPACK has a valid implementation for the given ScalarTy...
Definition
Ifpack2_Details_LapackSupportsScalar.hpp:25
Ifpack2
Preconditioners and smoothers for Tpetra sparse matrices.
Definition
Ifpack2_AdditiveSchwarz_decl.hpp:40
Generated by
1.17.0