QUDA  0.9.0
Macros
read_gauge.h File Reference
This graph shows which files directly or indirectly include this file:

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 RESCALE4(G, max)
 
#define RECONSTRUCT_MATRIX_18_DOUBLE(dir)
 
#define RECONSTRUCT_MATRIX_18_SINGLE(dir)
 
#define do_boundary   ga_idx >= param.dc.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

◆ ACC_COMPLEX_PROD

#define ACC_COMPLEX_PROD (   a,
  b,
  c 
)
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
#define b
const void * c
#define a

Definition at line 32 of file read_gauge.h.

◆ ACC_CONJ_PROD

#define ACC_CONJ_PROD (   a,
  b,
  c 
)
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
#define b
const void * c
#define a

Definition at line 39 of file read_gauge.h.

◆ ASSN_GAUGE_MATRIX_12_DOUBLE2

#define ASSN_GAUGE_MATRIX_12_DOUBLE2 (   G,
  gauge_,
  dir,
  idx,
  stride 
)
Value:
double2 *gauge = (double2*)gauge_; \
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 306 of file read_gauge.h.

◆ ASSN_GAUGE_MATRIX_12_DOUBLE2_TEX

#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:88

Definition at line 802 of file read_gauge.h.

◆ ASSN_GAUGE_MATRIX_12_FLOAT4

#define ASSN_GAUGE_MATRIX_12_FLOAT4 (   G,
  gauge_,
  dir,
  idx,
  stride 
)
Value:
float4 *gauge = (float4*)gauge_; \
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 318 of file read_gauge.h.

◆ ASSN_GAUGE_MATRIX_12_FLOAT4_TEX

#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);
#define TEX1DFETCH(type, tex, idx)

Definition at line 237 of file read_gauge.h.

◆ ASSN_GAUGE_MATRIX_12_SHORT4

#define ASSN_GAUGE_MATRIX_12_SHORT4 (   G,
  gauge_,
  dir,
  idx,
  stride 
)
Value:
short4 *gauge = (short4*)gauge_; \
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 326 of file read_gauge.h.

◆ ASSN_GAUGE_MATRIX_12_SHORT4_TEX

#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);
#define TEX1DFETCH(type, tex, idx)

Definition at line 244 of file read_gauge.h.

◆ ASSN_GAUGE_MATRIX_18_DOUBLE2

#define ASSN_GAUGE_MATRIX_18_DOUBLE2 (   G,
  gauge_,
  dir,
  idx,
  stride 
)
Value:
double2 *gauge = (double2*)gauge_; \
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 270 of file read_gauge.h.

◆ ASSN_GAUGE_MATRIX_18_DOUBLE2_TEX

#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:88

For DW only

Definition at line 791 of file read_gauge.h.

◆ ASSN_GAUGE_MATRIX_18_FLOAT2

#define ASSN_GAUGE_MATRIX_18_FLOAT2 (   G,
  gauge_,
  dir,
  idx,
  stride 
)
Value:
float2 *gauge = (float2*)gauge_; \
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 282 of file read_gauge.h.

◆ ASSN_GAUGE_MATRIX_18_FLOAT2_TEX

#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); \
#define TEX1DFETCH(type, tex, idx)

-—For DW only-—!

Definition at line 215 of file read_gauge.h.

◆ ASSN_GAUGE_MATRIX_18_SHORT2

#define ASSN_GAUGE_MATRIX_18_SHORT2 (   G,
  gauge_,
  dir,
  idx,
  stride 
)
Value:
short2 *gauge = (short2*)gauge_; \
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 294 of file read_gauge.h.

◆ ASSN_GAUGE_MATRIX_18_SHORT2_TEX

#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); \
#define TEX1DFETCH(type, tex, idx)

Definition at line 226 of file read_gauge.h.

◆ ASSN_GAUGE_MATRIX_8_DOUBLE2

#define ASSN_GAUGE_MATRIX_8_DOUBLE2 (   G,
  gauge_,
  dir,
  idx,
  stride 
)
Value:
double2 *gauge = (double2*)gauge_; \
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 335 of file read_gauge.h.

◆ ASSN_GAUGE_MATRIX_8_DOUBLE2_TEX

