General ANA support code
[Development of linear Abstract Numerical Algorithms (ANAs)]


Modules

group  General ANA support code utilities

Defines

#define THYRA_ASSERT_LHS_ARG(FUNC_NAME, LHS_ARG)
 This macro just asserts that a LHS argument is set.
#define THYRA_ASSERT_VEC_SPACES(FUNC_NAME, VS1, VS2)   THYRA_ASSERT_VEC_SPACES_NAMES(FUNC_NAME,VS1,#VS1,VS2,#VS2)
 This is a very useful macro that should be used to validate that two vector spaces are compatible.
#define THYRA_ASSERT_LINEAR_OP_VEC_APPLY_SPACES(FUNC_NAME, M, M_T, X, Y)
 This is a very useful macro that should be used to validate that the spaces for the vector version of the LinearOpBase::apply() function (or related operations).
#define THYRA_ASSERT_LINEAR_OP_MULTIVEC_APPLY_SPACES(FUNC_NAME, M, M_T, X, Y)
 This is a very useful macro that should be used to validate that the spaces for the multi-vector version of the LinearOpBase::apply() function (or related operations).

Define Documentation

#define THYRA_ASSERT_LHS_ARG FUNC_NAME,
LHS_ARG   ) 
 

Value:

TEST_FOR_EXCEPTION( \
    (LHS_ARG) == NULL, std::invalid_argument \
    ,FUNC_NAME << " : Error!" \
    );
This macro just asserts that a LHS argument is set.

Definition at line 118 of file Thyra_AssertOp.hpp.

#define THYRA_ASSERT_VEC_SPACES FUNC_NAME,
VS1,
VS2   )     THYRA_ASSERT_VEC_SPACES_NAMES(FUNC_NAME,VS1,#VS1,VS2,#VS2)
 

This is a very useful macro that should be used to validate that two vector spaces are compatible.

If the vector spaces are not compatible then a very helpful error message is generated (in the std::exception class) along with the file name and line number where this macro is called. The error message string embedded in the thrown exception gives the concrete types of the two vector spaces involved as well as their dimensions.

Definition at line 152 of file Thyra_AssertOp.hpp.

#define THYRA_ASSERT_LINEAR_OP_VEC_APPLY_SPACES FUNC_NAME,
M,
M_T,
X,
 ) 
 

Value:

THYRA_ASSERT_LHS_ARG(FUNC_NAME,Y); \
  THYRA_ASSERT_MAT_VEC_SPACES(FUNC_NAME,M,M_T,::Thyra::VS_RANGE,*(Y)->space()); \
  THYRA_ASSERT_MAT_VEC_SPACES(FUNC_NAME,M,M_T,::Thyra::VS_DOMAIN,*(X).space());
This is a very useful macro that should be used to validate that the spaces for the vector version of the LinearOpBase::apply() function (or related operations).

If the vector spaces are not compatible then a very helpful error message is generated (in the std::exception class) along with the file name and line number where this macro is called. The error message string embedded in the thrown exception gives the concrete types of the vector spaces involved as well as their dimensions.

Examples:
sillierCgSolve.hpp, and sillyCgSolve.hpp.

Definition at line 186 of file Thyra_AssertOp.hpp.

#define THYRA_ASSERT_LINEAR_OP_MULTIVEC_APPLY_SPACES FUNC_NAME,
M,
M_T,
X,
 ) 
 

Value:

THYRA_ASSERT_LHS_ARG(FUNC_NAME,Y); \
  THYRA_ASSERT_VEC_SPACES(FUNC_NAME,*(X).domain(),*(Y)->domain()); \
  THYRA_ASSERT_MAT_VEC_SPACES(FUNC_NAME,M,M_T,::Thyra::VS_RANGE,*(Y)->range()); \
  THYRA_ASSERT_MAT_VEC_SPACES(FUNC_NAME,M,M_T,::Thyra::VS_DOMAIN,*(X).range());
This is a very useful macro that should be used to validate that the spaces for the multi-vector version of the LinearOpBase::apply() function (or related operations).

If the vector spaces are not compatible then a very helpful error message is generated (in the std::exception class) along with the file name and line number where this macro is called. The error message string embedded in the thrown exception gives the concrete types of the vector spaces involved as well as their dimensions.

Definition at line 203 of file Thyra_AssertOp.hpp.


Generated on Thu Sep 18 12:32:32 2008 for Thyra Operator/Vector Support by doxygen 1.3.9.1