/*D
   MPI_Cart_shift - Returns the shifted source and destination ranks, given a shift direction and amount

Synopsis:
.vb
int MPI_Cart_shift(MPI_Comm comm, int direction, int disp, int *rank_source,
                   int *rank_dest)
.ve

Input Parameters:
+ comm - communicator with Cartesian structure (handle)
. direction - coordinate dimension of shift (integer)
- disp - displacement ($> 0$: upwards shift, $< 0$: downwards shift)

Output Parameters:
+ rank_source - rank of source process (integer)
- rank_dest - rank of destination process (integer)

Notes:
The 'direction' argument is in the range '[0,n-1]' for an n-dimensional
Cartesian mesh.

.N ThreadSafe

.N Fortran

.N Errors
.N MPI_SUCCESS
.N MPI_ERR_ARG
.N MPI_ERR_COMM
.N MPI_ERR_OTHER

D*/