#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;
__inline__ __device__ double2 fetch_double2(texture< int4, 1 > t, int i)
Definition: texture.h:88

Definition at line 814 of file read_gauge.h.

◆ ASSN_GAUGE_MATRIX_8_FLOAT4

#define ASSN_GAUGE_MATRIX_8_FLOAT4 (   G,
  gauge_,
  dir,
  idx,
  stride 
)
Value:
float4 *gauge = (float4*)gauge_; \
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;
int int int w

Definition at line 350 of file read_gauge.h.

◆ ASSN_GAUGE_MATRIX_8_FLOAT4_TEX

#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;
int int int w
#define TEX1DFETCH(type, tex, idx)

Definition at line 252 of file read_gauge.h.

◆ ASSN_GAUGE_MATRIX_8_SHORT4

#define ASSN_GAUGE_MATRIX_8_SHORT4 (   G,
  gauge_,
  dir,
  idx,
  stride 
)
Value:
short4 *gauge = (short4*)gauge_; \
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 = M_PI*(G##0).x; \
(G##3).w = (G##0).y = M_PI*(G##0).y;
int int int w

Definition at line 360 of file read_gauge.h.

◆ ASSN_GAUGE_MATRIX_8_SHORT4_TEX

#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 = M_PI*(G##0).x; \
(G##3).w = (G##0).y = M_PI*(G##0).y;
int int int w
#define TEX1DFETCH(type, tex, idx)

Definition at line 261 of file read_gauge.h.

◆ COMPLEX_ADD_TO

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

Definition at line 4 of file read_gauge.h.

◆ COMPLEX_CONJUGATE_PRODUCT

#define COMPLEX_CONJUGATE_PRODUCT (   a,
  b,
  c 
)
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
#define b
const void * c
#define a

Definition at line 14 of file read_gauge.h.

◆ COMPLEX_DOT_PRODUCT

#define COMPLEX_DOT_PRODUCT (   a,
  b,
  c 
)
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
#define b
const void * c
#define a

Definition at line 21 of file read_gauge.h.

◆ COMPLEX_NORM

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

Definition at line 28 of file read_gauge.h.

◆ COMPLEX_PRODUCT

#define COMPLEX_PRODUCT (   a,
  b,
  c 
)
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
#define b
const void * c
#define a

Definition at line 8 of file read_gauge.h.

◆ do_boundary

#define do_boundary   ga_idx >= param.dc.X4X3X2X1hmX3X2X1h

Definition at line 396 of file read_gauge.h.

◆ READ_GAUGE_MATRIX_12_DOUBLE2

#define READ_GAUGE_MATRIX_12_DOUBLE2 (   G,
  gauge_,
  dir,
  idx,
  stride 
)
Value:
double2 *gauge = (double2*)gauge_; \
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 136 of file read_gauge.h.

◆ READ_GAUGE_MATRIX_12_DOUBLE2_TEX

#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:88

Definition at line 751 of file read_gauge.h.

◆ READ_GAUGE_MATRIX_12_FLOAT4

#define READ_GAUGE_MATRIX_12_FLOAT4 (   G,
  gauge_,
  dir,
  idx,
  stride 
)
Value:
float4 *gauge = (float4*)gauge_; \
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 148 of file read_gauge.h.

◆ READ_GAUGE_MATRIX_12_FLOAT4_TEX

#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);
#define TEX1DFETCH(type, tex, idx)

Definition at line 67 of file read_gauge.h.

◆ READ_GAUGE_MATRIX_12_SHORT4

#define READ_GAUGE_MATRIX_12_SHORT4 (   G,
  gauge_,
  dir,
  idx,
  stride 
)
Value:
short4 *gauge = (short4*)gauge_; \
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 156 of file read_gauge.h.

◆ READ_GAUGE_MATRIX_12_SHORT4_TEX

#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);
#define TEX1DFETCH(type, tex, idx)

Definition at line 74 of file read_gauge.h.

◆ READ_GAUGE_MATRIX_18_DOUBLE2

#define READ_GAUGE_MATRIX_18_DOUBLE2 (   G,
  gauge_,
  dir,
  idx,
  stride 
)
Value:
double2 *gauge = (double2*)gauge_; \
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.

