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

Go to the source code of this file.

Macros

#define COMPLEX_ADD_TO(a, b)
 
#define COMPLEX_PRODUCT(a, b, c)
 
#define COMPLEX_CONJUGATE_PRODUCT(a, b, c)
 
#define COMPLEX_DOT_PRODUCT(a, b, c)
 
#define COMPLEX_NORM(a, b)
 
#define ACC_COMPLEX_PROD(a, b, c)
 
#define ACC_CONJ_PROD(a, b, c)
 
#define READ_GAUGE_MATRIX_18_FLOAT2_TEX(G, gauge, dir, idx, stride)
 
#define READ_GAUGE_MATRIX_18_SHORT2_TEX(G, gauge, dir, idx, stride)
 
#define READ_GAUGE_MATRIX_12_FLOAT4_TEX(G, gauge, dir, idx, stride)
 
#define READ_GAUGE_MATRIX_12_SHORT4_TEX(G, gauge, dir, idx, stride)
 
#define READ_GAUGE_MATRIX_8_FLOAT4_TEX(G, gauge, dir, idx, stride)
 
#define READ_GAUGE_MATRIX_8_SHORT4_TEX(G, gauge, dir, idx, stride)
 
#define READ_GAUGE_MATRIX_18_DOUBLE2(G, gauge, dir, idx, stride)
 
#define READ_GAUGE_MATRIX_18_FLOAT2(G, gauge, dir, idx, stride)
 
#define READ_GAUGE_MATRIX_18_SHORT2(G, gauge, dir, idx, stride)
 
#define READ_GAUGE_MATRIX_12_DOUBLE2(G, gauge, dir, idx, stride)
 
#define READ_GAUGE_MATRIX_12_FLOAT4(G, gauge, dir, idx, stride)
 
#define READ_GAUGE_MATRIX_12_SHORT4(G, gauge, dir, idx, stride)
 
#define READ_GAUGE_MATRIX_8_DOUBLE2(G, gauge, dir, idx, stride)
 
#define READ_GAUGE_MATRIX_8_FLOAT4(G, gauge, dir, idx, stride)
 
#define READ_GAUGE_MATRIX_8_SHORT4(G, gauge, dir, idx, stride)
 
#define ASSN_GAUGE_MATRIX_18_FLOAT2_TEX(G, gauge, dir, idx, stride)
 
#define ASSN_GAUGE_MATRIX_18_SHORT2_TEX(G, gauge, dir, idx, stride)
 
#define ASSN_GAUGE_MATRIX_12_FLOAT4_TEX(G, gauge, dir, idx, stride)
 
#define ASSN_GAUGE_MATRIX_12_SHORT4_TEX(G, gauge, dir, idx, stride)
 
#define ASSN_GAUGE_MATRIX_8_FLOAT4_TEX(G, gauge, dir, idx, stride)
 
#define ASSN_GAUGE_MATRIX_8_SHORT4_TEX(G, gauge, dir, idx, stride)
 
#define ASSN_GAUGE_MATRIX_18_DOUBLE2(G, gauge, dir, idx, stride)
 
#define ASSN_GAUGE_MATRIX_18_FLOAT2(G, gauge, dir, idx, stride)
 
#define ASSN_GAUGE_MATRIX_18_SHORT2(G, gauge, dir, idx, stride)
 
#define ASSN_GAUGE_MATRIX_12_DOUBLE2(G, gauge, dir, idx, stride)
 
#define ASSN_GAUGE_MATRIX_12_FLOAT4(G, gauge, dir, idx, stride)
 
#define ASSN_GAUGE_MATRIX_12_SHORT4(G, gauge, dir, idx, stride)
 
#define ASSN_GAUGE_MATRIX_8_DOUBLE2(G, gauge, dir, idx, stride)
 
#define ASSN_GAUGE_MATRIX_8_FLOAT4(G, gauge, dir, idx, stride)
 
#define ASSN_GAUGE_MATRIX_8_SHORT4(G, gauge, dir, idx, stride)
 
#define RESCALE2(G, max)
 
#define RECONSTRUCT_MATRIX_18_DOUBLE(dir)
 
#define RECONSTRUCT_MATRIX_18_SINGLE(dir)
 
#define do_boundary   ga_idx >= X4X3X2X1hmX3X2X1h
 
#define RECONSTRUCT_MATRIX_12_DOUBLE(dir)
 
#define RECONSTRUCT_MATRIX_12_SINGLE(dir)
 
#define RECONSTRUCT_MATRIX_8_DOUBLE(dir)
 
#define RECONSTRUCT_MATRIX_8_SINGLE(dir)
 
