QUDA  v0.7.0
A library for QCD on GPUs
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Macros | Functions | Variables
hisq_force_reference.cpp File Reference
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include "quda.h"
#include "test_util.h"
#include "misc.h"
#include "hisq_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
 
struct  fhalf_wilson_vector
 
struct  dhalf_wilson_vector
 

Macros

#define CADD(a, b, c)
 
#define CMUL(a, b, c)
 
#define CSUM(a, b)   { (a).real += (b).real; (a).imag += (b).imag; }
 
#define CMULJ_(a, b, c)
 
#define CMUL_J(a, b, c)
 
#define CONJG(a, b)   { (b).real = (a).real; (b).imag = -(a).imag; }
 
#define Pmu   tempmat[0]
 
#define Pnumu   tempmat[1]
 
#define Prhonumu   tempmat[2]
 
#define P7   tempmat[3]
 
#define P7rho   tempmat[4]
 
#define P5   tempmat[5]
 
#define P3   tempmat[6]
 
#define P5nu   tempmat[3]
 
#define P3mu   tempmat[3]
 
#define Popmu   tempmat[4]
 
#define Pmumumu   tempmat[4]
 
#define Qmu   tempmat[7]
 
#define Qnumu   tempmat[8]
 
#define Qrhonumu   tempmat[2]
 

Functions

template<typename su3_matrix >
su3_matrix * get_su3_matrix (int gauge_order, su3_matrix *p, int idx, int dir)
 
void computeLinkOrderedOuterProduct (void *src, void *dst, QudaPrecision precision, int gauge_order)
 
void computeLinkOrderedOuterProduct (void *src, void *dst, QudaPrecision precision, size_t nhops, int gauge_order)
 
void computeHisqOuterProduct (void *src, void *dest, QudaPrecision precision)
 
template<typename Real , typename su3_matrix , typename anti_hermitmat >
void do_color_matrix_hisq_force_reference (Real eps, Real weight, su3_matrix *temp_xx, Real *act_path_coeff, su3_matrix *sitelink, anti_hermitmat *mom)
 
template<typename Real , typename su3_matrix , typename anti_hermitmat , typename half_wilson_vector >
void do_halfwilson_hisq_force_reference (Real eps, Real weight, half_wilson_vector *temp_x, Real *act_path_coeff, su3_matrix *sitelink, anti_hermitmat *mom)
 
void halfwilson_hisq_force_reference (float eps, float weight, void *act_path_coeff, void *temp_x, void *sitelink, void *mom)
 
void halfwilson_hisq_force_reference (double eps, double weight, void *act_path_coeff, void *temp_x, void *sitelink, void *mom)
 
void color_matrix_hisq_force_reference (float eps, float weight, void *act_path_coeff, void *temp_xx, void *sitelink, void *mom)
 

Variables

int Z [4]
 
int V
 
int Vh
 

Macro Definition Documentation

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

Definition at line 16 of file hisq_force_reference.cpp.

#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 18 of file hisq_force_reference.cpp.

#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 27 of file hisq_force_reference.cpp.

#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 23 of file hisq_force_reference.cpp.

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

Definition at line 30 of file hisq_force_reference.cpp.

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

Definition at line 20 of file hisq_force_reference.cpp.

#define P3   tempmat[6]

Definition at line 715 of file hisq_force_reference.cpp.

#define P3mu   tempmat[3]

Definition at line 717 of file hisq_force_reference.cpp.

#define P5   tempmat[5]

Definition at line 714 of file hisq_force_reference.cpp.

#define P5nu   tempmat[3]

Definition at line 716 of file hisq_force_reference.cpp.

#define P7   tempmat[3]

Definition at line 712 of file hisq_force_reference.cpp.

#define P7rho   tempmat[4]

Definition at line 713 of file hisq_force_reference.cpp.

#define Pmu   tempmat[0]

Definition at line 709 of file hisq_force_reference.cpp.

#define Pmumumu   tempmat[4]

Definition at line 719 of file hisq_force_reference.cpp.

#define Pnumu   tempmat[1]

Definition at line 710 of file hisq_force_reference.cpp.

#define Popmu   tempmat[4]

Definition at line 718 of file hisq_force_reference.cpp.

#define Prhonumu   tempmat[2]

Definition at line 711 of file hisq_force_reference.cpp.

#define Qmu   tempmat[7]

Definition at line 721 of file hisq_force_reference.cpp.

#define Qnumu   tempmat[8]

Definition at line 722 of file hisq_force_reference.cpp.

#define Qrhonumu   tempmat[2]

Definition at line 723 of file hisq_force_reference.cpp.

Function Documentation

void color_matrix_hisq_force_reference ( float  eps,
float  weight,
void *  act_path_coeff,
void *  temp_xx,
void *  sitelink,
void *  mom 
)

Definition at line 1163 of file hisq_force_reference.cpp.

void computeHisqOuterProduct ( void *  src,
void *  dest,
QudaPrecision  precision 
)

Definition at line 513 of file hisq_force_reference.cpp.

void computeLinkOrderedOuterProduct ( void *  src,
void *  dst,
QudaPrecision  precision,
int  gauge_order 
)

Definition at line 476 of file hisq_force_reference.cpp.

void computeLinkOrderedOuterProduct ( void *  src,
void *  dst,
QudaPrecision  precision,
size_t  nhops,
int  gauge_order 
)

Definition at line 486 of file hisq_force_reference.cpp.

template<typename Real , typename su3_matrix , typename anti_hermitmat >
void do_color_matrix_hisq_force_reference ( Real  eps,
Real  weight,
su3_matrix *  temp_xx,
Real *  act_path_coeff,
su3_matrix *  sitelink,
anti_hermitmat *  mom 
)

Definition at line 751 of file hisq_force_reference.cpp.

template<typename Real , typename su3_matrix , typename anti_hermitmat , typename half_wilson_vector >
void do_halfwilson_hisq_force_reference ( Real  eps,
Real  weight,
half_wilson_vector *  temp_x,
Real *  act_path_coeff,
su3_matrix *  sitelink,
anti_hermitmat *  mom 
)

Definition at line 937 of file hisq_force_reference.cpp.

template<typename su3_matrix >
su3_matrix* get_su3_matrix ( int  gauge_order,
su3_matrix *  p,
int  idx,
int  dir 
)

Definition at line 65 of file hisq_force_reference.cpp.

void halfwilson_hisq_force_reference ( float  eps,
float  weight,
void *  act_path_coeff,
void *  temp_x,
void *  sitelink,
void *  mom 
)

Definition at line 1139 of file hisq_force_reference.cpp.

void halfwilson_hisq_force_reference ( double  eps,
double  weight,
void *  act_path_coeff,
void *  temp_x,
void *  sitelink,
void *  mom 
)

Definition at line 1151 of file hisq_force_reference.cpp.

Variable Documentation

int V

Definition at line 29 of file test_util.cpp.

int Vh

Definition at line 152 of file dslash_constants.h.

int Z[4]

Definition at line 28 of file test_util.cpp.