buffer_x[ix] = l+iz;
buffer_x[ix] = *(l+iz);
void xchange_field2(spinor * const l){#if (defined MPI && defined PARALLELXT)   int x0, x2, ix = 0, iz=0;  static spinor buffer_x[T*LY*LZ];#endif  #ifdef MPI  MPI_Status status;  /* send the data to the neighbour on the left */  /* recieve the data from the neighbour on the right */  MPI_Sendrecv((void*)l,              1, field_time_slice_cont, g_nb_t_dn, 81,	       (void*)(l+T*LX*L*L/2), 1, field_time_slice_cont, g_nb_t_up, 81,	       g_cart_grid, &status);  /* send the data to the neighbour on the right */  /* recieve the data from the neighbour on the left */  MPI_Sendrecv((void*)(l+(T-1)*LX*L*L/2), 1, field_time_slice_cont, g_nb_t_up, 82,	       (void*)(l+(T+1)*LX*L*L/2), 1, field_time_slice_cont, g_nb_t_dn, 82,	       g_cart_grid, &status);#ifdef PARALLELXT  iz = 0;  for(x0 = 0; x0 < T; x0++) {    for(x2 = 0; x2 < LY*LZ/2; x2++) {      buffer_x[ix] = l+iz;      ix++;      iz++;    }    iz += (LX-1)*LY*LZ/2;   }  iz = (LX-1)*LY*LZ/2;  for(x0 = 0; x0 < T; x0++) {    for(x2 = 0; x2 < LY*LZ/2; x2++) {      buffer_x[ix] = l+iz;      ix++;      iz++;    }    iz += (LX-1)*LZ*LY/2;  }  /* send the data to the neighbour on the left in x direction */  /* recieve the data from the neighbour on the right in x direction */  MPI_Sendrecv(&buffer_x[0]               , 1, field_x_slice_cont, g_nb_x_dn, 91,  	       (void*)(l+(T+2)*LX*LY*LZ/2), 1, field_x_slice_cont, g_nb_x_up, 91,	       g_cart_grid, &status);  /* send the data to the neighbour on the right in x direction */  /* recieve the data from the neighbour on the left in x direction */    MPI_Sendrecv(&buffer_x[T*LY*LZ/2]                   , 1, field_x_slice_cont, g_nb_x_up, 92,	       (void*)(l+((T+2)*LX*LY*LZ + T*LY*LZ)/2), 1, field_x_slice_cont, g_nb_x_dn, 92,	       g_cart_grid, &status);#endif#endif}