#include "mpi.h"
void exchng1(int nx, int s, int e, double a[nx+2][e-s+1],
	     MPI_Comm comm1d, int nbrbottom, int nbrtop)
{
  MPI_Request req[4];
  int         ny = e - s + 1;

  MPI_Irecv(&a[1][0],    nx, MPI_DOUBLE, nbrbottom,
            0, comm1d, &req[0]);
  MPI_Irecv(&a[1][ny-1], nx, MPI_DOUBLE, nbrtop,
            1, comm1d, &req[1]);
  MPI_Isend(&a[1][ny-2], nx, MPI_DOUBLE, nbrtop,
            0, comm1d, &req[2]);
  MPI_Isend(&a[1][1],    nx, MPI_DOUBLE, nbrbottom,
            1, comm1d, &req[3]);
  MPI_Waitall(4, req, MPI_STATUSES_IGNORE);
}