Thyra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Thyra_LinearOpWithSolveBase_def.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_LINEAR_OP_WITH_SOLVE_BASE_DEF_HPP
11 #define THYRA_LINEAR_OP_WITH_SOLVE_BASE_DEF_HPP
12 
13 #include "Thyra_LinearOpWithSolveBase_decl.hpp"
14 
15 
16 namespace Thyra {
17 
18 
19 // Protected virtual functions to be overridden by subclasses
20 
21 
22 template<class Scalar>
23 bool
25  EOpTransp transp) const
26 {
27  return (transp == NOTRANS);
28 }
29 
30 
31 template<class Scalar>
32 bool
34  EOpTransp transp, const SolveMeasureType& solveMeasureType) const
35 {
36  return (solveSupports(transp) && solveMeasureType.useDefault());
37 }
38 
39 
40 // private:
41 
42 
43 } // namespace Thyra
44 
45 
46 #endif // THYRA_LINEAR_OP_WITH_SOLVE_BASE_DEF_HPP
EOpTransp
Enumeration for determining how a linear operator is applied. `*.
bool useDefault() const
Return if this is a default solve measure (default constructed).
Use the non-transposed operator.
virtual bool solveSupportsSolveMeasureTypeImpl(EOpTransp transp, const SolveMeasureType &solveMeasureType) const
Virtual implementation for solveSupportsSolveMeasureType().
virtual bool solveSupportsImpl(EOpTransp transp) const
Virtual implementation for solveSupports().