QUDA  v0.7.0
A library for QCD on GPUs
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Macros | Enumerations
force_common.h File Reference

Go to the source code of this file.

Macros

#define OPP_DIR(dir)   (7-(dir))
 
#define GOES_FORWARDS(dir)   (dir<=3)
 
#define GOES_BACKWARDS(dir)   (dir>3)
 
#define linkaT00_re   (+linka00_re)
 
#define linkaT00_im   (-linka00_im)
 
#define linkaT01_re   (+linka10_re)
 
#define linkaT01_im   (-linka10_im)
 
#define linkaT02_re   (+linka20_re)
 
#define linkaT02_im   (-linka20_im)
 
#define linkaT10_re   (+linka01_re)
 
#define linkaT10_im   (-linka01_im)
 
#define linkaT11_re   (+linka11_re)
 
#define linkaT11_im   (-linka11_im)
 
#define linkaT12_re   (+linka21_re)
 
#define linkaT12_im   (-linka21_im)
 
#define linkaT20_re   (+linka02_re)
 
#define linkaT20_im   (-linka02_im)
 
#define linkaT21_re   (+linka12_re)
 
#define linkaT21_im   (-linka12_im)
 
#define linkaT22_re   (+linka22_re)
 
#define linkaT22_im   (-linka22_im)
 
#define linkbT00_re   (+linkb00_re)
 
#define linkbT00_im   (-linkb00_im)
 
#define linkbT01_re   (+linkb10_re)
 
#define linkbT01_im   (-linkb10_im)
 
#define linkbT02_re   (+linkb20_re)
 
#define linkbT02_im   (-linkb20_im)
 
#define linkbT10_re   (+linkb01_re)
 
#define linkbT10_im   (-linkb01_im)
 
#define linkbT11_re   (+linkb11_re)
 
#define linkbT11_im   (-linkb11_im)
 
#define linkbT12_re   (+linkb21_re)
 
#define linkbT12_im   (-linkb21_im)
 
#define linkbT20_re   (+linkb02_re)
 
#define linkbT20_im   (-linkb02_im)
 
#define linkbT21_re   (+linkb12_re)
 
#define linkbT21_im   (-linkb12_im)
 
#define linkbT22_re   (+linkb22_re)
 
#define linkbT22_im   (-linkb22_im)
 
#define linkc00_re   LINKC0.x
 
#define linkc00_im   LINKC0.y
 
#define linkc01_re   LINKC0.z
 
#define linkc01_im   LINKC0.w
 
#define linkc02_re   LINKC1.x
 
#define linkc02_im   LINKC1.y
 
#define linkc10_re   LINKC1.z
 
#define linkc10_im   LINKC1.w
 
#define linkc11_re   LINKC2.x
 
#define linkc11_im   LINKC2.y
 
#define linkc12_re   LINKC2.z
 
#define linkc12_im   LINKC2.w
 
#define linkc20_re   LINKC3.x
 
#define linkc20_im   LINKC3.y
 
#define linkc21_re   LINKC3.z
 
#define linkc21_im   LINKC3.w
 
#define linkc22_re   LINKC4.x
 
#define linkc22_im   LINKC4.y
 
#define linkcT00_re   (+linkc00_re)
 
#define linkcT00_im   (-linkc00_im)
 
#define linkcT01_re   (+linkc10_re)
 
#define linkcT01_im   (-linkc10_im)
 
#define linkcT02_re   (+linkc20_re)
 
#define linkcT02_im   (-linkc20_im)
 
#define linkcT10_re   (+linkc01_re)
 
#define linkcT10_im   (-linkc01_im)
 
#define linkcT11_re   (+linkc11_re)
 
#define linkcT11_im   (-linkc11_im)
 
#define linkcT12_re   (+linkc21_re)
 
#define linkcT12_im   (-linkc21_im)
 
#define linkcT20_re   (+linkc02_re)
 
#define linkcT20_im   (-linkc02_im)
 
#define linkcT21_re   (+linkc12_re)
 
#define linkcT21_im   (-linkc12_im)
 
#define linkcT22_re   (+linkc22_re)
 
#define linkcT22_im   (-linkc22_im)
 
#define staple00_re   STAPLE0.x
 
#define staple00_im   STAPLE0.y
 
#define staple01_re   STAPLE1.x
 
#define staple01_im   STAPLE1.y
 
#define staple02_re   STAPLE2.x
 
#define staple02_im   STAPLE2.y
 
#define staple10_re   STAPLE3.x
 
#define staple10_im   STAPLE3.y
 
#define staple11_re   STAPLE4.x
 
#define staple11_im   STAPLE4.y
 
#define staple12_re   STAPLE5.x
 
#define staple12_im   STAPLE5.y
 
#define staple20_re   STAPLE6.x
 
#define staple20_im   STAPLE6.y
 
#define staple21_re   STAPLE7.x
 
#define staple21_im   STAPLE7.y
 
#define staple22_re   STAPLE8.x
 