#define RECONSTRUCT_GAUGE_MATRIX_12_SINGLE(dir, gauge, idx, sign)
 
#define RECONSTRUCT_GAUGE_MATRIX_12_DOUBLE(dir, gauge, idx, sign)
 
#define RECONSTRUCT_GAUGE_MATRIX_8_DOUBLE(dir, gauge, idx, sign)
 
#define RECONSTRUCT_GAUGE_MATRIX_8_SINGLE(dir, gauge, idx, sign)
 
#define READ_GAUGE_MATRIX_18_DOUBLE2_TEX(G, gauge, dir, idx, stride)
 
#define READ_GAUGE_MATRIX_12_DOUBLE2_TEX(G, gauge, dir, idx, stride)
 
#define READ_GAUGE_MATRIX_8_DOUBLE2_TEX(G, gauge, dir, idx, stride)
 
#define ASSN_GAUGE_MATRIX_18_DOUBLE2_TEX(G, gauge, dir, idx, stride)
 
#define ASSN_GAUGE_MATRIX_12_DOUBLE2_TEX(G, gauge, dir, idx, stride)
 
#define ASSN_GAUGE_MATRIX_8_DOUBLE2_TEX(G, gauge, dir, idx, stride)
 

Macro Definition Documentation

#define ACC_COMPLEX_PROD (   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 32 of file read_gauge.h.

#define ACC_CONJ_PROD (   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 39 of file read_gauge.h.

#define ASSN_GAUGE_MATRIX_12_DOUBLE2 (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
G##0 = gauge[idx + ((dir/2)*6+0)*stride]; \
G##1 = gauge[idx + ((dir/2)*6+1)*stride]; \
G##2 = gauge[idx + ((dir/2)*6+2)*stride]; \
G##3 = gauge[idx + ((dir/2)*6+3)*stride]; \
G##4 = gauge[idx + ((dir/2)*6+4)*stride]; \
G##5 = gauge[idx + ((dir/2)*6+5)*stride]; \
G##6 = make_double2(0,0); \
G##7 = make_double2(0,0); \
G##8 = make_double2(0,0);

Definition at line 281 of file read_gauge.h.

#define ASSN_GAUGE_MATRIX_12_DOUBLE2_TEX (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
G##0 = fetch_double2((gauge), idx + ((dir/2)*6+0)*stride); \
G##1 = fetch_double2((gauge), idx + ((dir/2)*6+1)*stride); \
G##2 = fetch_double2((gauge), idx + ((dir/2)*6+2)*stride); \
G##3 = fetch_double2((gauge), idx + ((dir/2)*6+3)*stride); \
G##4 = fetch_double2((gauge), idx + ((dir/2)*6+4)*stride); \
G##5 = fetch_double2((gauge), idx + ((dir/2)*6+5)*stride); \
G##6 = make_double2(0,0); \
G##7 = make_double2(0,0); \
G##8 = make_double2(0,0); \

Definition at line 635 of file read_gauge.h.

#define ASSN_GAUGE_MATRIX_12_FLOAT4 (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
G##0 = gauge[idx + ((dir/2)*3+0)*stride]; \
G##1 = gauge[idx + ((dir/2)*3+1)*stride]; \
G##2 = gauge[idx + ((dir/2)*3+2)*stride]; \
G##3 = make_float4(0,0,0,0); \
G##4 = make_float4(0,0,0,0);

Definition at line 292 of file read_gauge.h.

#define ASSN_GAUGE_MATRIX_12_FLOAT4_TEX (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
G##0 = TEX1DFETCH(float4, (gauge), idx + ((dir/2)*3+0)*stride); \
G##1 = TEX1DFETCH(float4, (gauge), idx + ((dir/2)*3+1)*stride); \
G##2 = TEX1DFETCH(float4, (gauge), idx + ((dir/2)*3+2)*stride); \
G##3 = make_float4(0,0,0,0); \
G##4 = make_float4(0,0,0,0);

Definition at line 215 of file read_gauge.h.

#define ASSN_GAUGE_MATRIX_12_SHORT4 (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
G##0 = short42float4(gauge[idx + ((dir/2)*3+0)*stride]); \
G##1 = short42float4(gauge[idx + ((dir/2)*3+1)*stride]); \
G##2 = short42float4(gauge[idx + ((dir/2)*3+2)*stride]); \
G##3 = make_float4(0,0,0,0); \
G##4 = make_float4(0,0,0,0);

Definition at line 299 of file read_gauge.h.

