Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

wfm_cmat_two_spproj.C File Reference

Routine used internally in the DiracOpWilson class. More...

#include <config.h>
#include <util/data_types.h>
#include <util/vector.h>
#include <util/wilson.h>
#include <util/error.h>
#include <sys/bgl/bgl_sys.h>
#include <comms/scu.h>

Go to the source code of this file.

Namespaces

namespace  cps

Defines

#define PSI(r, c, s)   *(psi_p +(r+2*(c+3*s)))
#define AB0(r, c, s)   *(ab0 + ab0_ptr_b +(r+2*(c+3*s)))
#define AB1(r, c, s)   *(ab1 + ab1_ptr_b +(r+2*(c+3*s)))
#define AB2(r, c, s)   *(ab2 + ab2_ptr_b +(r+2*(c+3*s)))
#define AB3(r, c, s)   *(ab3 + ab3_ptr_b +(r+2*(c+3*s)))
#define TMP0(r, c, s)   *(tmp0_spproj +(r+2*(c+3*s)))
#define TMP1(r, c, s)   *(tmp1_spproj +(r+2*(c+3*s)))
#define TMP2(r, c, s)   *(tmp2_spproj +(r+2*(c+3*s)))
#define TMP3(r, c, s)   *(tmp3_spproj +(r+2*(c+3*s)))
#define U(r, row, col, d)   *(u_p+(r+2*(row+3*(col+3*d))))
#define STR(s)   #s
#define QuadLoad(v, f)   asm volatile( "lfpdx " STR(f) ",0,%0" :: "r" (v) : "fr" STR(f) )

Functions

void wilson_dslash_spproj (double *out0, double *out1, double *out2, double *out3, double *inf)
void wilson_dslash_cmat_spproj (double *out0, double *out1, double *out2, double *out3, double *u, double *inf)
void wfm_cmat_two_spproj (IFloat *af0, IFloat *af1, IFloat *af2, IFloat *af3, IFloat *ab0, IFloat *ab1, IFloat *ab2, IFloat *ab3, IFloat *u, IFloat *psi, IFloat sign, Wilson *wilson_p, int cb)


Detailed Description

Routine used internally in the DiracOpWilson class.

Definition in file wfm_cmat_two_spproj.C.


Define Documentation

#define AB0 r,
c,
 )     *(ab0 + ab0_ptr_b +(r+2*(c+3*s)))
 

Definition at line 63 of file wfm_cmat_two_spproj.C.

#define AB1 r,
c,
 )     *(ab1 + ab1_ptr_b +(r+2*(c+3*s)))
 

Definition at line 64 of file wfm_cmat_two_spproj.C.

#define AB2 r,
c,
 )     *(ab2 + ab2_ptr_b +(r+2*(c+3*s)))
 

Definition at line 65 of file wfm_cmat_two_spproj.C.

#define AB3 r,
c,
 )     *(ab3 + ab3_ptr_b +(r+2*(c+3*s)))
 

Definition at line 66 of file wfm_cmat_two_spproj.C.

#define PSI r,
c,
 )     *(psi_p +(r+2*(c+3*s)))
 

Definition at line 62 of file wfm_cmat_two_spproj.C.

Referenced by cps::wilson_m(), and cps::wilson_mdag().

#define QuadLoad v,
 )     asm volatile( "lfpdx " STR(f) ",0,%0" :: "r" (v) : "fr" STR(f) )
 

Definition at line 76 of file wfm_cmat_two_spproj.C.

#define STR  )     #s
 

Definition at line 75 of file wfm_cmat_two_spproj.C.

#define TMP0 r,
c,
 )     *(tmp0_spproj +(r+2*(c+3*s)))
 

Definition at line 68 of file wfm_cmat_two_spproj.C.

#define TMP1 r,
c,
 )     *(tmp1_spproj +(r+2*(c+3*s)))
 

Definition at line 69 of file wfm_cmat_two_spproj.C.

#define TMP2 r,
c,
 )     *(tmp2_spproj +(r+2*(c+3*s)))
 

Definition at line 70 of file wfm_cmat_two_spproj.C.

#define TMP3 r,
c,
 )     *(tmp3_spproj +(r+2*(c+3*s)))
 

Definition at line 71 of file wfm_cmat_two_spproj.C.

#define U r,
row,
col,
 )     *(u_p+(r+2*(row+3*(col+3*d))))
 

Definition at line 73 of file wfm_cmat_two_spproj.C.

Referenced by cps::Nuc3ptStru::InsertOp(), cps::metropolis_kernel(), cps::WilsonMatrix::UdagMultSource(), cps::WilsonMatrix::UMultSource(), and cps::wilson_dslash_csmat().


Function Documentation

void cps::wfm_cmat_two_spproj IFloat af0,
IFloat af1,
IFloat af2,
IFloat af3,
IFloat ab0,
IFloat ab1,
IFloat ab2,
IFloat ab3,
IFloat u,
IFloat psi,
IFloat  sign,
Wilson *  wilson_p,
int  cb
 

Definition at line 92 of file wfm_cmat_two_spproj.C.

References cps::__attribute__(), cps::BGL_QUAD_ALIGNSIZE, cps::IFloat, cps::Wilson::offset, cps::Wilson::ptr, QuadLoad, cps::wilson_dslash_cmat_spproj(), cps::wilson_dslash_spproj(), and cps::Wilson::yztmax.

Referenced by cps::wilson_dslash().

void cps::wilson_dslash_cmat_spproj double *  out0,
double *  out1,
double *  out2,
double *  out3,
double *  u,
double *  inf
 

Definition at line 584 of file wfm_func.C.

References INF_P, OUT0_P, OUT1_P, OUT2_P, OUT3_P, QuadLoad, QuadStore, and U_P.

Referenced by cps::wfm_cmat_two_spproj().

void cps::wilson_dslash_spproj double *  out0,
double *  out1,
double *  out2,
double *  out3,
double *  inf
 

Definition at line 358 of file wfm_func.C.

References QuadLoad, QuadLoadU, QuadStore, and QuadStoreU.


Generated on Sat Oct 10 14:11:46 2009 for Columbia Physics System by  doxygen 1.3.9.1