#define staple22_im   STAPLE8.y
 
#define stapleT00_re   (+staple00_re)
 
#define stapleT00_im   (-staple00_im)
 
#define stapleT01_re   (+staple10_re)
 
#define stapleT01_im   (-staple10_im)
 
#define stapleT02_re   (+staple20_re)
 
#define stapleT02_im   (-staple20_im)
 
#define stapleT10_re   (+staple01_re)
 
#define stapleT10_im   (-staple01_im)
 
#define stapleT11_re   (+staple11_re)
 
#define stapleT11_im   (-staple11_im)
 
#define stapleT12_re   (+staple21_re)
 
#define stapleT12_im   (-staple21_im)
 
#define stapleT20_re   (+staple02_re)
 
#define stapleT20_im   (-staple02_im)
 
#define stapleT21_re   (+staple12_re)
 
#define stapleT21_im   (-staple12_im)
 
#define stapleT22_re   (+staple22_re)
 
#define stapleT22_im   (-staple22_im)
 
#define READ_DOUBLE2_TEXTURE(x_tex, x, i)   fetch_double2_old(x_tex, i)
 
#define LOAD_MATRIX_12_SINGLE(gauge, dir, idx, var, stride)
 
#define LOAD_MATRIX_12_SINGLE_TEX(gauge, dir, idx, var, stride)
 
#define LOAD_MATRIX_12_DOUBLE(gauge, dir, idx, var, stride)
 
#define LOAD_MATRIX_12_DOUBLE_TEX(gauge_tex, gauge, dir, idx, var, stride)
 
#define LOAD_MATRIX_18(gauge, dir, idx, var, stride)
 
#define LOAD_MATRIX_18_SINGLE_TEX(gauge, dir, idx, var, stride)
 
#define LOAD_MATRIX_18_DOUBLE_TEX(gauge_tex, gauge, dir, idx, var, stride)
 
#define MULT_SU3_NN(ma, mb, mc)
 
#define MULT_SU3_NA(ma, mb, mc)
 
#define MULT_SU3_AN(ma, mb, mc)
 
#define SET_SU3_MATRIX(a, value)
 
#define SCALAR_MULT_ADD_SU3_MATRIX(ma, mb, s, mc)
 
#define SCALAR_MULT_SUB_SU3_MATRIX(ma, mb, s, mc)
 
#define ah01_re   AH0.x
 
#define ah01_im   AH0.y
 
#define ah02_re   AH1.x
 
#define ah02_im   AH1.y
 
#define ah12_re   AH2.x
 
#define ah12_im   AH2.y
 
#define ah00_im   AH3.x
 
#define ah11_im   AH3.y
 
#define ah22_im   AH4.x
 
#define ahspace   AH4.y
 
#define UNCOMPRESS_ANTI_HERMITIAN(ah, m)
 
#define MAKE_ANTI_HERMITIAN(m, ah)
 
#define LOAD_ANTI_HERMITIAN_DIRECT(src, dir, idx, var, stride)
 
#define LOAD_ANTI_HERMITIAN_SINGLE_TEX(src, dir, idx, var)
 
#define WRITE_ANTI_HERMITIAN(mem, dir, idx, var, stride)
 
#define COPY_SU3_MATRIX(a, b)
 
#define SU3_ADJOINT(a, b)
 
#define SET_UNIT_SU3_MATRIX(a)
 
#define ACC_CONJ_PROD_ASSIGN(a, b, c)
 
#define RECONSTRUCT_LINK_12(sign, var)
 
#define COMPUTE_NEW_IDX_PLUS(mydir, idx)
 
#define COMPUTE_NEW_IDX_MINUS(mydir, idx)
 
#define COMPUTE_NEW_FULL_IDX_PLUS(mydir, idx)
 
#define COMPUTE_NEW_FULL_IDX_MINUS(mydir, idx)
 

Enumerations

enum  {
  XUP = 0, YUP = 1, ZUP = 2, TUP = 3,
  TDOWN = 4, ZDOWN = 5, YDOWN = 6, XDOWN = 7
}
 

Macro Definition Documentation

#define ACC_CONJ_PROD_ASSIGN (   a,
  b,
 
)
Value:
a##_re = b##_re * c##_re; \
a##_re -= b##_im * c##_im; \
a##_im = - b##_re * c##_im; \
a##_im -= b##_im * c##_re

Definition at line 636 of file force_common.h.

#define ah00_im   AH3.x

Definition at line 506 of file force_common.h.

#define ah01_im   AH0.y

Definition at line 501 of file force_common.h.

#define ah01_re   AH0.x

Definition at line 500 of file force_common.h.

#define ah02_im   AH1.y

Definition at line 503 of file force_common.h.

#define ah02_re   AH1.x

Definition at line 502 of file force_common.h.

#define ah11_im   AH3.y

Definition at line 507 of file force_common.h.

#define ah12_im   AH2.y

Definition at line 505 of file force_common.h.

#define ah12_re   AH2.x

Definition at line 504 of file force_common.h.

#define ah22_im   AH4.x

Definition at line 508 of file force_common.h.

#define ahspace   AH4.y

Definition at line 509 of file force_common.h.

#define COMPUTE_NEW_FULL_IDX_MINUS (   mydir,
  idx 
)
Value:
do { \
switch(mydir){ \
case 0: \
new_mem_idx = ( (x1==0)?idx+X1m1:X-1); \
break; \
case 1: \
new_mem_idx = ( (x2==0)?idx+X2X1mX1:X-X1); \
break; \
case 2: \
break; \
case 3: \
break; \
} \
}while(0)
__constant__ int X2X1mX1
__constant__ int X3X2X1mX2X1
__constant__ int X1
__constant__ int X3X2X1
int new_mem_idx
Definition: llfat_core.h:834
__constant__ int X4X3X2X1mX3X2X1
__constant__ int X1m1
__constant__ int X2X1

Definition at line 705 of file force_common.h.

#define COMPUTE_NEW_FULL_IDX_PLUS (   mydir,
  idx 
)
Value:
do { \
switch(mydir){ \
case 0: \
break; \
case 1: \
break; \
case 2: \
break; \
case 3: \
break; \
} \
}while(0)
__constant__ int X2X1mX1
__constant__ int X3X2X1mX2X1
__constant__ int X1
__constant__ int X3X2X1
int new_mem_idx
Definition: llfat_core.h:834
__constant__ int X2m1
__constant__ int X4X3X2X1mX3X2X1
__constant__ int X1m1
__constant__ int X4m1
__constant__ int X3m1
__constant__ int X2X1

Definition at line 688 of file force_common.h.

#define COMPUTE_NEW_IDX_MINUS (   mydir,
  idx 
)
Value:
do { \
switch(mydir){ \
case 0: \
new_mem_idx = ( (x1==0)?idx+X1m1:X-1); \
break; \
case 1: \
new_mem_idx = ( (x2==0)?idx+X2X1mX1:X-X1); \
break; \
case 2: \
break; \
case 3: \
break; \
} \
}while(0)
__constant__ int X2X1mX1
__constant__ int X3X2X1mX2X1
__constant__ int X1
__constant__ int X3X2X1
int new_mem_idx
Definition: llfat_core.h:834
__constant__ int X4X3X2X1mX3X2X1
__constant__ int X1m1
__constant__ int X2X1

Definition at line 670 of file force_common.h.

#define COMPUTE_NEW_IDX_PLUS (   mydir,
  idx 
)
Value:
do { \
switch(mydir){ \
case 0: \
new_mem_idx = ( (x1==X1m1)?idx-X1m1:idx+1)>> 1; \
break; \
case 1: \
new_mem_idx = ( (x2==X2m1)?idx-X2X1mX1:idx+X1) >> 1; \
break; \
case 2: \
break; \
case 3: \
break; \
} \
}while(0)
__constant__ int X2X1mX1
__constant__ int X3X2X1mX2X1
__constant__ int X1
__constant__ int X3X2X1
int new_mem_idx
Definition: llfat_core.h:834
__constant__ int X2m1
__constant__ int X4X3X2X1mX3X2X1
__constant__ int X1m1
__constant__ int X4m1
__constant__ int X3m1
__constant__ int X2X1

Definition at line 653 of file force_common.h.

#define COPY_SU3_MATRIX (   a,
 
)
Value:
b##00_re = a##00_re; \
b##00_im = a##00_im; \
b##01_re = a##01_re; \
b##01_im = a##01_im; \
b##02_re = a##02_re; \
b##02_im = a##02_im; \
b##10_re = a##10_re; \
b##10_im = a##10_im; \
b##11_re = a##11_re; \
b##11_im = a##11_im; \
b##12_re = a##12_re; \
b##12_im = a##12_im; \
b##20_re = a##20_re; \
b##20_im = a##20_im; \
b##21_re = a##21_re; \
b##21_im = a##21_im; \
b##22_re = a##22_re; \
b##22_im = a##22_im;

Definition at line 575 of file force_common.h.

#define GOES_BACKWARDS (   dir)    (dir>3)

Definition at line 18 of file force_common.h.

#define GOES_FORWARDS (   dir)    (dir<=3)

Definition at line 17 of file force_common.h.

#define linkaT00_im   (-linka00_im)

Definition at line 22 of file force_common.h.

#define linkaT00_re   (+linka00_re)

Definition at line 21 of file force_common.h.

#define linkaT01_im   (-linka10_im)

Definition at line 24 of file force_common.h.

#define linkaT01_re   (+linka10_re)

Definition at line 23 of file force_common.h.

#define linkaT02_im   (-linka20_im)

Definition at line 26 of file force_common.h.

#define linkaT02_re   (+linka20_re)

Definition at line 25 of file force_common.h.

#define linkaT10_im   (-linka01_im)

Definition at line 28 of file force_common.h.

#define linkaT10_re   (+linka01_re)

Definition at line 27 of file force_common.h.

#define linkaT11_im   (-linka11_im)

Definition at line 30 of file force_common.h.

#define linkaT11_re   (+linka11_re)

Definition at line 29 of file force_common.h.

#define linkaT12_im   (-linka21_im)

Definition at line 32 of file force_common.h.

#define linkaT12_re   (+linka21_re)

Definition at line 31 of file force_common.h.

#define linkaT20_im   (-linka02_im)

Definition at line 34 of file force_common.h.

#define linkaT20_re   (+linka02_re)

Definition at line 33 of file force_common.h.

#define linkaT21_im   (-linka12_im)

Definition at line 36 of file force_common.h.

#define linkaT21_re   (+linka12_re)

Definition at line 35 of file force_common.h.

#define linkaT22_im   (-linka22_im)

Definition at line 38 of file force_common.h.

#define linkaT22_re   (+linka22_re)

Definition at line 37 of file force_common.h.

#define linkbT00_im   (-linkb00_im)

Definition at line 42 of file force_common.h.

#define linkbT00_re   (+linkb00_re)

Definition at line 41 of file force_common.h.

#define linkbT01_im   (-linkb10_im)

Definition at line 44 of file force_common.h.

#define linkbT01_re   (+linkb10_re)

Definition at line 43 of file force_common.h.

#define linkbT02_im   (-linkb20_im)

Definition at line 46 of file force_common.h.

#define linkbT02_re   (+linkb20_re)

Definition at line 45 of file force_common.h.

#define linkbT10_im   (-linkb01_im)

Definition at line 48 of file force_common.h.

#define linkbT10_re   (+linkb01_re)

Definition at line 47 of file force_common.h.

#define linkbT11_im   (-linkb11_im)

Definition at line 50 of file force_common.h.

#define linkbT11_re   (+linkb11_re)

Definition at line 49 of file force_common.h.

#define linkbT12_im   (-linkb21_im)

Definition at line 52 of file force_common.h.

#define linkbT12_re   (+linkb21_re)

Definition at line 51 of file force_common.h.

#define linkbT20_im   (-linkb02_im)

Definition at line 54 of file force_common.h.

#define linkbT20_re   (+linkb02_re)

Definition at line 53 of file force_common.h.

#define linkbT21_im   (-linkb12_im)

Definition at line 56 of file force_common.h.

#define linkbT21_re   (+linkb12_re)

Definition at line 55 of file force_common.h.

#define linkbT22_im   (-linkb22_im)

Definition at line 58 of file force_common.h.

#define linkbT22_re   (+linkb22_re)

Definition at line 57 of file force_common.h.

#define linkc00_im   LINKC0.y

Definition at line 64 of file force_common.h.

#define linkc00_re   LINKC0.x

Definition at line 63 of file force_common.h.

#define linkc01_im   LINKC0.w

Definition at line 66 of file force_common.h.

#define linkc01_re   LINKC0.z

Definition at line 65 of file force_common.h.

#define linkc02_im   LINKC1.y

Definition at line 68 of file force_common.h.

#define linkc02_re   LINKC1.x

Definition at line 67 of file force_common.h.

#define linkc10_im   LINKC1.w

Definition at line 70 of file force_common.h.

#define linkc10_re   LINKC1.z

Definition at line 69 of file force_common.h.

#define linkc11_im   LINKC2.y

Definition at line 72 of file force_common.h.

#define linkc11_re   LINKC2.x

Definition at line 71 of file force_common.h.

#define linkc12_im   LINKC2.w

Definition at line 74 of file force_common.h.

#define linkc12_re   LINKC2.z

Definition at line 73 of file force_common.h.

#define linkc20_im   LINKC3.y

Definition at line 76 of file force_common.h.

#define linkc20_re   LINKC3.x

Definition at line 75 of file force_common.h.

#define linkc21_im   LINKC3.w

Definition at line 78 of file force_common.h.

#define linkc21_re   LINKC3.z

Definition at line 77 of file force_common.h.

#define linkc22_im   LINKC4.y

Definition at line 80 of file force_common.h.

#define linkc22_re   LINKC4.x

Definition at line 79 of file force_common.h.

#define linkcT00_im   (-linkc00_im)

Definition at line 83 of file force_common.h.

#define linkcT00_re   (+linkc00_re)

Definition at line 82 of file force_common.h.

#define linkcT01_im   (-linkc10_im)

Definition at line 85 of file force_common.h.

#define linkcT01_re   (+linkc10_re)

Definition at line 84 of file force_common.h.

#define linkcT02_im   (-linkc20_im)

Definition at line 87 of file force_common.h.

#define linkcT02_re   (+linkc20_re)

Definition at line 86 of file force_common.h.

#define linkcT10_im   (-linkc01_im)

Definition at line 89 of file force_common.h.

#define linkcT10_re   (+linkc01_re)

Definition at line 88 of file force_common.h.

#define linkcT11_im   (-linkc11_im)

Definition at line 91 of file force_common.h.

#define linkcT11_re   (+linkc11_re)

Definition at line 90 of file force_common.h.

#define linkcT12_im   (-linkc21_im)

Definition at line 93 of file force_common.h.

#define linkcT12_re   (+linkc21_re)

Definition at line 92 of file force_common.h.

#define linkcT20_im   (-linkc02_im)

Definition at line 95 of file force_common.h.

#define linkcT20_re   (+linkc02_re)

Definition at line 94 of file force_common.h.

#define linkcT21_im   (-linkc12_im)

Definition at line 97 of file force_common.h.

#define linkcT21_re   (+linkc12_re)

Definition at line 96 of file force_common.h.

#define linkcT22_im   (-linkc22_im)

Definition at line 99 of file force_common.h.

#define linkcT22_re   (+linkc22_re)

Definition at line 98 of file force_common.h.

#define LOAD_ANTI_HERMITIAN_DIRECT (   src,
  dir,
  idx,
  var,
  stride 
)
Value:
do{ \
int start_pos = idx + dir*stride*5; \
var##0 = src[start_pos]; \
var##1 = src[start_pos + stride]; \
var##2 = src[start_pos + stride*2]; \
var##3 = src[start_pos + stride*3]; \
var##4 = src[start_pos + stride*4]; \
}while(0)

Definition at line 548 of file force_common.h.

#define LOAD_ANTI_HERMITIAN_SINGLE_TEX (   src,
  dir,
  idx,
  var 
)
Value:
do{ \
int start_pos = idx + dir*Vh*5; \
var##0 = tex1Dfetch(src, start_pos); \
var##1 = tex1Dfetch(src, start_pos + Vh); \
var##2 = tex1Dfetch(src, start_pos + Vh*2); \
var##3 = tex1Dfetch(src, start_pos + Vh*3); \
var##4 = tex1Dfetch(src, start_pos + Vh*4); \
}while(0)
__constant__ int Vh

Definition at line 557 of file force_common.h.

#define LOAD_MATRIX_12_DOUBLE (   gauge,
  dir,
  idx,
  var,
  stride 
)
Value:
do{ \
var##0 = gauge[idx + dir*stride*6]; \
var##1 = gauge[idx + dir*stride*6 + stride]; \
var##2 = gauge[idx + dir*stride*6 + stride*2]; \
var##3 = gauge[idx + dir*stride*6 + stride*3]; \
var##4 = gauge[idx + dir*stride*6 + stride*4]; \
var##5 = gauge[idx + dir*stride*6 + stride*5]; \
}while(0)
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 159 of file force_common.h.

#define LOAD_MATRIX_12_DOUBLE_TEX (   gauge_tex,
  gauge,
  dir,
  idx,
  var,
  stride 
)
Value:
do{ \
var##0 = READ_DOUBLE2_TEXTURE(gauge_tex, gauge, idx + dir*stride*6); \
var##1 = READ_DOUBLE2_TEXTURE(gauge_tex, gauge, idx + dir*stride*6 + stride); \
var##2 = READ_DOUBLE2_TEXTURE(gauge_tex, gauge, idx + dir*stride*6 + stride*2); \
var##3 = READ_DOUBLE2_TEXTURE(gauge_tex, gauge, idx + dir*stride*6 + stride*3); \
var##4 = READ_DOUBLE2_TEXTURE(gauge_tex, gauge, idx + dir*stride*6 + stride*4); \
var##5 = READ_DOUBLE2_TEXTURE(gauge_tex, gauge, idx + dir*stride*6 + stride*5); \
}while(0)
#define READ_DOUBLE2_TEXTURE(x_tex, x, i)
Definition: force_common.h:143
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 168 of file force_common.h.

#define LOAD_MATRIX_12_SINGLE (   gauge,
  dir,
  idx,
  var,
  stride 
)
Value:
do{ \
var##0 = gauge[idx + dir*stride*3]; \
var##1 = gauge[idx + dir*stride*3 + stride]; \
var##2 = gauge[idx + dir*stride*3 + stride*2]; \
}while(0)
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 147 of file force_common.h.

#define LOAD_MATRIX_12_SINGLE_TEX (   gauge,
  dir,
  idx,
  var,
  stride 
)
Value:
do{ \
var##0 = tex1Dfetch(gauge, idx + dir*stride*3); \
var##1 = tex1Dfetch(gauge, idx + dir*stride*3 + stride); \
var##2 = tex1Dfetch(gauge, idx + dir*stride*3 + stride*2); \
}while(0)
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 153 of file force_common.h.

#define LOAD_MATRIX_18 (   gauge,
  dir,
  idx,
  var,
  stride 
)
Value:
do{ \
var##0 = gauge[idx + dir*stride*9]; \
var##1 = gauge[idx + dir*stride*9 + stride]; \
var##2 = gauge[idx + dir*stride*9 + stride*2]; \
var##3 = gauge[idx + dir*stride*9 + stride*3]; \
var##4 = gauge[idx + dir*stride*9 + stride*4]; \
var##5 = gauge[idx + dir*stride*9 + stride*5]; \
var##6 = gauge[idx + dir*stride*9 + stride*6]; \
var##7 = gauge[idx + dir*stride*9 + stride*7]; \
var##8 = gauge[idx + dir*stride*9 + stride*8]; \
}while(0)
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 177 of file force_common.h.

#define LOAD_MATRIX_18_DOUBLE_TEX (   gauge_tex,
  gauge,
  dir,
  idx,
  var,
  stride 
)
Value:
do{ \
var##0 = READ_DOUBLE2_TEXTURE(gauge_tex, gauge, idx + dir*stride*9); \
var##1 = READ_DOUBLE2_TEXTURE(gauge_tex, gauge, idx + dir*stride*9 + stride); \
var##2 = READ_DOUBLE2_TEXTURE(gauge_tex, gauge, idx + dir*stride*9 + stride*2); \
var##3 = READ_DOUBLE2_TEXTURE(gauge_tex, gauge, idx + dir*stride*9 + stride*3); \
var##4 = READ_DOUBLE2_TEXTURE(gauge_tex, gauge, idx + dir*stride*9 + stride*4); \
var##5 = READ_DOUBLE2_TEXTURE(gauge_tex, gauge, idx + dir*stride*9 + stride*5); \
var##6 = READ_DOUBLE2_TEXTURE(gauge_tex, gauge, idx + dir*stride*9 + stride*6); \
var##7 = READ_DOUBLE2_TEXTURE(gauge_tex, gauge, idx + dir*stride*9 + stride*7); \
var##8 = READ_DOUBLE2_TEXTURE(gauge_tex, gauge, idx + dir*stride*9 + stride*8); \
}while(0)
#define READ_DOUBLE2_TEXTURE(x_tex, x, i)
Definition: force_common.h:143
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 201 of file force_common.h.

#define LOAD_MATRIX_18_SINGLE_TEX (   gauge,
  dir,
  idx,
  var,
  stride 
)
Value:
do{ \
var##0 = tex1Dfetch(gauge, idx + dir*stride*9); \
var##1 = tex1Dfetch(gauge, idx + dir*stride*9 + stride); \
var##2 = tex1Dfetch(gauge, idx + dir*stride*9 + stride*2); \
var##3 = tex1Dfetch(gauge, idx + dir*stride*9 + stride*3); \
var##4 = tex1Dfetch(gauge, idx + dir*stride*9 + stride*4); \
var##5 = tex1Dfetch(gauge, idx + dir*stride*9 + stride*5); \
var##6 = tex1Dfetch(gauge, idx + dir*stride*9 + stride*6); \
var##7 = tex1Dfetch(gauge, idx + dir*stride*9 + stride*7); \
var##8 = tex1Dfetch(gauge, idx + dir*stride*9 + stride*8); \
}while(0)
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 189 of file force_common.h.

#define MAKE_ANTI_HERMITIAN (   m,
  ah 
)
Value:
do { \
typeof(ah##space) temp; \
temp = (m##00_im + m##11_im + m##22_im)*0.33333333333333333; \
ah##00_im = (m##00_im - temp); \
ah##11_im = (m##11_im - temp); \
ah##22_im = (m##22_im - temp); \
ah##01_re = (m##01_re - m##10_re)*0.5; \
ah##02_re = (m##02_re - m##20_re)*0.5; \
ah##12_re = (m##12_re - m##21_re)*0.5; \
ah##01_im = (m##01_im + m##10_im)*0.5; \
ah##02_im = (m##02_im + m##20_im)*0.5; \
ah##12_im = (m##12_im + m##21_im)*0.5; \
ah##space = 0; \
}while(0)

Definition at line 532 of file force_common.h.

#define MULT_SU3_AN (   ma,
  mb,
  mc 
)

Definition at line 365 of file force_common.h.

#define MULT_SU3_NA (   ma,
  mb,
  mc 
)

Definition at line 289 of file force_common.h.

#define MULT_SU3_NN (   ma,
  mb,
  mc 
)

Definition at line 213 of file force_common.h.

#define OPP_DIR (   dir)    (7-(dir))

Definition at line 16 of file force_common.h.

#define READ_DOUBLE2_TEXTURE (   x_tex,
  x,
 
)    fetch_double2_old(x_tex, i)

Definition at line 143 of file force_common.h.