◆ READ_GAUGE_MATRIX_18_DOUBLE2_TEX

#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:88

Definition at line 740 of file read_gauge.h.

◆ READ_GAUGE_MATRIX_18_FLOAT2

#define READ_GAUGE_MATRIX_18_FLOAT2 (   G,
  gauge_,
  dir,
  idx,
  stride 
)
Value:
float2 *gauge = (float2*)gauge_; \
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 112 of file read_gauge.h.

◆ READ_GAUGE_MATRIX_18_FLOAT2_TEX

#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); \
#define TEX1DFETCH(type, tex, idx)

Definition at line 45 of file read_gauge.h.

◆ READ_GAUGE_MATRIX_18_SHORT2

#define READ_GAUGE_MATRIX_18_SHORT2 (   G,
  gauge_,
  dir,
  idx,
  stride 
)
Value:
short2 *gauge = (short2*)gauge_; \
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 124 of file read_gauge.h.

◆ READ_GAUGE_MATRIX_18_SHORT2_TEX

#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); \
#define TEX1DFETCH(type, tex, idx)

Definition at line 56 of file read_gauge.h.

◆ READ_GAUGE_MATRIX_8_DOUBLE2

#define READ_GAUGE_MATRIX_8_DOUBLE2 (   G,
  gauge_,
  dir,
  idx,
  stride 
)
Value:
double2 *gauge = (double2*)gauge_; \
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 165 of file read_gauge.h.

◆ READ_GAUGE_MATRIX_8_DOUBLE2_TEX

#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;
__inline__ __device__ double2 fetch_double2(texture< int4, 1 > t, int i)
Definition: texture.h:88

Definition at line 763 of file read_gauge.h.

◆ READ_GAUGE_MATRIX_8_FLOAT4

#define READ_GAUGE_MATRIX_8_FLOAT4 (   G,
  gauge_,
  dir,
  idx,
  stride 
)
Value:
float4 *gauge = (float4*)gauge_; \
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;
int int int w

Definition at line 180 of file read_gauge.h.

◆ READ_GAUGE_MATRIX_8_FLOAT4_TEX

#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;
int int int w
#define TEX1DFETCH(type, tex, idx)

Definition at line 82 of file read_gauge.h.

◆ READ_GAUGE_MATRIX_8_SHORT4

