RTOpPack_SUNDIALS_Helpers.hpp File Reference

Go to the source code of this file.

Namespaces

namespace  RTOpPack

Defines

#define RTOP_APPLY_OP_3_0(NUM_VECS, SUB_VECS, NUM_TARG_VECS, TARG_SUB_VECS)
 Use within an apply_op(.


Define Documentation

#define RTOP_APPLY_OP_3_0 ( NUM_VECS,
SUB_VECS,
NUM_TARG_VECS,
TARG_SUB_VECS   ) 

Value:

TEST_FOR_EXCEPTION(                                                   \
                     (NUM_VECS)!=3 || (SUB_VECS)==NULL                  \
                     ,RTOpPack::InvalidNumVecs                          \
                     ,"Error, num_vecs="<<(NUM_VECS)<<" not allowed, only num_vecs==3, sub_vecs!=NULL" \
                     );                                                 \
  TEST_FOR_EXCEPTION(                                                   \
                     (NUM_TARG_VECS)!=0 || (TARG_SUB_VECS)!=NULL        \
                     ,RTOpPack::InvalidNumTargVecs                      \
                     ,"Error, num_targ_vecs="<<(NUM_TARG_VECS)<<" not allowed, only num_targ_vecs==0, targ_sub_vecs==NULL" \
                     );                                                 \
  TEST_FOR_EXCEPTION(                                                   \
                     (SUB_VECS)[0].subDim() != (SUB_VECS)[1].subDim()   \
                     || (SUB_VECS)[0].subDim() != (SUB_VECS)[2].subDim() \
                     ||(SUB_VECS)[0].globalOffset() != (SUB_VECS)[1].globalOffset() \
                     ||(SUB_VECS)[0].globalOffset() != (SUB_VECS)[1].globalOffset() \
                     ,IncompatibleVecs                                  \
                     ,"Error, num_targ_vecs="<<(NUM_TARG_VECS)<<" not allowed, only num_targ_vecs==0, targ_sub_vecs==NULL" \
                     );                                                 \
  const RTOpPack::index_type   subDim  = (SUB_VECS)[0].subDim();        \
  const Scalar                 *v0_val = (SUB_VECS)[0].values();        \
  const ptrdiff_t              v0_s    = (SUB_VECS)[0].stride();        \
  const Scalar                 *v1_val = (SUB_VECS)[1].values();        \
  const ptrdiff_t              v1_s    = (SUB_VECS)[1].stride();        \
  const Scalar                 *v2_val = (SUB_VECS)[2].values();        \
  const ptrdiff_t              v2_s    = (SUB_VECS)[2].stride();
Use within an apply_op(.

..) function implementation where num_vecs==3, num_targ_vecs==0.

Definition at line 86 of file RTOpPack_SUNDIALS_Helpers.hpp.

Site Contact