#define ASSN_GAUGE_MATRIX_12_SHORT4_TEX (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
G##0 = TEX1DFETCH(float4, (gauge), idx + ((dir/2)*3+0)*stride); \
G##1 = TEX1DFETCH(float4, (gauge), idx + ((dir/2)*3+1)*stride); \
G##2 = TEX1DFETCH(float4, (gauge), idx + ((dir/2)*3+2)*stride); \
G##3 = make_float4(0,0,0,0); \
G##4 = make_float4(0,0,0,0);

Definition at line 222 of file read_gauge.h.

#define ASSN_GAUGE_MATRIX_18_DOUBLE2 (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
G##0 = gauge[idx + ((dir/2)*9+0)*stride]; \
G##1 = gauge[idx + ((dir/2)*9+1)*stride]; \
G##2 = gauge[idx + ((dir/2)*9+2)*stride]; \
G##3 = gauge[idx + ((dir/2)*9+3)*stride]; \
G##4 = gauge[idx + ((dir/2)*9+4)*stride]; \
G##5 = gauge[idx + ((dir/2)*9+5)*stride]; \
G##6 = gauge[idx + ((dir/2)*9+6)*stride]; \
G##7 = gauge[idx + ((dir/2)*9+7)*stride]; \
G##8 = gauge[idx + ((dir/2)*9+8)*stride]; \

Definition at line 248 of file read_gauge.h.

#define ASSN_GAUGE_MATRIX_18_DOUBLE2_TEX (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
G##0 = fetch_double2((gauge), idx + ((dir/2)*9+0)*stride); \
G##1 = fetch_double2((gauge), idx + ((dir/2)*9+1)*stride); \
G##2 = fetch_double2((gauge), idx + ((dir/2)*9+2)*stride); \
G##3 = fetch_double2((gauge), idx + ((dir/2)*9+3)*stride); \
G##4 = fetch_double2((gauge), idx + ((dir/2)*9+4)*stride); \
G##5 = fetch_double2((gauge), idx + ((dir/2)*9+5)*stride); \
G##6 = fetch_double2((gauge), idx + ((dir/2)*9+6)*stride); \
G##7 = fetch_double2((gauge), idx + ((dir/2)*9+7)*stride); \
G##8 = fetch_double2((gauge), idx + ((dir/2)*9+8)*stride); \

For DW only

Definition at line 624 of file read_gauge.h.

#define ASSN_GAUGE_MATRIX_18_FLOAT2 (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
G##0 = ((float2*)gauge)[idx + ((dir/2)*9+0)*stride]; \
G##1 = ((float2*)gauge)[idx + ((dir/2)*9+1)*stride]; \
G##2 = ((float2*)gauge)[idx + ((dir/2)*9+2)*stride]; \
G##3 = ((float2*)gauge)[idx + ((dir/2)*9+3)*stride]; \
G##4 = ((float2*)gauge)[idx + ((dir/2)*9+4)*stride]; \
G##5 = ((float2*)gauge)[idx + ((dir/2)*9+5)*stride]; \
G##6 = ((float2*)gauge)[idx + ((dir/2)*9+6)*stride]; \
G##7 = ((float2*)gauge)[idx + ((dir/2)*9+7)*stride]; \
G##8 = ((float2*)gauge)[idx + ((dir/2)*9+8)*stride]; \

Definition at line 259 of file read_gauge.h.

#define ASSN_GAUGE_MATRIX_18_FLOAT2_TEX (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
G##0 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+0)*stride); \
G##1 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+1)*stride); \
G##2 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+2)*stride); \
G##3 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+3)*stride); \
G##4 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+4)*stride); \
G##5 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+5)*stride); \
G##6 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+6)*stride); \
G##7 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+7)*stride); \
G##8 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+8)*stride); \

-—For DW only-—!

Definition at line 193 of file read_gauge.h.

#define ASSN_GAUGE_MATRIX_18_SHORT2 (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
G##0 = short22float2(((short2*)gauge)[idx + ((dir/2)*9+0)*stride]); \
G##1 = short22float2(((short2*)gauge)[idx + ((dir/2)*9+1)*stride]); \
G##2 = short22float2(((short2*)gauge)[idx + ((dir/2)*9+2)*stride]); \
G##3 = short22float2(((short2*)gauge)[idx + ((dir/2)*9+3)*stride]); \
G##4 = short22float2(((short2*)gauge)[idx + ((dir/2)*9+4)*stride]); \
G##5 = short22float2(((short2*)gauge)[idx + ((dir/2)*9+5)*stride]); \
G##6 = short22float2(((short2*)gauge)[idx + ((dir/2)*9+6)*stride]); \
G##7 = short22float2(((short2*)gauge)[idx + ((dir/2)*9+7)*stride]); \
G##8 = short22float2(((short2*)gauge)[idx + ((dir/2)*9+8)*stride]); \

