Thyra Version of the Day
Loading...
Searching...
No Matches
Thyra_get_Epetra_Operator.hpp
1// @HEADER
2// *****************************************************************************
3// Thyra: Interfaces and Support for Abstract Numerical Algorithms
4//
5// Copyright 2004 NTESS and the Thyra contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8// @HEADER
9
10#ifndef THYRA_GET_EPETRA_OPERATOR_HPP
11#define THYRA_GET_EPETRA_OPERATOR_HPP
12
13#include "Thyra_EpetraTypes.hpp"
14#include "Teuchos_TestForException.hpp"
15#include "Teuchos_TypeNameTraits.hpp"
16#include <stdexcept> // std::invalid_argument
17
18namespace Thyra {
19
46template<class Scalar>
48get_Epetra_Operator (LinearOpBase<Scalar>& /* op */)
49{
51 (true, std::invalid_argument, "Thyra::get_Epetra_Operator: This function "
52 "only works if Scalar=double, because for Epetra objects, the only Scalar"
53 " type is double. Instead, Scalar = " <<
55}
56
58template<>
60get_Epetra_Operator( LinearOpBase<double> &op );
61
88template<class Scalar>
90get_Epetra_Operator( const LinearOpBase<Scalar> & /* op */ )
91{
93 (true, std::invalid_argument, "Thyra::get_Epetra_Operator: This function "
94 "only works if Scalar=double, because for Epetra objects, the only Scalar"
95 " type is double. Instead, Scalar = " <<
97}
98
100template<>
102get_Epetra_Operator( const LinearOpBase<double> &op );
103
104} // namespace Thyra
105
106
107#endif // THYRA_GET_EPETRA_OPERATOR_HPP
108
109#if defined(Thyra_SHOW_DEPRECATED_WARNINGS)
110#ifdef __GNUC__
111#warning "The ThyraEpetraAdapters package is deprecated"
112#endif
113#endif
114
Base class for all linear operators.
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)