58 errorQuda(
"DiracTwistedMass::twistedApply method for flavor doublet is not implemented..\n");
104 int flv_stride = in.
Volume()/4;
136 errorQuda(
"Preconditioned solution requires a preconditioned solve_type");
161 if (&dirac !=
this) {
178 checkParitySpinor(in, out);
179 checkSpinorAlias(in, out);
196 flops += 1392ll*in.
Volume();
198 bool reset = newTmp(&
tmp2, in);
208 flops += 72ll*in.
Volume();
213 deleteTmp(&
tmp2, reset);
218 double b = 2.0 *
kappa * epsilon;
220 double d = (1.0 + a*a - b*b);
221 if(d <= 0)
errorQuda(
"Invalid twisted mass parameter\n");
228 int flv_stride = in.
Volume()/2;
235 flops += (1320+72+24)*in.
Volume();
239 bool reset = newTmp(&doubletTmp, in);
245 flops += 1416ll*in.
Volume();
247 deleteTmp(&doubletTmp, reset);
256 checkParitySpinor(in, out);
257 checkSpinorAlias(in, out);
272 flops += 1416ll*in.
Volume();
274 bool reset = newTmp(&
tmp1, in);
282 flops += 96ll*in.
Volume();
287 deleteTmp(&
tmp1, reset);
292 double b = 2.0 *
kappa * epsilon;
294 double d = (1.0 + a*a - b*b);
295 if(d <= 0)
errorQuda(
"Invalid twisted mass parameter\n");
302 int flv_stride = in.
Volume()/2;
310 flops += 1440ll*in.
Volume();
314 bool reset = newTmp(&doubletTmp, in);
320 flops += 1440ll*in.
Volume();
321 deleteTmp(&doubletTmp, reset);
364 double a = !
dagger ? -2.0 * kappa *
mu : 2.0 * kappa *
mu;
365 double b = -2.0 * kappa *
epsilon;
369 bool reset_asym =
newTmp(&asymTmp, in);
448 double d = (1.0 + a*a - bb*bb);
449 if(d <= 0)
errorQuda(
"Invalid twisted mass parameter\n");
460 int flv_stride = src->
Volume()/2;
478 int flv_stride = src->
Volume()/2;
495 int flv_stride = src->
Volume()/2;
512 int flv_stride = src->
Volume()/2;
560 double d = (1.0 + a*a - bb*bb);
561 if(d <= 0)
errorQuda(
"Invalid twisted mass parameter\n");