8 template <
typename ValueType, QudaGammaBasis basis,
int dir>
11 static constexpr
int ndim = 4;
25 __device__ __host__
inline Gamma() { }
28 __device__ __host__
inline int getcol(
int row)
const {
98 __device__ __host__
inline complex<ValueType>
getelem(
int row)
const {
99 complex<ValueType> I(0,1);
209 __device__ __host__
inline complex<ValueType>
getelem(
int row,
int col)
const {
215 __device__ __host__
inline complex<ValueType>
getrowelem(
int row,
int &col)
const {
221 __device__ __host__
inline complex<ValueType>
apply(
int row,
const complex<ValueType> &a)
const {
222 complex<ValueType> I(0,1);
227 case 0:
case 1:
return complex<ValueType>(-a.imag(), a.real());
228 case 2:
case 3:
return complex<ValueType>(a.imag(), -a.real());
233 case 0:
case 3:
return -a;
234 case 1:
case 2:
return a;
239 case 0:
case 3:
return complex<ValueType>(-a.imag(), a.real());
240 case 1:
case 2:
return complex<ValueType>(a.imag(), -a.real());
245 case 0:
case 1:
case 2:
case 3:
return a;
250 case 0:
case 1:
return complex<ValueType>(-a.real(), -a.imag());
251 case 2:
case 3:
return a;
259 case 0:
case 1:
return complex<ValueType>(-a.imag(), a.real());
260 case 2:
case 3:
return complex<ValueType>(a.imag(), -a.real());
265 case 0:
case 3:
return a;
266 case 1:
case 2:
return -a;
271 case 0:
case 3:
return complex<ValueType>(-a.imag(), a.real());
272 case 1:
case 2:
return complex<ValueType>(a.imag(), -a.real());
277 case 0:
case 1:
return a;
278 case 2:
case 3:
return -a;
283 case 0:
case 1:
case 2:
case 3:
return a;
292 inline constexpr
int Dir()
const {
return dir; }
static constexpr int ndim
__device__ __host__ Gamma()
constexpr int Dir() const
__device__ __host__ complex< ValueType > apply(int row, const complex< ValueType > &a) const
__device__ __host__ complex< ValueType > getrowelem(int row, int &col) const
__device__ __host__ Gamma(const Gamma &g)
__device__ __host__ int getcol(int row) const
__device__ __host__ complex< ValueType > getelem(int row, int col) const
__device__ __host__ complex< ValueType > getelem(int row) const