/* Process ID sends H[N] to Process ID+1 which stores it as H[0]; */ if ( id < p - 1 ) { send_tag = 1; recv_tag = 1; MPI_Sendrecv ( &h[n], 1, MPI_DOUBLE, id, send_tag, &h[0], 1, MPI_DOUBLE, id+1, recv_tag, MPI_COMM_WORLD, status ); /* Process ID+1 sends H[1] to process ID which stores it as H[N+1]; */ send_tag = 2; recv_tag = 2; MPI_Sendrecv ( &h[n+1], 1, MPI_DOUBLE, id+1, send_tag, &h[1], 1, MPI_DOUBLE, id, recv_tag, MPI_COMM_WORLD, status ); }