QUDA  v0.7.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 READ_GAUGE_PHASE_DOUBLE(P, phase, dir, idx, stride)
 
#define READ_GAUGE_PHASE_FLOAT(P, phase, dir, idx, stride)
 
#define READ_GAUGE_PHASE_SHORT(P, phase, 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_13_SINGLE(dir, gauge, idx, sign)
 
#define RECONSTRUCT_GAUGE_MATRIX_13_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 RECONSTRUCT_GAUGE_MATRIX_9_SINGLE(dir, gauge, idx, sign)
 
#define RECONSTRUCT_GAUGE_MATRIX_9_DOUBLE(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 READ_GAUGE_PHASE_FLOAT_TEX(P, phase, dir, idx, stride)
 
#define READ_GAUGE_PHASE_SHORT_TEX(P, phase, dir, idx, stride)   READ_GAUGE_PHASE_FLOAT_TEX(P, phase, dir, idx, stride)
 
#define READ_GAUGE_PHASE_DOUBLE_TEX(P, phase, 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);
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 294 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); \
__inline__ __device__ double2 fetch_double2(texture< int4, 1 > t, int i)
Definition: texture.h:90
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 774 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);
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 305 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);
void * gauge[4]
Definition: su3_test.cpp:15
#define TEX1DFETCH(type, tex, idx)

Definition at line 228 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);
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 312 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);
void * gauge[4]
Definition: su3_test.cpp:15
#define TEX1DFETCH(type, tex, idx)

Definition at line 235 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]; \
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 261 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); \
__inline__ __device__ double2 fetch_double2(texture< int4, 1 > t, int i)
Definition: texture.h:90
void * gauge[4]
Definition: su3_test.cpp:15

For DW only

Definition at line 763 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]; \
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 272 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); \
void * gauge[4]
Definition: su3_test.cpp:15
#define TEX1DFETCH(type, tex, idx)

-—For DW only-—!

Definition at line 206 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]); \
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 283 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); \
void * gauge[4]
Definition: su3_test.cpp:15
#define TEX1DFETCH(type, tex, idx)

Definition at line 217 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;
int y[4]
int x[4]
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 320 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;
int y[4]
__inline__ __device__ double2 fetch_double2(texture< int4, 1 > t, int i)
Definition: texture.h:90
int x[4]
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 786 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;
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 334 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;
void * gauge[4]
Definition: su3_test.cpp:15
#define TEX1DFETCH(type, tex, idx)

Definition at line 243 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;
int y[4]
__constant__ float pi_f
int x[4]
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 343 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;
int y[4]
__constant__ float pi_f
int x[4]
void * gauge[4]
Definition: su3_test.cpp:15
#define TEX1DFETCH(type, tex, idx)

Definition at line 252 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 368 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);
void * gauge[4]
Definition: su3_test.cpp:15

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); \
__inline__ __device__ double2 fetch_double2(texture< int4, 1 > t, int i)
Definition: texture.h:90
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 723 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);
void * gauge[4]
Definition: su3_test.cpp:15

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);
void * gauge[4]
Definition: su3_test.cpp:15
#define TEX1DFETCH(type, tex, idx)

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);
void * gauge[4]
Definition: su3_test.cpp:15

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);
void * gauge[4]
Definition: su3_test.cpp:15
#define TEX1DFETCH(type, tex, idx)

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]; \
void * gauge[4]
Definition: su3_test.cpp:15

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); \
__inline__ __device__ double2 fetch_double2(texture< int4, 1 > t, int i)
Definition: texture.h:90
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 712 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]; \
void * gauge[4]
Definition: su3_test.cpp:15

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); \
void * gauge[4]
Definition: su3_test.cpp:15
#define TEX1DFETCH(type, tex, idx)

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]); \
void * gauge[4]
Definition: su3_test.cpp:15

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); \
void * gauge[4]
Definition: su3_test.cpp:15
#define TEX1DFETCH(type, tex, idx)

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;
int y[4]
int x[4]
void * gauge[4]
Definition: su3_test.cpp:15

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;
int y[4]
__inline__ __device__ double2 fetch_double2(texture< int4, 1 > t, int i)
Definition: texture.h:90
int x[4]
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 735 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;
void * gauge[4]
Definition: su3_test.cpp:15

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;
void * gauge[4]
Definition: su3_test.cpp:15
#define TEX1DFETCH(type, tex, idx)

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;
int y[4]
__constant__ float pi_f
int x[4]
void * gauge[4]
Definition: su3_test.cpp:15

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;
int y[4]
__constant__ float pi_f
int x[4]
void * gauge[4]
Definition: su3_test.cpp:15
#define TEX1DFETCH(type, tex, idx)

Definition at line 91 of file read_gauge.h.

#define READ_GAUGE_PHASE_DOUBLE (   P,
  phase,
  dir,
  idx,
  stride 
)
Value:
{ \
P = 2.*M_PI*phase[idx + (dir/2)*stride]; \
}

Definition at line 192 of file read_gauge.h.

#define READ_GAUGE_PHASE_DOUBLE_TEX (   P,
  phase,
  dir,
  idx,
  stride 
)
Value:
{ \
P = 2*M_PI*fetch_double((phase), idx + (dir/2)*stride); \
}
__inline__ __device__ double fetch_double(texture< int2, 1 > t, int i)
Definition: texture.h:88