Definition at line 270 of file read_gauge.h.

#define ASSN_GAUGE_MATRIX_18_SHORT2_TEX (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
G##0 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+0)*stride); \
G##1 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+1)*stride); \
G##2 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+2)*stride); \
G##3 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+3)*stride); \
G##4 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+4)*stride); \
G##5 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+5)*stride); \
G##6 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+6)*stride); \
G##7 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+7)*stride); \
G##8 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+8)*stride); \

Definition at line 204 of file read_gauge.h.

#define ASSN_GAUGE_MATRIX_8_DOUBLE2 (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
G##0 = gauge[idx + ((dir/2)*4+0)*stride]; \
G##1 = gauge[idx + ((dir/2)*4+1)*stride]; \
G##2 = gauge[idx + ((dir/2)*4+2)*stride]; \
G##3 = gauge[idx + ((dir/2)*4+3)*stride]; \
G##4 = make_double2(0,0); \
G##5 = make_double2(0,0); \
G##6 = make_double2(0,0); \
G##7 = make_double2(0,0); \
G##8 = make_double2(0,0); \
(G##7).x = (G##0).x; \
(G##7).y = (G##0).y;

Definition at line 307 of file read_gauge.h.

#define ASSN_GAUGE_MATRIX_8_DOUBLE2_TEX (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
G##0 = fetch_double2((gauge), idx + ((dir/2)*4+0)*stride); \
G##1 = fetch_double2((gauge), idx + ((dir/2)*4+1)*stride); \
G##2 = fetch_double2((gauge), idx + ((dir/2)*4+2)*stride); \
G##3 = fetch_double2((gauge), idx + ((dir/2)*4+3)*stride); \
G##4 = make_double2(0,0); \
G##5 = make_double2(0,0); \
G##6 = make_double2(0,0); \
G##7 = make_double2(0,0); \
G##8 = make_double2(0,0); \
(G##7).x = (G##0).x; \
(G##7).y = (G##0).y;

Definition at line 647 of file read_gauge.h.

#define ASSN_GAUGE_MATRIX_8_FLOAT4 (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
G##0 = gauge[idx + ((dir/2)*2+0)*stride]; \
G##1 = gauge[idx + ((dir/2)*2+1)*stride]; \
G##2 = make_float4(0,0,0,0); \
G##3 = make_float4(0,0,0,0); \
G##4 = make_float4(0,0,0,0); \
(G##3).z = (G##0).x; \
(G##3).w = (G##0).y;

Definition at line 321 of file read_gauge.h.

#define ASSN_GAUGE_MATRIX_8_FLOAT4_TEX (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
G##0 = TEX1DFETCH(float4, (gauge), idx + ((dir/2)*2+0)*stride); \
G##1 = TEX1DFETCH(float4, (gauge), idx + ((dir/2)*2+1)*stride); \
G##2 = make_float4(0,0,0,0); \
G##3 = make_float4(0,0,0,0); \
G##4 = make_float4(0,0,0,0); \
(G##3).z = (G##0).x; \
(G##3).w = (G##0).y;

Definition at line 230 of file read_gauge.h.

#define ASSN_GAUGE_MATRIX_8_SHORT4 (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
G##0 = short42float4(gauge[idx + ((dir/2)*2+0)*stride]); \
G##1 = short42float4(gauge[idx + ((dir/2)*2+1)*stride]); \
G##2 = make_float4(0,0,0,0); \
G##3 = make_float4(0,0,0,0); \
G##4 = make_float4(0,0,0,0); \
(G##3).z = (G##0).x = pi_f*(G##0).x; \
(G##3).w = (G##0).y = pi_f*(G##0).y;

Definition at line 330 of file read_gauge.h.

#define ASSN_GAUGE_MATRIX_8_SHORT4_TEX (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
G##0 = TEX1DFETCH(float4, (gauge), idx + ((dir/2)*2+0)*stride); \
G##1 = TEX1DFETCH(float4, (gauge), idx + ((dir/2)*2+1)*stride); \
G##2 = make_float4(0,0,0,0); \
G##3 = make_float4(0,0,0,0); \
G##4 = make_float4(0,0,0,0); \
(G##3).z = (G##0).x = pi_f*(G##0).x; \
(G##3).w = (G##0).y = pi_f*(G##0).y;

Definition at line 239 of file read_gauge.h.

#define COMPLEX_ADD_TO (   a,
 
)
Value:
a##_re += b##_re, \
a##_im += b##_im

Definition at line 4 of file read_gauge.h.

#define COMPLEX_CONJUGATE_PRODUCT (   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 14 of file read_gauge.h.

#define COMPLEX_DOT_PRODUCT (   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 21 of file read_gauge.h.

#define COMPLEX_NORM (   a,
 
)
Value:
a = b##_re*b##_re; \
a += b##_im*b##_im

Definition at line 28 of file read_gauge.h.

#define COMPLEX_PRODUCT (   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 8 of file read_gauge.h.

#define do_boundary   ga_idx >= X4X3X2X1hmX3X2X1h

Definition at line 355 of file read_gauge.h.

#define READ_GAUGE_MATRIX_12_DOUBLE2 (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
double2 G##0 = gauge[idx + ((dir/2)*6+0)*stride]; \
double2 G##1 = gauge[idx + ((dir/2)*6+1)*stride]; \
double2 G##2 = gauge[idx + ((dir/2)*6+2)*stride]; \
double2 G##3 = gauge[idx + ((dir/2)*6+3)*stride]; \
double2 G##4 = gauge[idx + ((dir/2)*6+4)*stride]; \
double2 G##5 = gauge[idx + ((dir/2)*6+5)*stride]; \
double2 G##6 = make_double2(0,0); \
double2 G##7 = make_double2(0,0); \
double2 G##8 = make_double2(0,0);

Definition at line 133 of file read_gauge.h.

#define READ_GAUGE_MATRIX_12_DOUBLE2_TEX (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
double2 G##0 = fetch_double2((gauge), idx + ((dir/2)*6+0)*stride); \
double2 G##1 = fetch_double2((gauge), idx + ((dir/2)*6+1)*stride); \
double2 G##2 = fetch_double2((gauge), idx + ((dir/2)*6+2)*stride); \
double2 G##3 = fetch_double2((gauge), idx + ((dir/2)*6+3)*stride); \
double2 G##4 = fetch_double2((gauge), idx + ((dir/2)*6+4)*stride); \
double2 G##5 = fetch_double2((gauge), idx + ((dir/2)*6+5)*stride); \
double2 G##6 = make_double2(0,0); \
double2 G##7 = make_double2(0,0); \
double2 G##8 = make_double2(0,0); \

Definition at line 597 of file read_gauge.h.

#define READ_GAUGE_MATRIX_12_FLOAT4 (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
float4 G##0 = gauge[idx + ((dir/2)*3+0)*stride]; \
float4 G##1 = gauge[idx + ((dir/2)*3+1)*stride]; \
float4 G##2 = gauge[idx + ((dir/2)*3+2)*stride]; \
float4 G##3 = make_float4(0,0,0,0); \
float4 G##4 = make_float4(0,0,0,0);

Definition at line 144 of file read_gauge.h.

#define READ_GAUGE_MATRIX_12_FLOAT4_TEX (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
float4 G##0 = TEX1DFETCH(float4, (gauge), idx + ((dir/2)*3+0)*stride); \
float4 G##1 = TEX1DFETCH(float4, (gauge), idx + ((dir/2)*3+1)*stride); \
float4 G##2 = TEX1DFETCH(float4, (gauge), idx + ((dir/2)*3+2)*stride); \
float4 G##3 = make_float4(0,0,0,0); \
float4 G##4 = make_float4(0,0,0,0);

Definition at line 67 of file read_gauge.h.

#define READ_GAUGE_MATRIX_12_SHORT4 (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
float4 G##0 = short42float4(gauge[idx + ((dir/2)*3+0)*stride]); \
float4 G##1 = short42float4(gauge[idx + ((dir/2)*3+1)*stride]); \
float4 G##2 = short42float4(gauge[idx + ((dir/2)*3+2)*stride]); \
float4 G##3 = make_float4(0,0,0,0); \
float4 G##4 = make_float4(0,0,0,0);

Definition at line 151 of file read_gauge.h.

#define READ_GAUGE_MATRIX_12_SHORT4_TEX (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
float4 G##0 = TEX1DFETCH(float4, (gauge), idx + ((dir/2)*3+0)*stride); \
float4 G##1 = TEX1DFETCH(float4, (gauge), idx + ((dir/2)*3+1)*stride); \
float4 G##2 = TEX1DFETCH(float4, (gauge), idx + ((dir/2)*3+2)*stride); \
float4 G##3 = make_float4(0,0,0,0); \
float4 G##4 = make_float4(0,0,0,0);

Definition at line 74 of file read_gauge.h.

#define READ_GAUGE_MATRIX_18_DOUBLE2 (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
double2 G##0 = gauge[idx + ((dir/2)*9+0)*stride]; \
double2 G##1 = gauge[idx + ((dir/2)*9+1)*stride]; \
double2 G##2 = gauge[idx + ((dir/2)*9+2)*stride]; \
double2 G##3 = gauge[idx + ((dir/2)*9+3)*stride]; \
double2 G##4 = gauge[idx + ((dir/2)*9+4)*stride]; \
double2 G##5 = gauge[idx + ((dir/2)*9+5)*stride]; \
double2 G##6 = gauge[idx + ((dir/2)*9+6)*stride]; \
double2 G##7 = gauge[idx + ((dir/2)*9+7)*stride]; \
double2 G##8 = gauge[idx + ((dir/2)*9+8)*stride]; \

Definition at line 100 of file read_gauge.h.

#define READ_GAUGE_MATRIX_18_DOUBLE2_TEX (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
double2 G##0 = fetch_double2((gauge), idx + ((dir/2)*9+0)*stride); \
double2 G##1 = fetch_double2((gauge), idx + ((dir/2)*9+1)*stride); \
double2 G##2 = fetch_double2((gauge), idx + ((dir/2)*9+2)*stride); \
double2 G##3 = fetch_double2((gauge), idx + ((dir/2)*9+3)*stride); \
double2 G##4 = fetch_double2((gauge), idx + ((dir/2)*9+4)*stride); \
double2 G##5 = fetch_double2((gauge), idx + ((dir/2)*9+5)*stride); \
double2 G##6 = fetch_double2((gauge), idx + ((dir/2)*9+6)*stride); \
double2 G##7 = fetch_double2((gauge), idx + ((dir/2)*9+7)*stride); \
double2 G##8 = fetch_double2((gauge), idx + ((dir/2)*9+8)*stride); \

Definition at line 586 of file read_gauge.h.

#define READ_GAUGE_MATRIX_18_FLOAT2 (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
float2 G##0 = ((float2*)gauge)[idx + ((dir/2)*9+0)*stride]; \
float2 G##1 = ((float2*)gauge)[idx + ((dir/2)*9+1)*stride]; \
float2 G##2 = ((float2*)gauge)[idx + ((dir/2)*9+2)*stride]; \
float2 G##3 = ((float2*)gauge)[idx + ((dir/2)*9+3)*stride]; \
float2 G##4 = ((float2*)gauge)[idx + ((dir/2)*9+4)*stride]; \
float2 G##5 = ((float2*)gauge)[idx + ((dir/2)*9+5)*stride]; \
float2 G##6 = ((float2*)gauge)[idx + ((dir/2)*9+6)*stride]; \
float2 G##7 = ((float2*)gauge)[idx + ((dir/2)*9+7)*stride]; \
float2 G##8 = ((float2*)gauge)[idx + ((dir/2)*9+8)*stride]; \

Definition at line 111 of file read_gauge.h.

#define READ_GAUGE_MATRIX_18_FLOAT2_TEX (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
float2 G##0 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+0)*stride); \
float2 G##1 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+1)*stride); \
float2 G##2 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+2)*stride); \
float2 G##3 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+3)*stride); \
float2 G##4 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+4)*stride); \
float2 G##5 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+5)*stride); \
float2 G##6 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+6)*stride); \
float2 G##7 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+7)*stride); \
float2 G##8 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+8)*stride); \

Definition at line 45 of file read_gauge.h.

#define READ_GAUGE_MATRIX_18_SHORT2 (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
float2 G##0 = short22float2(((short2*)gauge)[idx + ((dir/2)*9+0)*stride]); \
float2 G##1 = short22float2(((short2*)gauge)[idx + ((dir/2)*9+1)*stride]); \
float2 G##2 = short22float2(((short2*)gauge)[idx + ((dir/2)*9+2)*stride]); \
float2 G##3 = short22float2(((short2*)gauge)[idx + ((dir/2)*9+3)*stride]); \
float2 G##4 = short22float2(((short2*)gauge)[idx + ((dir/2)*9+4)*stride]); \
float2 G##5 = short22float2(((short2*)gauge)[idx + ((dir/2)*9+5)*stride]); \
float2 G##6 = short22float2(((short2*)gauge)[idx + ((dir/2)*9+6)*stride]); \
float2 G##7 = short22float2(((short2*)gauge)[idx + ((dir/2)*9+7)*stride]); \
float2 G##8 = short22float2(((short2*)gauge)[idx + ((dir/2)*9+8)*stride]); \

Definition at line 122 of file read_gauge.h.

#define READ_GAUGE_MATRIX_18_SHORT2_TEX (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
float2 G##0 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+0)*stride); \
float2 G##1 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+1)*stride); \
float2 G##2 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+2)*stride); \
float2 G##3 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+3)*stride); \
float2 G##4 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+4)*stride); \
float2 G##5 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+5)*stride); \
float2 G##6 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+6)*stride); \
float2 G##7 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+7)*stride); \
float2 G##8 = TEX1DFETCH(float2, (gauge), idx + ((dir/2)*9+8)*stride); \

Definition at line 56 of file read_gauge.h.

#define READ_GAUGE_MATRIX_8_DOUBLE2 (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
double2 G##0 = gauge[idx + ((dir/2)*4+0)*stride]; \
double2 G##1 = gauge[idx + ((dir/2)*4+1)*stride]; \
double2 G##2 = gauge[idx + ((dir/2)*4+2)*stride]; \
double2 G##3 = gauge[idx + ((dir/2)*4+3)*stride]; \
double2 G##4 = make_double2(0,0); \
double2 G##5 = make_double2(0,0); \
double2 G##6 = make_double2(0,0); \
double2 G##7 = make_double2(0,0); \
double2 G##8 = make_double2(0,0); \
(G##7).x = (G##0).x; \
(G##7).y = (G##0).y;

Definition at line 159 of file read_gauge.h.

#define READ_GAUGE_MATRIX_8_DOUBLE2_TEX (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
double2 G##0 = fetch_double2((gauge), idx + ((dir/2)*4+0)*stride); \
double2 G##1 = fetch_double2((gauge), idx + ((dir/2)*4+1)*stride); \
double2 G##2 = fetch_double2((gauge), idx + ((dir/2)*4+2)*stride); \
double2 G##3 = fetch_double2((gauge), idx + ((dir/2)*4+3)*stride); \
double2 G##4 = make_double2(0,0); \
double2 G##5 = make_double2(0,0); \
double2 G##6 = make_double2(0,0); \
double2 G##7 = make_double2(0,0); \
double2 G##8 = make_double2(0,0); \
(G##7).x = (G##0).x; \
(G##7).y = (G##0).y;

Definition at line 609 of file read_gauge.h.

#define READ_GAUGE_MATRIX_8_FLOAT4 (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
float4 G##0 = gauge[idx + ((dir/2)*2+0)*stride]; \
float4 G##1 = gauge[idx + ((dir/2)*2+1)*stride]; \
float4 G##2 = make_float4(0,0,0,0); \
float4 G##3 = make_float4(0,0,0,0); \
float4 G##4 = make_float4(0,0,0,0); \
(G##3).z = (G##0).x; \
(G##3).w = (G##0).y;

Definition at line 173 of file read_gauge.h.

#define READ_GAUGE_MATRIX_8_FLOAT4_TEX (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
float4 G##0 = TEX1DFETCH(float4, (gauge), idx + ((dir/2)*2+0)*stride); \
float4 G##1 = TEX1DFETCH(float4, (gauge), idx + ((dir/2)*2+1)*stride); \
float4 G##2 = make_float4(0,0,0,0); \
float4 G##3 = make_float4(0,0,0,0); \
float4 G##4 = make_float4(0,0,0,0); \
(G##3).z = (G##0).x; \
(G##3).w = (G##0).y;

Definition at line 82 of file read_gauge.h.

#define READ_GAUGE_MATRIX_8_SHORT4 (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
float4 G##0 = short42float4(gauge[idx + ((dir/2)*2+0)*stride]); \
float4 G##1 = short42float4(gauge[idx + ((dir/2)*2+1)*stride]); \
float4 G##2 = make_float4(0,0,0,0); \
float4 G##3 = make_float4(0,0,0,0); \
float4 G##4 = make_float4(0,0,0,0); \
(G##3).z = (G##0).x = pi_f*(G##0).x; \
(G##3).w = (G##0).y = pi_f*(G##0).y;

Definition at line 182 of file read_gauge.h.

#define READ_GAUGE_MATRIX_8_SHORT4_TEX (   G,
  gauge,
  dir,
  idx,
  stride 
)
Value:
float4 G##0 = TEX1DFETCH(float4, (gauge), idx + ((dir/2)*2+0)*stride); \
float4 G##1 = TEX1DFETCH(float4, (gauge), idx + ((dir/2)*2+1)*stride); \
float4 G##2 = make_float4(0,0,0,0); \
float4 G##3 = make_float4(0,0,0,0); \
float4 G##4 = make_float4(0,0,0,0); \
(G##3).z = (G##0).x = pi_f*(G##0).x; \
(G##3).w = (G##0).y = pi_f*(G##0).y;

Definition at line 91 of file read_gauge.h.

#define RECONSTRUCT_GAUGE_MATRIX_12_DOUBLE (   dir,
  gauge,
  idx,
  sign 
)
Value:
ACC_CONJ_PROD(gauge##20, +gauge##01, +gauge##12); \
ACC_CONJ_PROD(gauge##20, -gauge##02, +gauge##11); \
ACC_CONJ_PROD(gauge##21, +gauge##02, +gauge##10); \
ACC_CONJ_PROD(gauge##21, -gauge##00, +gauge##12); \
ACC_CONJ_PROD(gauge##22, +gauge##00, +gauge##11); \
ACC_CONJ_PROD(gauge##22, -gauge##01, +gauge##10); \
{double u0 = coeff* sign; \
gauge##20_re *=u0;gauge##20_im *=u0; gauge##21_re *=u0; gauge##21_im *=u0; \
gauge##22_re *=u0;gauge##22_im *=u0;}

Definition at line 477 of file read_gauge.h.

#define RECONSTRUCT_GAUGE_MATRIX_12_SINGLE (   dir,
  gauge,
  idx,
  sign 
)
Value:
ACC_CONJ_PROD(gauge##20, +gauge##01, +gauge##12); \
ACC_CONJ_PROD(gauge##20, -gauge##02, +gauge##11); \
ACC_CONJ_PROD(gauge##21, +gauge##02, +gauge##10); \
ACC_CONJ_PROD(gauge##21, -gauge##00, +gauge##12); \
ACC_CONJ_PROD(gauge##22, +gauge##00, +gauge##11); \
ACC_CONJ_PROD(gauge##22, -gauge##01, +gauge##10); \
{float u0 = coeff_f*sign; \
gauge##20_re *=u0;gauge##20_im *=u0; gauge##21_re *=u0; gauge##21_im *=u0; \
gauge##22_re *=u0;gauge##22_im *=u0;}

Definition at line 466 of file read_gauge.h.

#define RECONSTRUCT_GAUGE_MATRIX_8_DOUBLE (   dir,
  gauge,
  idx,
  sign 
)

Definition at line 488 of file read_gauge.h.

#define RECONSTRUCT_GAUGE_MATRIX_8_SINGLE (   dir,
  gauge,
  idx,
  sign 
)

Definition at line 527 of file read_gauge.h.

#define RECONSTRUCT_MATRIX_12_DOUBLE (   dir)
Value:
ACC_CONJ_PROD(g20, +g01, +g12); \
ACC_CONJ_PROD(g20, -g02, +g11); \
ACC_CONJ_PROD(g21, +g02, +g10); \
ACC_CONJ_PROD(g21, -g00, +g12); \
ACC_CONJ_PROD(g22, +g00, +g11); \
ACC_CONJ_PROD(g22, -g01, +g10); \
double u0 = (dir < 6 ? anisotropy : (do_boundary ? t_boundary : 1)); \
G6.x*=u0; G6.y*=u0; G7.x*=u0; G7.y*=u0; G8.x*=u0; G8.y*=u0;

Definition at line 360 of file read_gauge.h.

#define RECONSTRUCT_MATRIX_12_SINGLE (   dir)
Value:
ACC_CONJ_PROD(g20, +g01, +g12); \
ACC_CONJ_PROD(g20, -g02, +g11); \
ACC_CONJ_PROD(g21, +g02, +g10); \
ACC_CONJ_PROD(g21, -g00, +g12); \
ACC_CONJ_PROD(g22, +g00, +g11); \
ACC_CONJ_PROD(g22, -g01, +g10); \
float u0 = (dir < 6 ? anisotropy_f : (do_boundary ? t_boundary_f : 1)); \
G3.x*=u0; G3.y*=u0; G3.z*=u0; G3.w*=u0; G4.x*=u0; G4.y*=u0;

Definition at line 370 of file read_gauge.h.

#define RECONSTRUCT_MATRIX_18_DOUBLE (   dir)

Definition at line 351 of file read_gauge.h.

#define RECONSTRUCT_MATRIX_18_SINGLE (   dir)

Definition at line 352 of file read_gauge.h.

#define RECONSTRUCT_MATRIX_8_DOUBLE (   dir)

Definition at line 380 of file read_gauge.h.

#define RECONSTRUCT_MATRIX_8_SINGLE (   dir)

Definition at line 421 of file read_gauge.h.

#define RESCALE2 (   G,
  max 
)
Value:
(G##0).x *= max; (G##0).y *= max; (G##1).x *= max; (G##1).y *= max; \
(G##2).x *= max; (G##2).y *= max; (G##3).x *= max; (G##3).y *= max; \
(G##4).x *= max; (G##4).y *= max; (G##5).x *= max; (G##5).y *= max; \
(G##6).x *= max; (G##6).y *= max; (G##7).x *= max; (G##7).y *= max; \
(G##8).x *= max; (G##8).y *= max;

Definition at line 342 of file read_gauge.h.