#define READ_GAUGE_MATRIX_8_SHORT4 (   G,
  gauge_,
  dir,
  idx,
  stride 
)
Value:
short4 *gauge = (short4*)gauge_; \
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 = M_PI*(G##0).x; \
(G##3).w = (G##0).y = M_PI*(G##0).y;
int int int w

Definition at line 190 of file read_gauge.h.

◆ READ_GAUGE_MATRIX_8_SHORT4_TEX

#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 = M_PI*(G##0).x; \
(G##3).w = (G##0).y = M_PI*(G##0).y;
int int int w
#define TEX1DFETCH(type, tex, idx)

Definition at line 91 of file read_gauge.h.

◆ READ_GAUGE_PHASE_DOUBLE

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

Definition at line 201 of file read_gauge.h.

◆ READ_GAUGE_PHASE_DOUBLE_TEX

#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:86

Definition at line 785 of file read_gauge.h.

◆ READ_GAUGE_PHASE_FLOAT

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

Definition at line 205 of file read_gauge.h.

◆ READ_GAUGE_PHASE_FLOAT_TEX

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

Definition at line 779 of file read_gauge.h.

◆ READ_GAUGE_PHASE_SHORT

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

Definition at line 209 of file read_gauge.h.

◆ READ_GAUGE_PHASE_SHORT_TEX

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

Definition at line 783 of file read_gauge.h.

◆ RECONSTRUCT_GAUGE_MATRIX_12_DOUBLE

#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 = param.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;}
QudaGaugeParam param
Definition: pack_test.cpp:17
#define ACC_CONJ_PROD(a, b, c)
Definition: read_gauge.h:39

Definition at line 518 of file read_gauge.h.

◆ RECONSTRUCT_GAUGE_MATRIX_12_SINGLE

#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 = param.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;}
QudaGaugeParam param
Definition: pack_test.cpp:17
#define ACC_CONJ_PROD(a, b, c)
Definition: read_gauge.h:39

Definition at line 507 of file read_gauge.h.

◆ RECONSTRUCT_GAUGE_MATRIX_13_DOUBLE

#define RECONSTRUCT_GAUGE_MATRIX_13_DOUBLE (   dir,
  gauge,
  idx,
  sign 
)
Value:
{ \
RECONSTRUCT_GAUGE_MATRIX_12_DOUBLE(dir, gauge, idx, sign) \
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; \
}

Definition at line 547 of file read_gauge.h.

◆ RECONSTRUCT_GAUGE_MATRIX_13_SINGLE

#define RECONSTRUCT_GAUGE_MATRIX_13_SINGLE (   dir,
  gauge,
  idx,
  sign 
)
Value:
{ \
RECONSTRUCT_GAUGE_MATRIX_12_SINGLE(dir, gauge, idx, sign) \
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; \
}
int int int enum cudaChannelFormatKind f

Definition at line 530 of file read_gauge.h.

◆ RECONSTRUCT_GAUGE_MATRIX_8_DOUBLE

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

Definition at line 566 of file read_gauge.h.

◆ RECONSTRUCT_GAUGE_MATRIX_8_SINGLE

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

Definition at line 605 of file read_gauge.h.

◆ RECONSTRUCT_GAUGE_MATRIX_9_DOUBLE

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

Definition at line 681 of file read_gauge.h.

◆ RECONSTRUCT_GAUGE_MATRIX_9_SINGLE

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

Definition at line 646 of file read_gauge.h.

◆ RECONSTRUCT_MATRIX_12_DOUBLE

#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 ? param.anisotropy : (do_boundary ? param.t_boundary : 1)); \
G6.x*=u0; G6.y*=u0; G7.x*=u0; G7.y*=u0; G8.x*=u0; G8.y*=u0;
double anisotropy
Definition: quda.h:31
#define do_boundary
Definition: read_gauge.h:396
QudaGaugeParam param
Definition: pack_test.cpp:17
#define ACC_CONJ_PROD(a, b, c)
Definition: read_gauge.h:39
QudaTboundary t_boundary
Definition: quda.h:38

Definition at line 401 of file read_gauge.h.

◆ RECONSTRUCT_MATRIX_12_SINGLE

#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 ? param.anisotropy_f : (do_boundary ? param.t_boundary_f : 1)); \
G3.x*=u0; G3.y*=u0; G3.z*=u0; G3.w*=u0; G4.x*=u0; G4.y*=u0;
#define do_boundary
Definition: read_gauge.h:396
QudaGaugeParam param
Definition: pack_test.cpp:17
#define ACC_CONJ_PROD(a, b, c)
Definition: read_gauge.h:39
float4 G4
float4 G3

Definition at line 411 of file read_gauge.h.

◆ RECONSTRUCT_MATRIX_18_DOUBLE

#define RECONSTRUCT_MATRIX_18_DOUBLE (   dir)

Definition at line 392 of file read_gauge.h.

◆ RECONSTRUCT_MATRIX_18_SINGLE

#define RECONSTRUCT_MATRIX_18_SINGLE (   dir)

Definition at line 393 of file read_gauge.h.

◆ RECONSTRUCT_MATRIX_8_DOUBLE

#define RECONSTRUCT_MATRIX_8_DOUBLE (   dir)

Definition at line 421 of file read_gauge.h.

◆ RECONSTRUCT_MATRIX_8_SINGLE

#define RECONSTRUCT_MATRIX_8_SINGLE (   dir)

Definition at line 462 of file read_gauge.h.

◆ RESCALE2

#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 373 of file read_gauge.h.

◆ RESCALE4

#define RESCALE4 (   G,
  max 
)
Value:
(G##0).x *= max; (G##0).y *= max; (G##0).z *= max; (G##0).w *= max; \
(G##1).x *= max; (G##1).y *= max; (G##1).z *= max; (G##1).w *= max; \
(G##2).x *= max; (G##2).y *= max; (G##2).z *= max; (G##2).w *= max; \
(G##3).x *= max; (G##3).y *= max; (G##3).z *= max; (G##3).w *= max; \
(G##4).x *= max; (G##4).y *= max;
int int int w

Definition at line 380 of file read_gauge.h.