Collaboration diagram for General ANA support code utilities:
Defines | |
| #define | THYRA_ASSERT_VEC_SPACES_NAMES(FUNC_NAME, VS1, VS1_NAME, VS2, VS2_NAME) |
| Helper assertion macro. | |
| #define | THYRA_ASSERT_MAT_VEC_SPACES(FUNC_NAME, M, M_T, M_VS, VS) |
| This macro validates that a linear operator and a vector space for the domain vector are compatible. | |
| #define | THYRA_ASSERT_LINEAR_OP_PLUS_LINEAR_OP_SPACES_NAMES(FUNC_NAME, M1, M1_T, M1_N, M2, M2_T, M2_N) ::Thyra::assertLinearOpPlusLinearOpNames(FUNC_NAME,M1,M1_T,M1_N,M2,M2_T,M2_N) |
| Assert that a linear operator addition matches up. | |
| #define | THYRA_ASSERT_LINEAR_OP_TIMES_LINEAR_OP_SPACES_NAMES(FUNC_NAME, M1, M1_T, M1_N, M2, M2_T, M2_N) ::Thyra::assertLinearOpTimesLinearOpNames(FUNC_NAME,M1,M1_T,M1_N,M2,M2_T,M2_N) |
| Assert that a linear operator multiplication matches up. | |
| #define | THYRA_ASSERT_MAT_MAT_SPACES(FUNC_NAME, M1, M1_T, M1_VS, M2, M2_T, M2_VS) |
| Helper assertion macro. | |
Functions | |
| template<class Scalar> | |
| const Thyra::VectorSpaceBase< Scalar > & | Thyra::linear_op_op (const Thyra::LinearOpBase< Scalar > &M, Thyra::ETransp M_trans, EM_VS M_VS) |
| Utility function for selecting domain or range spaces. | |
| #define THYRA_ASSERT_VEC_SPACES_NAMES | ( | FUNC_NAME, | |||
| VS1, | |||||
| VS1_NAME, | |||||
| VS2, | |||||
| VS2_NAME | ) |
Value:
{ \
const bool isCompatible = (VS1).isCompatible(VS2); \
TEST_FOR_EXCEPTION( \
!isCompatible, ::Thyra::Exceptions::IncompatibleVectorSpaces, \
FUNC_NAME << "\n\n" \
<< ::Thyra::dump_vec_spaces(VS1,VS1_NAME,VS2,VS2_NAME) \
) \
}
Definition at line 153 of file Thyra_AssertOp.hpp.
| #define THYRA_ASSERT_MAT_VEC_SPACES | ( | FUNC_NAME, | |||
| M, | |||||
| M_T, | |||||
| M_VS, | |||||
| VS | ) |
Value:
{ \
std::ostringstream M_VS_name; \
M_VS_name << "(" #M << ( (M_T) == Thyra::NOTRANS ? "" : "^T" ) << ")" \
<< "." << ( (M_VS) == Thyra::VS_RANGE ? "range()" : "domain()" ); \
THYRA_ASSERT_VEC_SPACES_NAMES( \
FUNC_NAME, \
::Thyra::linear_op_op(M,M_T,M_VS),M_VS_name.str().c_str(), \
(VS),#VS \
) \
}
This macro is not recommended for casual users.
Definition at line 186 of file Thyra_AssertOp.hpp.
| #define THYRA_ASSERT_LINEAR_OP_PLUS_LINEAR_OP_SPACES_NAMES | ( | FUNC_NAME, | |||
| M1, | |||||
| M1_T, | |||||
| M1_N, | |||||
| M2, | |||||
| M2_T, | |||||
| M2_N | ) | ::Thyra::assertLinearOpPlusLinearOpNames(FUNC_NAME,M1,M1_T,M1_N,M2,M2_T,M2_N) |
Assert that a linear operator addition matches up.
Definition at line 350 of file Thyra_AssertOp.hpp.
| #define THYRA_ASSERT_LINEAR_OP_TIMES_LINEAR_OP_SPACES_NAMES | ( | FUNC_NAME, | |||
| M1, | |||||
| M1_T, | |||||
| M1_N, | |||||
| M2, | |||||
| M2_T, | |||||
| M2_N | ) | ::Thyra::assertLinearOpTimesLinearOpNames(FUNC_NAME,M1,M1_T,M1_N,M2,M2_T,M2_N) |
Assert that a linear operator multiplication matches up.
Definition at line 358 of file Thyra_AssertOp.hpp.
| #define THYRA_ASSERT_MAT_MAT_SPACES | ( | FUNC_NAME, | |||
| M1, | |||||
| M1_T, | |||||
| M1_VS, | |||||
| M2, | |||||
| M2_T, | |||||
| M2_VS | ) |
Value:
{ \
std::ostringstream headeross; \
headeross \
<< FUNC_NAME << "\n" \
<< "Spaces check failed for " \
<< #M1 << ( (M1_T) == Thyra::NOTRANS ? "" : "^T" ) << " and " \
<< #M2 << ( (M2_T) == Thyra::NOTRANS ? "" : "^T" ); \
const std::string &header = headeross.str(); \
std::ostringstream M1_VS_name, M2_VS_name; \
M1_VS_name << "(" #M1 << ( M1_T == ::Thyra::NOTRANS ? "" : "^T" ) << ")" \
<< "." << ( M1_VS == ::Thyra::VS_RANGE ? "range()" : "domain()" ); \
M2_VS_name << "(" #M2 << ( M2_T == ::Thyra::NOTRANS ? "" : "^T" ) << ")" \
<< "." << ( M2_VS == ::Thyra::VS_RANGE ? "range()" : "domain()" ); \
THYRA_ASSERT_VEC_SPACES_NAMES( \
header, \
::Thyra::linear_op_op(M1,M1_T,M1_VS),M1_VS_name.str().c_str() \
::Thyra::linear_op_op(M2,M2_T,M2_VS),M2_VS_name.str().c_str() \
); \
}
This macro is not recommended for casual users.
Definition at line 368 of file Thyra_AssertOp.hpp.
| const Thyra::VectorSpaceBase<Scalar>& Thyra::linear_op_op | ( | const Thyra::LinearOpBase< Scalar > & | M, | |
| Thyra::ETransp | M_trans, | |||
| EM_VS | M_VS | |||
| ) |
Utility function for selecting domain or range spaces.
Definition at line 113 of file Thyra_AssertOp.hpp.
1.4.7