1.4.0
CCC
 
PrecisionOpMulti.cpp File Reference

Macros

#define EVALOP(prepare, start, tab, getmat, op)
 

Macro Definition Documentation

◆ EVALOP

#define EVALOP (   prepare,
  start,
  tab,
  getmat,
  op 
)
Value:
if(_prepareOperator(vecin,vecout))\
{\
return 1;\
}; \
if (prepare() != 0)\
{\
messerr("Problem when preparing the matrix");\
return 1;\
}\
int nvar = _getNVar();\
int ncov = _getNCov();\
int iad_x = 0;\
int iad_struct = 0;\
for (int icov = 0; icov < ncov; icov++)\
{\
int napices = size(icov);\
VectorDouble x(napices);\
VectorDouble y(napices);\
for (int ivar = 0; ivar < nvar; ivar++)\
{\
VH::extractInPlace(vecin, x, iad_x);\
_pops[icov]->op(x, y);\
int iad_y = iad_struct + start * napices;\
for (int jvar = start; jvar < nvar; jvar++)\
{\
VH::addMultiplyConstantInPlace(tab[icov].getmat(jvar,ivar),y,vecout,iad_y);\
iad_y += napices;\
} \
iad_x+= napices; \
}\
iad_struct = iad_x;\
}\
return 0;\
#define x
static void addMultiplyConstantInPlace(double val1, const VectorDouble &in1, VectorDouble &outv, int iad)
Definition: VectorHelper.cpp:1427
static void extractInPlace(const VectorDouble &vecin, VectorDouble &vecout, int start)
Definition: VectorHelper.cpp:2158