Thyra Version of the Day
Loading...
Searching...
No Matches
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
16namespace Thyra {
17
18
19// Protected virtual functions to be overridden by subclasses
20
21
22template<class Scalar>
23bool
25 EOpTransp transp) const
26{
27 return (transp == NOTRANS);
28}
29
30
31template<class Scalar>
32bool
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
virtual bool solveSupportsImpl(EOpTransp transp) const
Virtual implementation for solveSupports().
virtual bool solveSupportsSolveMeasureTypeImpl(EOpTransp transp, const SolveMeasureType &solveMeasureType) const
Virtual implementation for solveSupportsSolveMeasureType().
EOpTransp
Enumeration for determining how a linear operator is applied. `*.
@ NOTRANS
Use the non-transposed operator.
bool useDefault() const
Return if this is a default solve measure (default constructed).