Specialized ConvertPosUnit for ParticleAttrib<T,2>, Tensor<T,2>
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, 2 > >, Tensor< T, 2 >, 2 >
Specialized ConvertPosUnit for ParticleAttrib<T,2>, Tensor<T,2>
Definition at line 97 of file FastParticleOperators.h.
◆ Array_t
◆ Transformer_t
◆ apply() [1/4]
Definition at line 102 of file FastParticleOperators.h.
104 T x00 = X[0], x01 = X[1], x10 = X[2], x11 = X[3];
106 for (
int i = first; i < last; i++)
108 pout[i][0] = pin[i][0] * x00 + pin[i][1] * x10;
109 pout[i][1] = pin[i][0] * x01 + pin[i][1] * x11;
◆ apply() [2/4]
Definition at line 113 of file FastParticleOperators.h.
115 T x00 = X[0], x01 = X[1], x10 = X[2], x11 = X[3];
117 for (
int i = first; i < last; i++)
119 pout[i][0] = pin[i][0] * x00 + pin[i][1] * x01;
120 pout[i][1] = pin[i][0] * x10 + pin[i][1] * x11;
◆ apply() [3/4]
Definition at line 124 of file FastParticleOperators.h.
126 T x00 = X[0], x01 = X[1], x10 = X[2], x11 = X[3];
128 for (
int i = first; i < last; i++)
130 T _x(pinout[i][0]), _y(pinout[i][1]);
131 pinout[i][0] = _x * x00 + _y * x10;
132 pinout[i][1] = _x * x01 + _y * x11;
◆ apply() [4/4]
Definition at line 136 of file FastParticleOperators.h.
138 T x00 = X[0], x01 = X[1], x10 = X[2], x11 = X[3];
140 for (
int i = first; i < last; i++)
142 T _x(pinout[i][0]), _y(pinout[i][1]);
143 pinout[i][0] = _x * x00 + _y * x01;
144 pinout[i][1] = _x * x10 + _y * x11;
The documentation for this struct was generated from the following file: