25 &(d.elem(0).elem(0).real()),
48 &(d.elem(0).elem(0).real()),
71 &(d.elem(0).elem(0).real()),
94 &(d.elem(0).elem(0).real()),
124 &(d.elem(0).elem(0).real()),
148 &(d.elem(0).elem(0).real()),
171 &(d.elem(0).elem(0).real()),
193 &(d.elem(0).elem(0).real()),
206 for(
int col=0; col < 3; col++) {
207 d.elem(0).elem(col).real() = s1.elem(0).elem(col).real();
208 d.elem(0).elem(col).imag() = s1.elem(0).elem(col).imag();
211 for(
int col=0; col < 3; col++) {
212 d.elem(1).elem(col).real() = s1.elem(1).elem(col).real();
213 d.elem(1).elem(col).imag() = s1.elem(1).elem(col).imag();
227 for(
int col=0; col < 3; col++) {
228 d.elem(2).elem(col).real() = -s1.elem(1).elem(col).imag();
229 d.elem(2).elem(col).imag() = s1.elem(1).elem(col).real();
232 for(
int col=0; col < 3; col++) {
233 d.elem(3).elem(col).real() = -s1.elem(0).elem(col).imag();
234 d.elem(3).elem(col).imag() = s1.elem(0).elem(col).real();
248 &(d.elem(0).elem(0).real()),
262 for(
int col=0; col < 3; col++) {
263 d.elem(0).elem(col).real() = s1.elem(0).elem(col).real();
264 d.elem(0).elem(col).imag() = s1.elem(0).elem(col).imag();
267 for(
int col=0; col < 3; col++) {
268 d.elem(1).elem(col).real() = s1.elem(1).elem(col).real();
269 d.elem(1).elem(col).imag() = s1.elem(1).elem(col).imag();
283 for(
int col=0; col < 3; col++) {
284 d.elem(2).elem(col).real() = -s1.elem(1).elem(col).real();
285 d.elem(2).elem(col).imag() = -s1.elem(1).elem(col).imag();
288 for(
int col=0; col < 3; col++) {
289 d.elem(3).elem(col).real() = s1.elem(0).elem(col).real();
290 d.elem(3).elem(col).imag() = s1.elem(0).elem(col).imag();
303 for(
int col=0; col < 3; col++) {
304 d.elem(0).elem(col).real() = s1.elem(0).elem(col).real();
305 d.elem(0).elem(col).imag() = s1.elem(0).elem(col).imag();
308 for(
int col=0; col < 3; col++) {
309 d.elem(1).elem(col).real() = s1.elem(1).elem(col).real();
310 d.elem(1).elem(col).imag() = s1.elem(1).elem(col).imag();
323 for(
int col=0; col < 3; col++) {
324 d.elem(2).elem(col).real() = s1.elem(1).elem(col).real();
325 d.elem(2).elem(col).imag() = s1.elem(1).elem(col).imag();
328 for(
int col=0; col < 3; col++) {
329 d.elem(3).elem(col).real() = -s1.elem(0).elem(col).real();
330 d.elem(3).elem(col).imag() = -s1.elem(0).elem(col).imag();
344 for(
int col=0; col < 3; col++) {
345 d.elem(0).elem(col).real() = s1.elem(0).elem(col).real();
346 d.elem(0).elem(col).imag() = s1.elem(0).elem(col).imag();
349 for(
int col=0; col < 3; col++) {
350 d.elem(1).elem(col).real() = s1.elem(1).elem(col).real();
351 d.elem(1).elem(col).imag() = s1.elem(1).elem(col).imag();
365 for(
int col=0; col < 3; col++) {
366 d.elem(2).elem(col).real() = -s1.elem(0).elem(col).imag();
367 d.elem(2).elem(col).imag() = s1.elem(0).elem(col).real();
370 for(
int col=0; col < 3; col++) {
371 d.elem(3).elem(col).real() = s1.elem(1).elem(col).imag();
372 d.elem(3).elem(col).imag() = -s1.elem(1).elem(col).real();
385 for(
int col=0; col < 3; col++) {
386 d.elem(0).elem(col).real() = s1.elem(0).elem(col).real();
387 d.elem(0).elem(col).imag() = s1.elem(0).elem(col).imag();
390 for(
int col=0; col < 3; col++) {
391 d.elem(1).elem(col).real() = s1.elem(1).elem(col).real();
392 d.elem(1).elem(col).imag() = s1.elem(1).elem(col).imag();
405 for(
int col=0; col < 3; col++) {
406 d.elem(2).elem(col).real() = s1.elem(0).elem(col).imag();
407 d.elem(2).elem(col).imag() = -s1.elem(0).elem(col).real();
410 for(
int col=0; col < 3; col++) {
411 d.elem(3).elem(col).real() = -s1.elem(1).elem(col).imag();
412 d.elem(3).elem(col).imag() = s1.elem(1).elem(col).real();
426 for(
int col=0; col < 3; col++) {
427 d.elem(0).elem(col).real() = s1.elem(0).elem(col).real();
428 d.elem(0).elem(col).imag() = s1.elem(0).elem(col).imag();
431 for(
int col=0; col < 3; col++) {
432 d.elem(1).elem(col).real() = s1.elem(1).elem(col).real();
433 d.elem(1).elem(col).imag() = s1.elem(1).elem(col).imag();
446 for(
int col=0; col < 3; col++) {
447 d.elem(2).elem(col).real() = -s1.elem(0).elem(col).real();
448 d.elem(2).elem(col).imag() = -s1.elem(0).elem(col).imag();
451 for(
int col=0; col < 3; col++) {
452 d.elem(3).elem(col).real() = -s1.elem(1).elem(col).real();
453 d.elem(3).elem(col).imag() = -s1.elem(1).elem(col).imag();
466 for(
int col=0; col < 3; col++) {
467 d.elem(0).elem(col).real() = s1.elem(0).elem(col).real();
468 d.elem(0).elem(col).imag() = s1.elem(0).elem(col).imag();
471 for(
int col=0; col < 3; col++) {
472 d.elem(1).elem(col).real() = s1.elem(1).elem(col).real();
473 d.elem(1).elem(col).imag() = s1.elem(1).elem(col).imag();
488 for(
int col=0; col < 3; col++) {
489 d.elem(2).elem(col).real() = s1.elem(0).elem(col).real();
490 d.elem(2).elem(col).imag() = s1.elem(0).elem(col).imag();
493 for(
int col=0; col < 3; col++) {
494 d.elem(3).elem(col).real() = s1.elem(1).elem(col).real();
495 d.elem(3).elem(col).imag() = s1.elem(1).elem(col).imag();
Primitive spin Vector class.
Yet another random number generator.
MakeReturn< UnaryNode< FnSpinProjectDir2Minus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir2Minus >::Type_t >::Expression_t spinProjectDir2Minus(const QDPExpr< T1, C1 > &l)
PSpinVector< ColVec32, 2 > Spin2_32
MakeReturn< UnaryNode< FnSpinProjectDir1Minus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir1Minus >::Type_t >::Expression_t spinProjectDir1Minus(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnSpinProjectDir0Plus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir0Plus >::Type_t >::Expression_t spinProjectDir0Plus(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnSpinReconstructDir2Minus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir2Minus >::Type_t >::Expression_t spinReconstructDir2Minus(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnSpinReconstructDir2Plus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir2Plus >::Type_t >::Expression_t spinReconstructDir2Plus(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnSpinProjectDir3Minus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir3Minus >::Type_t >::Expression_t spinProjectDir3Minus(const QDPExpr< T1, C1 > &l)
void inlineSpinProjDir0Minus(const REAL *src, REAL *dst, unsigned int n_vec)
Spin Project (1/2)(1-\gamma_0).
MakeReturn< UnaryNode< FnSpinReconstructDir0Plus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir0Plus >::Type_t >::Expression_t spinReconstructDir0Plus(const QDPExpr< T1, C1 > &l)
void inlineSpinProjDir0Plus(const REAL *src, REAL *dst, unsigned int n_vec)
Spin Project (1/2)(1+\gamma_0).
MakeReturn< UnaryNode< FnSpinReconstructDir1Plus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir1Plus >::Type_t >::Expression_t spinReconstructDir1Plus(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnSpinReconstructDir1Minus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir1Minus >::Type_t >::Expression_t spinReconstructDir1Minus(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnSpinProjectDir2Plus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir2Plus >::Type_t >::Expression_t spinProjectDir2Plus(const QDPExpr< T1, C1 > &l)
void inlineSpinProjDir1Minus(const REAL *src, REAL *dst, unsigned int n_vec)
Spin Project (1/2)(1-\gamma_1).
PSpinVector< ColVec32, 4 > Spin4_32
void inlineSpinProjDir1Plus(const REAL *src, REAL *dst, unsigned int n_vec)
Spin Project (1/2)(1+\gamma_1).
void inlineSpinProjDir3Plus(const REAL *src, REAL *dst, unsigned int n_vec)
Spin Project (1/2)(1+\gamma_3).
MakeReturn< UnaryNode< FnSpinProjectDir3Plus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir3Plus >::Type_t >::Expression_t spinProjectDir3Plus(const QDPExpr< T1, C1 > &l)
void inlineSpinProjDir3Minus(const REAL *src, REAL *dst, unsigned int n_vec)
Spin Project (1/2)(1-\gamma_3).
void inlineSpinProjDir2Minus(const REAL *src, REAL *dst, unsigned int n_vec)
Spin Project (1/2)(1-\gamma_2).
MakeReturn< UnaryNode< FnSpinReconstructDir3Minus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir3Minus >::Type_t >::Expression_t spinReconstructDir3Minus(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnSpinReconstructDir0Minus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir0Minus >::Type_t >::Expression_t spinReconstructDir0Minus(const QDPExpr< T1, C1 > &l)
void inlineSpinProjDir2Plus(const REAL *src, REAL *dst, unsigned int n_vec)
Spin Project (1/2)(1+\gamma_2).
MakeReturn< UnaryNode< FnSpinProjectDir0Minus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir0Minus >::Type_t >::Expression_t spinProjectDir0Minus(const QDPExpr< T1, C1 > &l)
void inlineSpinReconDir0Plus(const REAL *src, REAL *dst, unsigned int n_vec)
Spin recon (1/2)(1+\gamma_0).
MakeReturn< UnaryNode< FnSpinReconstructDir3Plus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinReconstructDir3Plus >::Type_t >::Expression_t spinReconstructDir3Plus(const QDPExpr< T1, C1 > &l)
MakeReturn< UnaryNode< FnSpinProjectDir1Plus, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSpinProjectDir1Plus >::Type_t >::Expression_t spinProjectDir1Plus(const QDPExpr< T1, C1 > &l)