QUDA
1.0.0
|
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <complex>
#include <util_quda.h>
#include <test_util.h>
#include <wilson_dslash_reference.h>
#include <blas_reference.h>
Go to the source code of this file.
Functions | |
template<typename sFloat , typename cFloat > | |
void | cloverReference (sFloat *out, cFloat *clover, sFloat *in, int parity) |
Apply the clover matrix field. More... | |
void | apply_clover (void *out, void *clover, void *in, int parity, QudaPrecision precision) |
void | clover_dslash (void *out, void **gauge, void *clover, void *in, int parity, int dagger, QudaPrecision precision, QudaGaugeParam ¶m) |
void | clover_matpc (void *out, void **gauge, void *clover, void *clover_inv, void *in, double kappa, QudaMatPCType matpc_type, int dagger, QudaPrecision precision, QudaGaugeParam &gauge_param) |
void | clover_mat (void *out, void **gauge, void *clover, void *in, double kappa, int dagger, QudaPrecision precision, QudaGaugeParam &gauge_param) |
void | applyTwist (void *out, void *in, void *tmpH, double a, QudaPrecision precision) |
void | twistCloverGamma5 (void *out, void *in, void *clover, void *cInv, const int dagger, const double kappa, const double mu, const QudaTwistFlavorType flavor, const int parity, QudaTwistGamma5Type twist, QudaPrecision precision) |
void | tmc_dslash (void *out, void **gauge, void *in, void *clover, void *cInv, double kappa, double mu, QudaTwistFlavorType flavor, int parity, QudaMatPCType matpc_type, int dagger, QudaPrecision precision, QudaGaugeParam ¶m) |
void | tmc_mat (void *out, void **gauge, void *clover, void *in, double kappa, double mu, QudaTwistFlavorType flavor, int dagger, QudaPrecision precision, QudaGaugeParam &gauge_param) |
void | tmc_matpc (void *out, void **gauge, void *in, void *clover, void *cInv, double kappa, double mu, QudaTwistFlavorType flavor, QudaMatPCType matpc_type, int dagger, QudaPrecision precision, QudaGaugeParam &gauge_param) |
void apply_clover | ( | void * | out, |
void * | clover, | ||
void * | in, | ||
int | parity, | ||
QudaPrecision | precision | ||
) |
Definition at line 66 of file clover_reference.cpp.
References cloverReference(), errorQuda, QUDA_DOUBLE_PRECISION, and QUDA_SINGLE_PRECISION.
Referenced by clover_dslash(), clover_mat(), clover_matpc(), and twistCloverGamma5().
void applyTwist | ( | void * | out, |
void * | in, | ||
void * | tmpH, | ||
double | a, | ||
QudaPrecision | precision | ||
) |
Definition at line 175 of file clover_reference.cpp.
References errorQuda, QUDA_DOUBLE_PRECISION, QUDA_SINGLE_PRECISION, quda::s, and Vh.
Referenced by twistCloverGamma5().
void clover_dslash | ( | void * | out, |
void ** | gauge, | ||
void * | clover, | ||
void * | in, | ||
int | parity, | ||
int | dagger, | ||
QudaPrecision | precision, | ||
QudaGaugeParam & | param | ||
) |
Definition at line 81 of file clover_reference.cpp.
References apply_clover(), spinorSiteSize, tmp, Vh, and wil_dslash().
Referenced by dslashRef().
void clover_mat | ( | void * | out, |
void ** | gauge, | ||
void * | clover, | ||
void * | in, | ||
double | kappa, | ||
int | dagger, | ||
QudaPrecision | precision, | ||
QudaGaugeParam & | gauge_param | ||
) |
Definition at line 149 of file clover_reference.cpp.
References apply_clover(), in, out, spinorSiteSize, tmp, V, Vh, wil_dslash(), and quda::blas::xpay().
Referenced by dslashRef(), and main().
void clover_matpc | ( | void * | out, |
void ** | gauge, | ||
void * | clover, | ||
void * | clover_inv, | ||
void * | in, | ||
double | kappa, | ||
QudaMatPCType | matpc_type, | ||
int | dagger, | ||
QudaPrecision | precision, | ||
QudaGaugeParam & | gauge_param | ||
) |
Definition at line 92 of file clover_reference.cpp.
References apply_clover(), errorQuda, kappa, QUDA_MATPC_EVEN_EVEN, QUDA_MATPC_EVEN_EVEN_ASYMMETRIC, QUDA_MATPC_ODD_ODD, QUDA_MATPC_ODD_ODD_ASYMMETRIC, spinorSiteSize, tmp, Vh, wil_dslash(), and quda::blas::xpay().
Referenced by dslashRef(), and main().
void cloverReference | ( | sFloat * | out, |
cFloat * | clover, | ||
sFloat * | in, | ||
int | parity | ||
) |
Apply the clover matrix field.
[out] | out | Result field (single parity) |
[in] | clover | Clover-matrix field (full field) |
[in] | in | Input field (single parity) |
[in] | parity | Parity to which we are applying the clover field |
Definition at line 20 of file clover_reference.cpp.
References conj(), nColor, and Vh.
Referenced by apply_clover().
void tmc_dslash | ( | void * | out, |
void ** | gauge, | ||
void * | in, | ||
void * | clover, | ||
void * | cInv, | ||
double | kappa, | ||
double | mu, | ||
QudaTwistFlavorType | flavor, | ||
int | parity, | ||
QudaMatPCType | matpc_type, | ||
int | dagger, | ||
QudaPrecision | precision, | ||
QudaGaugeParam & | param | ||
) |
Definition at line 234 of file clover_reference.cpp.
References QUDA_MATPC_EVEN_EVEN_ASYMMETRIC, QUDA_MATPC_ODD_ODD_ASYMMETRIC, QUDA_TWIST_GAMMA5_INVERSE, spinorSiteSize, tmp1, tmp2, twistCloverGamma5(), Vh, and wil_dslash().
Referenced by dslashRef().
void tmc_mat | ( | void * | out, |
void ** | gauge, | ||
void * | clover, | ||
void * | in, | ||
double | kappa, | ||
double | mu, | ||
QudaTwistFlavorType | flavor, | ||
int | dagger, | ||
QudaPrecision | precision, | ||
QudaGaugeParam & | gauge_param | ||
) |
Definition at line 257 of file clover_reference.cpp.
References in, out, QUDA_TWIST_GAMMA5_DIRECT, spinorSiteSize, tmp, twistCloverGamma5(), V, Vh, wil_dslash(), and quda::blas::xpay().
Referenced by dslashRef(), and main().
void tmc_matpc | ( | void * | out, |
void ** | gauge, | ||
void * | in, | ||
void * | clover, | ||
void * | cInv, | ||
double | kappa, | ||
double | mu, | ||
QudaTwistFlavorType | flavor, | ||
QudaMatPCType | matpc_type, | ||
int | dagger, | ||
QudaPrecision | precision, | ||
QudaGaugeParam & | gauge_param | ||
) |
Definition at line 284 of file clover_reference.cpp.
References errorQuda, kappa, QUDA_MATPC_EVEN_EVEN, QUDA_MATPC_EVEN_EVEN_ASYMMETRIC, QUDA_MATPC_ODD_ODD, QUDA_MATPC_ODD_ODD_ASYMMETRIC, QUDA_TWIST_GAMMA5_DIRECT, QUDA_TWIST_GAMMA5_INVERSE, spinorSiteSize, tmp1, tmp2, twistCloverGamma5(), Vh, wil_dslash(), and quda::blas::xpay().
Referenced by dslashRef(), and main().
void twistCloverGamma5 | ( | void * | out, |
void * | in, | ||
void * | clover, | ||
void * | cInv, | ||
const int | dagger, | ||
const double | kappa, | ||
const double | mu, | ||
const QudaTwistFlavorType | flavor, | ||
const int | parity, | ||
QudaTwistGamma5Type | twist, | ||
QudaPrecision | precision | ||
) |
Definition at line 203 of file clover_reference.cpp.
References apply_clover(), applyTwist(), QUDA_TWIST_GAMMA5_DIRECT, QUDA_TWIST_GAMMA5_INVERSE, spinorSiteSize, tmp1, tmp2, and Vh.
Referenced by tmc_dslash(), tmc_mat(), and tmc_matpc().