Ifpack2 Templated Preconditioning Package Version 1.0
Loading...
Searching...
No Matches
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
18namespace Ifpack2 {
19namespace Details {
20
24template <class ScalarType>
26 public:
27 const static bool value = false;
28};
29
30template <>
32 public:
33 const static bool value = true;
34};
35
36template <>
37class LapackSupportsScalar<double> {
38 public:
39 const static bool value = true;
40};
41
42#ifdef HAVE_TEUCHOS_COMPLEX
43template <>
44class LapackSupportsScalar<std::complex<float> > {
45 public:
46 const static bool value = true;
47};
48
49template <>
50class 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
Type traits class that says whether Teuchos::LAPACK has a valid implementation for the given ScalarTy...
Definition Ifpack2_Details_LapackSupportsScalar.hpp:25
Ifpack2's implementation of Trilinos::Details::LinearSolver interface.
Definition Ifpack2_Details_LinearSolver_decl.hpp:75
Ifpack2 implementation details.
Preconditioners and smoothers for Tpetra sparse matrices.
Definition Ifpack2_AdditiveSchwarz_decl.hpp:40