Ifpack2 Templated Preconditioning Package Version 1.0
Loading...
Searching...
No Matches
Ifpack2_Details_LapackSupportsScalar.hpp
1#ifndef IFPACK2_DETAILS_LAPACKSUPPORTSSCALAR_HPP
2#define IFPACK2_DETAILS_LAPACKSUPPORTSSCALAR_HPP
3
4#include "Teuchos_ConfigDefs.hpp"
5
6#ifdef HAVE_TEUCHOS_COMPLEX
7# include <complex>
8#endif // HAVE_TEUCHOS_COMPLEX
9
10namespace Ifpack2 {
11namespace Details {
12
16 template<class ScalarType>
18 public:
19 const static bool value = false;
20 };
21
22 template<>
23 class LapackSupportsScalar<float> {
24 public:
25 const static bool value = true;
26 };
27
28 template<>
29 class LapackSupportsScalar<double> {
30 public:
31 const static bool value = true;
32 };
33
34#ifdef HAVE_TEUCHOS_COMPLEX
35 template<>
36 class LapackSupportsScalar<std::complex<float> > {
37 public:
38 const static bool value = true;
39 };
40
41 template<>
42 class LapackSupportsScalar<std::complex<double> > {
43 public:
44 const static bool value = true;
45 };
46#endif // HAVE_TEUCHOS_COMPLEX
47
48} // namespace Details
49} // namespace Ifpack2
50
51#endif // IFPACK2_DETAILS_LAPACKSUPPORTSSCALAR_HPP
Type traits class that says whether Teuchos::LAPACK has a valid implementation for the given ScalarTy...
Definition: Ifpack2_Details_LapackSupportsScalar.hpp:17
Ifpack2 implementation details.
Preconditioners and smoothers for Tpetra sparse matrices.
Definition: Ifpack2_AdditiveSchwarz_decl.hpp:74