Definition at line 757 of file read_gauge.h.

#define READ_GAUGE_PHASE_FLOAT (   P,
  phase,
  dir,
  idx,
  stride 
)
Value:
{ \
P = 2.f*pi_f*phase[idx + (dir/2)*stride]; \
}
__constant__ float pi_f

Definition at line 196 of file read_gauge.h.

#define READ_GAUGE_PHASE_FLOAT_TEX (   P,
  phase,
  dir,
  idx,
  stride 
)
Value:
{ \
P = 2.f*pi_f*TEX1DFETCH(float, (phase), idx + (dir/2)*stride); \
}
__constant__ float pi_f
#define TEX1DFETCH(type, tex, idx)

Definition at line 751 of file read_gauge.h.

#define READ_GAUGE_PHASE_SHORT (   P,
  phase,
  dir,
  idx,
  stride 
)
Value:
{ \
P = 2.f*pi_f*short2float(phase[idx + (dir/2)*stride]); \
}
__constant__ float pi_f

Definition at line 200 of file read_gauge.h.

#define READ_GAUGE_PHASE_SHORT_TEX (   P,
  phase,
  dir,
  idx,
  stride 
)    READ_GAUGE_PHASE_FLOAT_TEX(P, phase, dir, idx, stride)

Definition at line 755 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;}
#define ACC_CONJ_PROD(a, b, c)
Definition: read_gauge.h:39
__constant__ double coeff
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 490 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;}
__constant__ float coeff_f
#define ACC_CONJ_PROD(a, b, c)
Definition: read_gauge.h:39
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 479 of file read_gauge.h.

#define RECONSTRUCT_GAUGE_MATRIX_13_DOUBLE (   dir,
  gauge,
  idx,
  sign 
)
Value:
{ \
double exp_i3phase_re, exp_i3phase_im; \
sincos(3.*PHASE, &exp_i3phase_im, &exp_i3phase_re); \
double A_re, A_im; \
COMPLEX_PRODUCT(A, exp_i3phase, gauge##20); \
gauge##20_re = A_re; \
gauge##20_im = A_im; \
COMPLEX_PRODUCT(A, exp_i3phase, gauge##21); \
gauge##21_re = A_re; \
gauge##21_im = A_im; \
COMPLEX_PRODUCT(A, exp_i3phase, gauge##22); \
gauge##22_re = A_re; \
gauge##22_im = A_im; \
}
#define COMPLEX_PRODUCT(a, b, c)
Definition: read_gauge.h:8
#define RECONSTRUCT_GAUGE_MATRIX_12_DOUBLE(dir, gauge, idx, sign)
Definition: read_gauge.h:490
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 519 of file read_gauge.h.

#define RECONSTRUCT_GAUGE_MATRIX_13_SINGLE (   dir,
  gauge,
  idx,
  sign 
)
Value:
{ \
float exp_i3phase_re, exp_i3phase_im; \
sincosf(3.f*PHASE, &exp_i3phase_im, &exp_i3phase_re); \
float A_re, A_im; \
COMPLEX_PRODUCT(A, exp_i3phase, gauge##20); \
gauge##20_re = A_re; \
gauge##20_im = A_im; \
COMPLEX_PRODUCT(A, exp_i3phase, gauge##21); \
gauge##21_re = A_re; \
gauge##21_im = A_im; \
COMPLEX_PRODUCT(A, exp_i3phase, gauge##22); \
gauge##22_re = A_re; \
gauge##22_im = A_im; \
}
#define RECONSTRUCT_GAUGE_MATRIX_12_SINGLE(dir, gauge, idx, sign)
Definition: read_gauge.h:479
#define COMPLEX_PRODUCT(a, b, c)
Definition: read_gauge.h:8
void * gauge[4]
Definition: su3_test.cpp:15

Definition at line 502 of file read_gauge.h.

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

Definition at line 538 of file read_gauge.h.

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

Definition at line 577 of file read_gauge.h.

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

Definition at line 653 of file read_gauge.h.

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

Definition at line 618 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;
#define do_boundary
Definition: read_gauge.h:368
#define ACC_CONJ_PROD(a, b, c)
Definition: read_gauge.h:39
__constant__ double anisotropy
__constant__ double t_boundary

Definition at line 373 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;
__constant__ float t_boundary_f
#define do_boundary
Definition: read_gauge.h:368
#define ACC_CONJ_PROD(a, b, c)
Definition: read_gauge.h:39
__constant__ float anisotropy_f
float4 G4
float4 G3

Definition at line 383 of file read_gauge.h.

#define RECONSTRUCT_MATRIX_18_DOUBLE (   dir)

Definition at line 364 of file read_gauge.h.

#define RECONSTRUCT_MATRIX_18_SINGLE (   dir)

Definition at line 365 of file read_gauge.h.

#define RECONSTRUCT_MATRIX_8_DOUBLE (   dir)

Definition at line 393 of file read_gauge.h.

#define RECONSTRUCT_MATRIX_8_SINGLE (   dir)

Definition at line 434 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;
int y[4]
int x[4]

Definition at line 355 of file read_gauge.h.