QUDA v0.3.2
A library for QCD on GPUs

quda/tests/staggered_dslash_reference.h

Go to the documentation of this file.
00001 
00002 #ifndef _STAGGERED_QUDA_DSLASH_REF_H
00003 #define _STAGGERED_QUDA_DSLASH_REF_H
00004 #include <blas_reference.h>
00005 #include <quda_internal.h>
00006 
00007 #ifdef __cplusplus
00008 extern "C" {
00009 #endif
00010     
00011     extern int Z[4];
00012     extern int Vh;
00013     extern int V;
00014 
00015     typedef enum MyQudaParity_s {
00016         QUDA_EVEN,
00017         QUDA_ODD,
00018         QUDA_EVENODD
00019     } MyQudaParity;
00020 
00021     
00022     void setDims(int *);
00023     
00024     void staggered_dslash(void *res, void ** fatlink, void** longlink, void *spinorField,
00025                 int oddBit, int daggerBit, QudaPrecision sPrecision, QudaPrecision gPrecision);
00026     
00027     void mat(void *out, void **fatlink, void** longlink, void *in, double kappa, int daggerBit,
00028              QudaPrecision sPrecision, QudaPrecision gPrecision);
00029     
00030     void staggered_matpc(void *out, void **fatlink, void ** longlink, void *in, double kappa, MatPCType matpc_type, 
00031                          int daggerBit, QudaPrecision sPrecision, QudaPrecision gPrecision);
00032     void matdagmat_milc(void *out, void **fatlink, void** longlink, void *in, double mass, int dagger_bit,
00033                         QudaPrecision sPrecision, QudaPrecision gPrecision, void* tmp, MyQudaParity parity);    
00034   void mymatdagmat_milc(void *out, void **fatlink, void** longlink, void *in, double mass, int dagger_bit,
00035                           QudaPrecision sPrecision, QudaPrecision gPrecision, void* tmp, MyQudaParity parity);    
00036 
00037     
00038 
00039 #ifdef __cplusplus
00040 }
00041 #endif
00042 
00043 #endif // _QUDA_DLASH_REF_H
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines