Specialized ConvertPosUnit for ParticleAttrib<T,3>, Tensor<T,3>
More...
|
static void | apply (const Array_t &pin, const Transformer_t &X, Array_t &pout, int first, int last) |
|
static void | apply (const Transformer_t &X, const Array_t &pin, Array_t &pout, int first, int last) |
|
static void | apply (Array_t &pinout, const Transformer_t &X, int first, int last) |
|
static void | apply (const Transformer_t &X, Array_t &pinout, int first, int last) |
|
template<class T>
struct qmcplusplus::ConvertPosUnit< ParticleAttrib< TinyVector< T, 3 > >, Tensor< T, 3 >, 3 >
Specialized ConvertPosUnit for ParticleAttrib<T,3>, Tensor<T,3>
Definition at line 37 of file FastParticleOperators.h.
◆ Array_t
◆ Transformer_t
◆ apply() [1/4]
Definition at line 42 of file FastParticleOperators.h.
44 T x00 = X[0], x01 = X[1], x02 = X[2], x10 = X[3], x11 = X[4], x12 = X[5], x20 = X[6], x21 = X[7], x22 = X[8];
46 for (
int i = first; i < last; i++)
48 pout[i][0] = pin[i][0] * x00 + pin[i][1] * x10 + pin[i][2] * x20;
49 pout[i][1] = pin[i][0] * x01 + pin[i][1] * x11 + pin[i][2] * x21;
50 pout[i][2] = pin[i][0] * x02 + pin[i][1] * x12 + pin[i][2] * x22;
◆ apply() [2/4]
Definition at line 54 of file FastParticleOperators.h.
56 T x00 = X[0], x01 = X[1], x02 = X[2], x10 = X[3], x11 = X[4], x12 = X[5], x20 = X[6], x21 = X[7], x22 = X[8];
58 for (
int i = first; i < last; i++)
60 pout[i][0] = pin[i][0] * x00 + pin[i][1] * x01 + pin[i][2] * x02;
61 pout[i][1] = pin[i][0] * x10 + pin[i][1] * x11 + pin[i][2] * x12;
62 pout[i][2] = pin[i][0] * x20 + pin[i][1] * x21 + pin[i][2] * x22;
◆ apply() [3/4]
Definition at line 66 of file FastParticleOperators.h.
68 T x00 = X[0], x01 = X[1], x02 = X[2], x10 = X[3], x11 = X[4], x12 = X[5], x20 = X[6], x21 = X[7], x22 = X[8];
70 for (
int i = first; i < last; i++)
72 T _x(pinout[i][0]), _y(pinout[i][1]), _z(pinout[i][2]);
73 pinout[i][0] = _x * x00 + _y * x10 + _z * x20;
74 pinout[i][1] = _x * x01 + _y * x11 + _z * x21;
75 pinout[i][2] = _x * x02 + _y * x12 + _z * x22;
◆ apply() [4/4]
Definition at line 79 of file FastParticleOperators.h.
81 T x00 = X[0], x01 = X[1], x02 = X[2], x10 = X[3], x11 = X[4], x12 = X[5], x20 = X[6], x21 = X[7], x22 = X[8];
83 for (
int i = first; i < last; i++)
85 T _x(pinout[i][0]), _y(pinout[i][1]), _z(pinout[i][2]);
86 pinout[i][0] = _x * x00 + _y * x01 + _z * x02;
87 pinout[i][1] = _x * x10 + _y * x11 + _z * x12;
88 pinout[i][2] = _x * x20 + _y * x21 + _z * x22;
The documentation for this struct was generated from the following file: