+ spinReconstructDir0Plus(shift(u[0] * spinProjectDir0Plus(psi), BACKWARD, 0))
+ spinReconstructDir0Plus(shift(adj(u[0]) * spinProjectDir0Plus(psi), BACKWARD, 0))
void dslash_2d_plus(LatticeFermion& chi, 		    const multi1d<LatticeColorMatrix>& u, 		    const LatticeFermion& psi,		    int cb){  // NOTE: this is unrolled for 2 dimensions. Tests or some preproc hooks needed  // for other Nd. Also computes only Dslash and not Dslash_dag    /*     F    *   a2  (x)  :=  U  (x) (1 - isign gamma  ) psi(x)   *     mu          mu                    mu   */  /*     B           +   *   a2  (x)  :=  U  (x-mu) (1 + isign gamma  ) psi(x-mu)   *     mu          mu                       mu   */  // Recontruct the bottom two spinor components from the top two  /*                        F           B   *   chi(x) :=  sum_mu  a2  (x)  +  a2  (x)   *                        mu          mu   */  chi[rb[cb]] = spinReconstructDir0Minus(u[0] * shift(spinProjectDir0Minus(psi), FORWARD, 0))              + spinReconstructDir0Plus(shift(u[0] * spinProjectDir0Plus(psi), BACKWARD, 0))              + spinReconstructDir1Minus(u[1] * shift(spinProjectDir1Minus(psi), FORWARD, 1))              + spinReconstructDir1Plus(shift(u[1] * spinProjectDir1Plus(psi), BACKWARD, 1));}