#define RECONSTRUCT_LINK_12 (   sign,
  var 
)
Value:
ACC_CONJ_PROD_ASSIGN(var##20, +var##01, +var##12); \
ACC_CONJ_PROD(var##20, -var##02, +var##11); \
ACC_CONJ_PROD_ASSIGN(var##21, +var##02, +var##10); \
ACC_CONJ_PROD(var##21, -var##00, +var##12); \
ACC_CONJ_PROD_ASSIGN(var##22, +var##00, +var##11); \
ACC_CONJ_PROD(var##22, -var##01, +var##10); \
var##20_re *=sign;var##20_im *=sign; var##21_re *=sign; var##21_im *=sign; \
var##22_re *=sign;var##22_im *=sign;
#define ACC_CONJ_PROD_ASSIGN(a, b, c)
Definition: force_common.h:636
#define ACC_CONJ_PROD(a, b, c)
Definition: read_gauge.h:39

Definition at line 643 of file force_common.h.

#define SCALAR_MULT_ADD_SU3_MATRIX (   ma,
  mb,
  s,
  mc 
)
Value:
mc##00_re = ma##00_re + mb##00_re * s; \
mc##00_im = ma##00_im + mb##00_im * s; \
mc##01_re = ma##01_re + mb##01_re * s; \
mc##01_im = ma##01_im + mb##01_im * s; \
mc##02_re = ma##02_re + mb##02_re * s; \
mc##02_im = ma##02_im + mb##02_im * s; \
mc##10_re = ma##10_re + mb##10_re * s; \
mc##10_im = ma##10_im + mb##10_im * s; \
mc##11_re = ma##11_re + mb##11_re * s; \
mc##11_im = ma##11_im + mb##11_im * s; \
mc##12_re = ma##12_re + mb##12_re * s; \
mc##12_im = ma##12_im + mb##12_im * s; \
mc##20_re = ma##20_re + mb##20_re * s; \
mc##20_im = ma##20_im + mb##20_im * s; \
mc##21_re = ma##21_re + mb##21_re * s; \
mc##21_im = ma##21_im + mb##21_im * s; \
mc##22_re = ma##22_re + mb##22_re * s; \
mc##22_im = ma##22_im + mb##22_im * s;
VOLATILE spinorFloat * s

Definition at line 459 of file force_common.h.

#define SCALAR_MULT_SUB_SU3_MATRIX (   ma,
  mb,
  s,
  mc 
)
Value:
mc##00_re = ma##00_re - mb##00_re * s; \
mc##00_im = ma##00_im - mb##00_im * s; \
mc##01_re = ma##01_re - mb##01_re * s; \
mc##01_im = ma##01_im - mb##01_im * s; \
mc##02_re = ma##02_re - mb##02_re * s; \
mc##02_im = ma##02_im - mb##02_im * s; \
mc##10_re = ma##10_re - mb##10_re * s; \
mc##10_im = ma##10_im - mb##10_im * s; \
mc##11_re = ma##11_re - mb##11_re * s; \
mc##11_im = ma##11_im - mb##11_im * s; \
mc##12_re = ma##12_re - mb##12_re * s; \
mc##12_im = ma##12_im - mb##12_im * s; \
mc##20_re = ma##20_re - mb##20_re * s; \
mc##20_im = ma##20_im - mb##20_im * s; \
mc##21_re = ma##21_re - mb##21_re * s; \
mc##21_im = ma##21_im - mb##21_im * s; \
mc##22_re = ma##22_re - mb##22_re * s; \
mc##22_im = ma##22_im - mb##22_im * s;
VOLATILE spinorFloat * s

Definition at line 479 of file force_common.h.

#define SET_SU3_MATRIX (   a,
  value 
)
Value:
a##00_re = value; \
a##00_im = value; \
a##01_re = value; \
a##01_im = value; \
a##02_re = value; \
a##02_im = value; \
a##10_re = value; \
a##10_im = value; \
a##11_re = value; \
a##11_im = value; \
a##12_re = value; \
a##12_im = value; \
a##20_re = value; \
a##20_im = value; \
a##21_re = value; \
a##21_im = value; \
a##22_re = value; \
a##22_im = value; \

Definition at line 439 of file force_common.h.

#define SET_UNIT_SU3_MATRIX (   a)
Value:
a##00_re = 1.0; \
a##00_im = 0; \
a##01_re = 0; \
a##01_im = 0; \
a##02_re = 0; \
a##02_im = 0; \
a##10_re = 0; \
a##10_im = 0; \
a##11_re = 1.0; \
a##11_im = 0; \
a##12_re = 0; \
a##12_im = 0; \
a##20_re = 0; \
a##20_im = 0; \
a##21_re = 0; \
a##21_im = 0; \
a##22_re = 1.0; \
a##22_im = 0;

Definition at line 615 of file force_common.h.

#define staple00_im   STAPLE0.y

Definition at line 103 of file force_common.h.

#define staple00_re   STAPLE0.x

Definition at line 102 of file force_common.h.

#define staple01_im   STAPLE1.y

Definition at line 105 of file force_common.h.

#define staple01_re   STAPLE1.x

Definition at line 104 of file force_common.h.

#define staple02_im   STAPLE2.y

Definition at line 107 of file force_common.h.

#define staple02_re   STAPLE2.x

Definition at line 106 of file force_common.h.

#define staple10_im   STAPLE3.y

Definition at line 109 of file force_common.h.

#define staple10_re   STAPLE3.x

Definition at line 108 of file force_common.h.

#define staple11_im   STAPLE4.y

Definition at line 111 of file force_common.h.

#define staple11_re   STAPLE4.x

Definition at line 110 of file force_common.h.

#define staple12_im   STAPLE5.y

Definition at line 113 of file force_common.h.

#define staple12_re   STAPLE5.x

Definition at line 112 of file force_common.h.

#define staple20_im   STAPLE6.y

Definition at line 115 of file force_common.h.

#define staple20_re   STAPLE6.x

Definition at line 114 of file force_common.h.

#define staple21_im   STAPLE7.y

Definition at line 117 of file force_common.h.

#define staple21_re   STAPLE7.x

Definition at line 116 of file force_common.h.

#define staple22_im   STAPLE8.y

Definition at line 119 of file force_common.h.

#define staple22_re   STAPLE8.x

Definition at line 118 of file force_common.h.

#define stapleT00_im   (-staple00_im)

Definition at line 122 of file force_common.h.

#define stapleT00_re   (+staple00_re)

Definition at line 121 of file force_common.h.

#define stapleT01_im   (-staple10_im)

Definition at line 124 of file force_common.h.

#define stapleT01_re   (+staple10_re)

Definition at line 123 of file force_common.h.

#define stapleT02_im   (-staple20_im)

Definition at line 126 of file force_common.h.

#define stapleT02_re   (+staple20_re)

Definition at line 125 of file force_common.h.

#define stapleT10_im   (-staple01_im)

Definition at line 128 of file force_common.h.

#define stapleT10_re   (+staple01_re)

Definition at line 127 of file force_common.h.

#define stapleT11_im   (-staple11_im)

Definition at line 130 of file force_common.h.

#define stapleT11_re   (+staple11_re)

Definition at line 129 of file force_common.h.

#define stapleT12_im   (-staple21_im)

Definition at line 132 of file force_common.h.

#define stapleT12_re   (+staple21_re)

Definition at line 131 of file force_common.h.

#define stapleT20_im   (-staple02_im)

Definition at line 134 of file force_common.h.

#define stapleT20_re   (+staple02_re)

Definition at line 133 of file force_common.h.

#define stapleT21_im   (-staple12_im)

Definition at line 136 of file force_common.h.

#define stapleT21_re   (+staple12_re)

Definition at line 135 of file force_common.h.

#define stapleT22_im   (-staple22_im)

Definition at line 138 of file force_common.h.

#define stapleT22_re   (+staple22_re)

Definition at line 137 of file force_common.h.

#define SU3_ADJOINT (   a,
 
)
Value:
b##00_re = a##00_re; \
b##00_im = - a##00_im; \
b##01_re = a##10_re; \
b##01_im = - a##10_im; \
b##02_re = a##20_re; \
b##02_im = - a##20_im; \
b##10_re = a##01_re; \
b##10_im = - a##01_im; \
b##11_re = a##11_re; \
b##11_im = - a##11_im; \
b##12_re = a##21_re; \
b##12_im = - a##21_im; \
b##20_re = a##02_re; \
b##20_im = - a##02_im; \
b##21_re = a##12_re; \
b##21_im = - a##12_im; \
b##22_re = a##22_re; \
b##22_im = - a##22_im;

Definition at line 595 of file force_common.h.

#define UNCOMPRESS_ANTI_HERMITIAN (   ah,
 
)
Value:
m##00_re = 0; \
m##00_im = ah##00_im; \
m##11_re = 0; \
m##11_im = ah##11_im; \
m##22_re = 0; \
m##22_im = ah##22_im; \
m##01_re = ah##01_re; \
m##01_im = ah##01_im; \
m##10_re = -ah##01_re; \
m##10_im = ah##01_im; \
m##02_re = ah##02_re; \
m##02_im = ah##02_im; \
m##20_re = -ah##02_re; \
m##20_im = ah##02_im; \
m##12_re = ah##12_re; \
m##12_im = ah##12_im; \
m##21_re = -ah##12_re; \
m##21_im = ah##12_im;

Definition at line 511 of file force_common.h.

#define WRITE_ANTI_HERMITIAN (   mem,
  dir,
  idx,
  var,
  stride 
)
Value:
do{ \
int start_ps = idx + dir*stride*5; \
mem[start_ps] = var##0; \
mem[start_ps + stride] = var##1; \
mem[start_ps + stride*2] = var##2; \
mem[start_ps + stride*3] = var##3; \
mem[start_ps + stride*4] = var##4; \
}while(0)

Definition at line 566 of file force_common.h.

Enumeration Type Documentation

anonymous enum
Enumerator
XUP 
YUP 
ZUP 
TUP 
TDOWN 
ZDOWN 
YDOWN 
XDOWN 

Definition at line 4 of file force_common.h.