Beispiel #1
0
static void
q_CL_D_writer(const int p[], int c, int d, int re_im, double v, void *e)
{
    CL_D_env *env = e;
    int i = QDP_index_L(env->lat, p);
    QLA_D3_DiracFermion *f = env->f;
 
    if (re_im == 0) {
        QLA_real(QLA_elem_D(f[i], c, d)) = v;
    } else {
        QLA_imag(QLA_elem_D(f[i], c, d)) = v;
    }
}
Beispiel #2
0
static void
f_writer(const int pos[4], int c, int d, int re_im, double v, void *env)
{
    int n = QDP_node_number(pos);
    int i = QDP_index(pos);
    QDP_DiracFermion *f = (QDP_DiracFermion *)env;
    QLA_DiracFermion *df = QDP_expose_D(f);

    assert(n == self);
    if (re_im == 0) {
        QLA_real(QLA_elem_D(df[i], c, d)) = v;
    } else {
        QLA_imag(QLA_elem_D(df[i], c, d)) = v;
    }
    QDP_reset_D(f);
}
Beispiel #3
0
static double
q_CL_D_reader(const int p[], int c, int d, int re_im, void *e)
{
    CL_D_env *env = e;
    int i = QDP_index_L(env->lat, p);
    QLA_D3_DiracFermion *f = env->f;
    QLA_D_Real xx;

    if (re_im == 0) {
        QLA_r_eq_Re_c(xx, QLA_elem_D(f[i], c, d));
    } else {
        QLA_r_eq_Im_c(xx, QLA_elem_D(f[i], c, d));
    }

    return xx;
}
Beispiel #4
0
static double
f_reader(const int pos[NDIM], int c, int d, int re_im, void *env)
{
    QLA_Real xx;
    int n = QDP_node_number(pos);
    int i = QDP_index(pos);
    QDP_DiracFermion *f = (QDP_DiracFermion *)env;
    QLA_DiracFermion *df = QDP_expose_D(f);

    assert(n == self);
    if (re_im == 0) {
        QLA_r_eq_Re_c(xx, QLA_elem_D(df[i], c, d));
    } else {
        QLA_r_eq_Im_c(xx, QLA_elem_D(df[i], c, d));
    }
    QDP_reset_D(f);
    return xx;
}
void
set_D(QLA_DiracFermion *d, int i)
{
  for(int j=0; j<QLA_Nc; j++) {
    for(int k=0; k<QLA_Ns; k++) {
      QLA_c_eq_r_plus_ir(QLA_elem_D(*d,j,k), (j+4)*(k+1)+cos(i), (j+4)*(k+1)+sin(i));
    }
  }
}