Belos Package Browser (Single Doxygen Collection)
Development
test
RealSolverManager
test_factory_complex.cpp
Go to the documentation of this file.
1
//@HEADER
2
// ************************************************************************
3
//
4
// Belos: Block Linear Solvers Package
5
// Copyright 2004 Sandia Corporation
6
//
7
// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
8
// the U.S. Government retains certain rights in this software.
9
//
10
// Redistribution and use in source and binary forms, with or without
11
// modification, are permitted provided that the following conditions are
12
// met:
13
//
14
// 1. Redistributions of source code must retain the above copyright
15
// notice, this list of conditions and the following disclaimer.
16
//
17
// 2. Redistributions in binary form must reproduce the above copyright
18
// notice, this list of conditions and the following disclaimer in the
19
// documentation and/or other materials provided with the distribution.
20
//
21
// 3. Neither the name of the Corporation nor the names of the
22
// contributors may be used to endorse or promote products derived from
23
// this software without specific prior written permission.
24
//
25
// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
26
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
29
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
32
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
34
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36
//
37
// Questions? Contact Michael A. Heroux (maherou@sandia.gov)
38
//
39
// ************************************************************************
40
//@HEADER
41
42
#include <
BelosConfigDefs.hpp
>
43
#include <
Teuchos_UnitTestHarness.hpp
>
44
#include <
Teuchos_CommandLineProcessor.hpp
>
45
#include <
BelosLinearProblem.hpp
>
46
#include <
BelosSolverFactory.hpp
>
47
#include <complex>
48
49
#include "
MyMultiVec.hpp
"
50
#include "
MyBetterOperator.hpp
"
51
#include "
MyOperator.hpp
"
52
53
//
54
// mfh 20 Jan 2014: This test ensures that Belos::SolverFactory can
55
// compile whether its ScalarType (first) template parameter is real
56
// or complex.
57
//
58
// This test requires that Trilinos was compiled with complex
59
// arithmetic support enabled.
60
//
61
62
TEUCHOS_UNIT_TEST
( Factory,
Real
)
63
{
64
using
Teuchos::RCP
;
65
using
Teuchos::rcp
;
66
typedef
double
ST;
67
typedef
Belos::MultiVec<ST>
MV;
68
typedef
Belos::Operator<ST>
OP;
69
typedef
Belos::SolverFactory<ST, MV, OP>
factory_type;
70
71
factory_type factory;
72
}
73
74
TEUCHOS_UNIT_TEST
( Factory, Complex )
75
{
76
using
Teuchos::RCP
;
77
using
Teuchos::rcp
;
78
typedef
std::complex<double> ST;
79
typedef
Belos::MultiVec<ST>
MV;
80
typedef
Belos::Operator<ST>
OP;
81
typedef
Belos::SolverFactory<ST, MV, OP>
factory_type;
82
83
factory_type factory;
84
}
BelosConfigDefs.hpp
Belos header file which uses auto-configuration information to include necessary C++ headers.
BelosLinearProblem.hpp
Class which describes the linear problem to be solved by the iterative solver.
Belos::MultiVec
Interface for multivectors used by Belos' linear solvers.
Definition:
BelosMultiVec.hpp:91
Belos::SolverFactory
typename ::Belos::Impl::SolverFactorySelector< SC, MV, OP >::type SolverFactory
Definition:
BelosSolverFactory.hpp:303
TEUCHOS_UNIT_TEST
TEUCHOS_UNIT_TEST(Factory, Real)
Definition:
test_factory_complex.cpp:62
Teuchos::rcp
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Teuchos::RCP
Teuchos_UnitTestHarness.hpp
Teuchos_CommandLineProcessor.hpp
BelosSolverFactory.hpp
MyOperator.hpp
MyMultiVec.hpp
Real
double Real
Belos::Operator
Alternative run-time polymorphic interface for operators.
Definition:
BelosOperator.hpp:80
MyBetterOperator.hpp
Generated by
1.8.16