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 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();
..) function implementation where num_vecs==3, num_targ_vecs==0.
Definition at line 86 of file RTOpPack_SUNDIALS_Helpers.hpp.