QUDA  v1.1.0
A library for QCD on GPUs
Classes | Macros | Functions | Variables
gauge_force_reference.cpp File Reference
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <type_traits>
#include "quda.h"
#include "gauge_field.h"
#include "host_utils.h"
#include "misc.h"
#include "gauge_force_reference.h"

Go to the source code of this file.

Classes

struct  fcomplex
 
struct  dcomplex
 
struct  fsu3_matrix
 
struct  fsu3_vector
 
struct  dsu3_matrix
 
struct  dsu3_vector
 
struct  fanti_hermitmat
 
struct  danti_hermitmat
 

Macros

#define CADD(a, b, c)
 
#define CMUL(a, b, c)
 
#define CSUM(a, b)
 
#define CMULJ_(a, b, c)
 
#define CMUL_J(a, b, c)
 
#define CONJG(a, b)
 

Functions

int neighborIndexFullLattice (int i, int dx4, int dx3, int dx2, int dx1)
 
template<typename su3_matrix >
void su3_adjoint (su3_matrix *a, su3_matrix *b)
 
template<typename su3_matrix , typename anti_hermitmat >
void make_anti_hermitian (su3_matrix *m3, anti_hermitmat *ah3)
 
template<typename su3_matrix >
void print_su3_matrix (su3_matrix *a)
 
int gf_neighborIndexFullLattice (int i, int dx4, int dx3, int dx2, int dx1)
 
void gauge_force_reference_dir (void *refMom, int dir, double eb3, void **sitelink, void **sitelink_ex_2d, QudaPrecision prec, int **path_dir, int *length, void *loop_coeff, int num_paths)
 
void gauge_force_reference (void *refMom, double eb3, void **sitelink, QudaPrecision prec, int ***path_dir, int *length, void *loop_coeff, int num_paths)
 

Variables

int Z [4]
 
int V
 
int Vh
 
int Vh_ex
 
int E [4]
 

Macro Definition Documentation

◆ CADD

#define CADD (   a,
  b,
 
)
Value:
{ \
(c).real = (a).real + (b).real; \
(c).imag = (a).imag + (b).imag; \
}

Definition at line 19 of file gauge_force_reference.cpp.

◆ CMUL

#define CMUL (   a,
  b,
 
)
Value:
{ \
(c).real = (a).real * (b).real - (a).imag * (b).imag; \
(c).imag = (a).real * (b).imag + (a).imag * (b).real; \
}

Definition at line 24 of file gauge_force_reference.cpp.

◆ CMUL_J

#define CMUL_J (   a,
  b,
 
)
Value:
{ \
(c).real = (a).real * (b).real + (a).imag * (b).imag; \
(c).imag = (a).imag * (b).real - (a).real * (b).imag; \
}

Definition at line 43 of file gauge_force_reference.cpp.

◆ CMULJ_

#define CMULJ_ (   a,
  b,
 
)
Value:
{ \
(c).real = (a).real * (b).real + (a).imag * (b).imag; \
(c).imag = (a).real * (b).imag - (a).imag * (b).real; \
}

Definition at line 36 of file gauge_force_reference.cpp.

◆ CONJG

#define CONJG (   a,
 
)
Value:
{ \
(b).real = (a).real; \
(b).imag = -(a).imag; \
}

Definition at line 49 of file gauge_force_reference.cpp.

◆ CSUM

#define CSUM (   a,
 
)
Value:
{ \
(a).real += (b).real; \
(a).imag += (b).imag; \
}

Definition at line 29 of file gauge_force_reference.cpp.

Function Documentation

◆ gauge_force_reference()

void gauge_force_reference ( void *  refMom,
double  eb3,
void **  sitelink,
QudaPrecision  prec,
int ***  path_dir,
int *  length,
void *  loop_coeff,
int  num_paths 
)

Definition at line 381 of file gauge_force_reference.cpp.

◆ gauge_force_reference_dir()

void gauge_force_reference_dir ( void *  refMom,
int  dir,
double  eb3,
void **  sitelink,
void **  sitelink_ex_2d,
QudaPrecision  prec,
int **  path_dir,
int *  length,
void *  loop_coeff,
int  num_paths 
)

Definition at line 346 of file gauge_force_reference.cpp.

◆ gf_neighborIndexFullLattice()

int gf_neighborIndexFullLattice ( int  i,
int  dx4,
int  dx3,
int  dx2,
int  dx1 
)

Definition at line 216 of file gauge_force_reference.cpp.

◆ make_anti_hermitian()

template<typename su3_matrix , typename anti_hermitmat >
void make_anti_hermitian ( su3_matrix m3,
anti_hermitmat *  ah3 
)

Definition at line 100 of file gauge_force_reference.cpp.

◆ neighborIndexFullLattice()

int neighborIndexFullLattice ( int  i,
int  dx4,
int  dx3,
int  dx2,
int  dx1 
)

Definition at line 490 of file host_utils.cpp.

◆ print_su3_matrix()

template<typename su3_matrix >
void print_su3_matrix ( su3_matrix a)

Definition at line 208 of file gauge_force_reference.cpp.

◆ su3_adjoint()

template<typename su3_matrix >
void su3_adjoint ( su3_matrix a,
su3_matrix b 
)

Definition at line 93 of file gauge_force_reference.cpp.

Variable Documentation

◆ E

int E[4]
extern

Definition at line 45 of file host_utils.cpp.

◆ V

int V
extern

Definition at line 37 of file host_utils.cpp.

◆ Vh

int Vh
extern

Definition at line 38 of file host_utils.cpp.

◆ Vh_ex

int Vh_ex
extern

Definition at line 46 of file host_utils.cpp.

◆ Z

int Z[4]
extern

Definition at line 36 of file host_utils.cpp.