General ANA support code utilities
[General ANA support code]


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_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 Documentation

#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 << " : " << ::Thyra::dump_vec_spaces(VS1,VS1_NAME,VS2,VS2_NAME) \
    ) \
}
Helper assertion macro.

Definition at line 132 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 ? "" : "'" ) << ")" \
            << "." << ( (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 validates that a linear operator and a vector space for the domain vector are compatible.

This macro is not recommended for casual users.

Definition at line 162 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 M1_VS_name, M2_VS_name; \
  M1_VS_name << "(" #M1 << ( M1_T == ::Thyra::NOTRANS ? "" : "'" ) << ")" \
         << "." << ( M1_VS == ::Thyra::VS_RANGE ? "range()" : "domain()" ); \
  M2_VS_name << "(" #M2 << ( M2_T == ::Thyra::NOTRANS ? "" : "'" ) << ")" \
         << "." << ( M2_VS == ::Thyra::VS_RANGE ? "range()" : "domain()" ); \
  THYRA_ASSERT_VEC_SPACES_NAMES( \
    FUNC_NAME \
    ,::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() \
    ); \
}
Helper assertion macro.

This macro is not recommended for casual users.

Definition at line 215 of file Thyra_AssertOp.hpp.


Function Documentation

template<class Scalar>
const Thyra::VectorSpaceBase<Scalar>& 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 96 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